Created
January 29, 2026 17:57
-
-
Save stympy/ff3eb0e772b2c711c55c2af51a0330e9 to your computer and use it in GitHub Desktop.
Honeybadger Insights dashboard for ActiveJob
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| title: ActiveJob | |
| widgets: | |
| - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 | |
| type: insights_vis | |
| grid: | |
| x: 0 | |
| "y": 0 | |
| w: 2 | |
| h: 3 | |
| config: | |
| query: |- | |
| filter event_type::str == "perform.active_job" | |
| | stats toHumanString(count()) as count by status::str | |
| | sort status | |
| vis: | |
| view: billboard | |
| chart_config: | |
| groupType: events | |
| titleField: status | |
| valueField: count | |
| - id: b2c3d4e5-f6a7-8901-bcde-f23456789012 | |
| type: insights_vis | |
| grid: | |
| x: 2 | |
| "y": 0 | |
| w: 10 | |
| h: 3 | |
| presentation: | |
| title: Job counts | |
| subtitle: By job class | |
| config: | |
| query: |- | |
| filter event_type::str == "perform.active_job" | |
| | stats count() by bin(), job_class::str | |
| vis: | |
| view: line | |
| chart_config: | |
| xField: bin() | |
| yField: count() | |
| zField: job_class | |
| groupType: events | |
| - id: c3d4e5f6-a7b8-9012-cdef-345678901234 | |
| type: insights_vis | |
| grid: | |
| x: 0 | |
| "y": 3 | |
| w: 6 | |
| h: 3 | |
| presentation: | |
| title: Job durations | |
| subtitle: Averaged by job class | |
| config: | |
| query: |- | |
| filter event_type::str == "perform.active_job" | |
| | stats avg(duration::float) as avgDuration by bin(), job_class::str | |
| vis: | |
| view: line | |
| chart_config: | |
| xField: bin() | |
| yField: avgDuration | |
| zField: job_class | |
| groupType: events | |
| yFieldUnit: milliseconds | |
| - id: d4e5f6a7-b8c9-0123-defa-456789012345 | |
| type: insights_vis | |
| grid: | |
| x: 0 | |
| "y": 6 | |
| w: 6 | |
| h: 4 | |
| presentation: | |
| title: Job stats | |
| config: | |
| query: |- | |
| filter event_type::str == "perform.active_job" | |
| | stats | |
| toHumanString(count(status::str == "success")) as Successes, | |
| toHumanString(count(status::str == "failure")) as Failures, | |
| toHumanString(sum(duration::float), "milliseconds") as totalTime, | |
| toHumanString(avg(duration::float), "milliseconds") as avgTime | |
| by job_class::str as `Job Class` | |
| | only `Job Class`, Successes, Failures, totalTime as `Total execution time`, avgTime as `Avg execution time` | |
| vis: | |
| view: table | |
| - id: e5f6a7b8-c9d0-1234-efab-567890123456 | |
| type: insights_vis | |
| grid: | |
| x: 6 | |
| "y": 3 | |
| w: 6 | |
| h: 3 | |
| presentation: | |
| title: Duration distributions | |
| subtitle: By job class | |
| config: | |
| query: |- | |
| fields floor(duration::float / 100) * 100 as `Time Bin` | |
| | filter event_type::str == "perform.active_job" | |
| | stats count() as `Duration Count` by `Time Bin`, job_class::str | |
| | limit 500 | |
| vis: | |
| view: histogram | |
| chart_config: | |
| xField: Time Bin | |
| yField: Duration Count | |
| zField: job_class | |
| xFieldUnit: milliseconds | |
| - id: f6a7b8c9-d0e1-2345-fabc-678901234567 | |
| type: insights_vis | |
| grid: | |
| x: 6 | |
| "y": 6 | |
| w: 6 | |
| h: 4 | |
| presentation: | |
| title: 10 slowest job runs | |
| config: | |
| query: | | |
| fields | |
| @ts, | |
| job_class::str as `Job Class`, | |
| queue_name::str as `Queue`, | |
| status::str as `Status`, | |
| toHumanString(duration::float, "milliseconds") as `Duration` | |
| | sort duration::float desc | |
| | filter event_type::str == "perform.active_job" | |
| | limit 10 | |
| vis: | |
| view: table |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment