Reporting helpers for queue and job observability.
Initial implementation scans in-memory Mnesia tables — suitable for
development and moderate job volumes. See performance notes in
docs/reporting.md.
Examples
{:ok, queues} = Kathikon.Report.queue_summary()
{:ok, counts} = Kathikon.Report.job_counts()
{:ok, %{count: n}} = Kathikon.Report.dead_letter_summary()
Summary
Functions
Summarizes dead-letter queue jobs.
Summarizes failures by worker module.
Returns global job counts grouped by state.
Returns average runtime for completed jobs (microseconds).
Summarizes each queue with job counts by state.
Returns completed job counts per queue (throughput proxy).
Functions
Summarizes dead-letter queue jobs.
Options
:queue— filter by queue
Examples
{:ok, %{count: count, jobs: jobs}} = Kathikon.Report.dead_letter_summary()
Summarizes failures by worker module.
Examples
{:ok, summary} = Kathikon.Report.failure_summary()
hd(summary)
#=> %{worker: MyApp.FailWorker, count: 3, last_error: "..."}
Returns global job counts grouped by state.
Examples
{:ok, counts} = Kathikon.Report.job_counts()
counts[:completed]
Returns average runtime for completed jobs (microseconds).
Examples
{:ok, %{samples: n, average_microseconds: avg}} = Kathikon.Report.latency()
Summarizes each queue with job counts by state.
Examples
{:ok, summaries} = Kathikon.Report.queue_summary()
hd(summaries)
#=> %{queue: :default, paused: false, counts: %{available: 2, completed: 10}}
Returns completed job counts per queue (throughput proxy).
Examples
{:ok, throughput} = Kathikon.Report.throughput()
#=> [%{queue: :default, completed: 42}]