{"html_url": "https://github.com/simonw/datasette/issues/815#issuecomment-740385032", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/815", "id": 740385032, "node_id": "MDEyOklzc3VlQ29tbWVudDc0MDM4NTAzMg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-12-08T05:26:09Z", "updated_at": "2020-12-08T05:26:16Z", "author_association": "OWNER", "body": "Sure! It's a bit of a fiddle one - I've not found an approach that I like, but I also haven't thought about it since June. I'd love to see what you come up with!", "reactions": "{\"total_count\": 1, \"+1\": 0, \"-1\": 0, \"laugh\": 1, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 634663505, "label": "Group permission checks by request on /-/permissions debug page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/815#issuecomment-740383884", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/815", "id": 740383884, "node_id": "MDEyOklzc3VlQ29tbWVudDc0MDM4Mzg4NA==", "user": {"value": 11761973, "label": "sturzl"}, "created_at": "2020-12-08T05:23:18Z", "updated_at": "2020-12-08T05:23:18Z", "author_association": "NONE", "body": "hey! I'd like to take a look at this if you're open to a PR for it", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 634663505, "label": "Group permission checks by request on /-/permissions debug page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/815#issuecomment-640673405", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/815", "id": 640673405, "node_id": "MDEyOklzc3VlQ29tbWVudDY0MDY3MzQwNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-08T14:41:55Z", "updated_at": "2020-06-08T14:41:55Z", "author_association": "OWNER", "body": "I want to be able to display the HTTP path and verb - `GET /fixtures`, `POST /fixtures/myquery` etc. ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 634663505, "label": "Group permission checks by request on /-/permissions debug page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/815#issuecomment-640673138", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/815", "id": 640673138, "node_id": "MDEyOklzc3VlQ29tbWVudDY0MDY3MzEzOA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-08T14:41:24Z", "updated_at": "2020-06-08T14:41:24Z", "author_association": "OWNER", "body": "I could reuse that `get_task_id()` function though (I can move it to utils).", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 634663505, "label": "Group permission checks by request on /-/permissions debug page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/815#issuecomment-640672540", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/815", "id": 640672540, "node_id": "MDEyOklzc3VlQ29tbWVudDY0MDY3MjU0MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-08T14:40:22Z", "updated_at": "2020-06-08T14:40:22Z", "author_association": "OWNER", "body": "Here's the current tracer mechanism. Note that it captures a stacktrace (which is expensive) - but only if the tracer system has been enabled for a request.\r\n\r\nhttps://github.com/simonw/datasette/blob/1c063fae9dba70f70244db010d55a18846640f07/datasette/tracer.py#L27-L51\r\n\r\nFor permissions checks I want to ALWAYS track those calls, not just on requests that have opted in.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 634663505, "label": "Group permission checks by request on /-/permissions debug page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/815#issuecomment-640671398", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/815", "id": 640671398, "node_id": "MDEyOklzc3VlQ29tbWVudDY0MDY3MTM5OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-08T14:38:20Z", "updated_at": "2020-06-08T14:38:20Z", "author_association": "OWNER", "body": "But `ds._permission_checks` is also used for unit tests.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 634663505, "label": "Group permission checks by request on /-/permissions debug page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/815#issuecomment-640671241", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/815", "id": 640671241, "node_id": "MDEyOklzc3VlQ29tbWVudDY0MDY3MTI0MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-08T14:38:04Z", "updated_at": "2020-06-08T14:38:04Z", "author_association": "OWNER", "body": "Alternative to a correlation ID would be to use the existing `AsgiTracer` / `capture_traces` mechanism. That's probably smarter.\r\n\r\nIt could even start logging SQL queries to an in-memory deque too, so a debug tool could show you queries executed by other requests!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 634663505, "label": "Group permission checks by request on /-/permissions debug page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/815#issuecomment-640656143", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/815", "id": 640656143, "node_id": "MDEyOklzc3VlQ29tbWVudDY0MDY1NjE0Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-08T14:25:48Z", "updated_at": "2020-06-08T14:26:45Z", "author_association": "OWNER", "body": "Will we need a request correlation ID for this? Multiple asyncio threads can write things to the `ds._permission_checks` deque at the same time.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 634663505, "label": "Group permission checks by request on /-/permissions debug page"}, "performed_via_github_app": null}