Dashboard
Latest job runs
Generated 2026-05-30 21:23 UTC
Previous job runs
| Job | Status | Started | Finished | Duration | Details |
|---|---|---|---|---|---|
| fetcher-realtime | success | 2026-05-30 16:34:26 | 2026-05-30 16:34:42 | 16597 ms |
Show process log (16 events)[
{
"data": {
"endpoints": [
"parking-spots",
"parking-sites",
"sources"
],
"refresh_seconds": 600
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:34:26.310471+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:34:26.325737+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:34:27.630462+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:34:27.630627+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:34:37.265729+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:34:37.266054+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:34:37.343040+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:34:37.343192+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:34:37.520383+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:34:37.520598+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:34:39.849002+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:34:39.849259+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:34:39.864866+00:00"
},
{
"job_name": "fetcher-realtime",
"message": "refreshing active realtime parking entities",
"status": "running",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:34:39.865062+00:00"
},
{
"data": {
"parking_site_record_count": 512,
"parking_spot_record_count": 1379
},
"job_name": "fetcher-realtime",
"message": "active realtime parking entities refreshed",
"status": "success",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:34:42.903553+00:00"
},
{
"data": {
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 16597
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:34:42.906650+00:00"
}
]
Show run details{
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 16597,
"events": [
{
"data": {
"endpoints": [
"parking-spots",
"parking-sites",
"sources"
],
"refresh_seconds": 600
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:34:26.310471+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:34:26.325737+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:34:27.630462+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:34:27.630627+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:34:37.265729+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:34:37.266054+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:34:37.343040+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:34:37.343192+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:34:37.520383+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:34:37.520598+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:34:39.849002+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:34:39.849259+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:34:39.864866+00:00"
},
{
"job_name": "fetcher-realtime",
"message": "refreshing active realtime parking entities",
"status": "running",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:34:39.865062+00:00"
},
{
"data": {
"parking_site_record_count": 512,
"parking_spot_record_count": 1379
},
"job_name": "fetcher-realtime",
"message": "active realtime parking entities refreshed",
"status": "success",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:34:42.903553+00:00"
},
{
"data": {
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 16597
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:34:42.906650+00:00"
}
],
"refresh_seconds": 600
}
|
| fetcher-realtime | success | 2026-05-30 16:24:08 | 2026-05-30 16:24:26 | 17431 ms |
Show process log (16 events)[
{
"data": {
"endpoints": [
"parking-spots",
"parking-sites",
"sources"
],
"refresh_seconds": 600
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:24:08.815448+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:24:08.831332+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:24:10.572752+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:24:10.572959+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:24:20.815318+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:24:20.815541+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:24:20.876694+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:24:20.877046+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:24:21.044967+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:24:21.045177+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:24:23.279270+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:24:23.279623+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:24:23.291948+00:00"
},
{
"job_name": "fetcher-realtime",
"message": "refreshing active realtime parking entities",
"status": "running",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:24:23.292284+00:00"
},
{
"data": {
"parking_site_record_count": 512,
"parking_spot_record_count": 1379
},
"job_name": "fetcher-realtime",
"message": "active realtime parking entities refreshed",
"status": "success",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:24:26.243441+00:00"
},
{
"data": {
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 17431
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:24:26.245398+00:00"
}
]
Show run details{
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 17431,
"events": [
{
"data": {
"endpoints": [
"parking-spots",
"parking-sites",
"sources"
],
"refresh_seconds": 600
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:24:08.815448+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:24:08.831332+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:24:10.572752+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:24:10.572959+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:24:20.815318+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:24:20.815541+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:24:20.876694+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:24:20.877046+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:24:21.044967+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:24:21.045177+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:24:23.279270+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:24:23.279623+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:24:23.291948+00:00"
},
{
"job_name": "fetcher-realtime",
"message": "refreshing active realtime parking entities",
"status": "running",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:24:23.292284+00:00"
},
{
"data": {
"parking_site_record_count": 512,
"parking_spot_record_count": 1379
},
"job_name": "fetcher-realtime",
"message": "active realtime parking entities refreshed",
"status": "success",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:24:26.243441+00:00"
},
{
"data": {
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 17431
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:24:26.245398+00:00"
}
],
"refresh_seconds": 600
}
|
| reporter | success | 2026-05-30 16:13:51 | 2026-05-30 16:13:56 | 4439 ms |
Show process log (9 events)[
{
"job_name": "reporter",
"message": "report cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:13:51.987535+00:00"
},
{
"data": {
"search_query": ""
},
"job_name": "reporter",
"message": "building reporter dashboard context",
"status": "running",
"step": "context.build",
"timestamp": "2026-05-30T16:13:52.003529+00:00"
},
{
"data": {
"dashboard_metric_count": 3,
"metric_count": 4
},
"job_name": "reporter",
"message": "latest quality metrics loaded",
"status": "success",
"step": "metrics.load",
"timestamp": "2026-05-30T16:13:52.024815+00:00"
},
{
"data": {
"incident_count": 0,
"provider_count": 0
},
"job_name": "reporter",
"message": "incident memory refreshed",
"status": "success",
"step": "incidents.refresh",
"timestamp": "2026-05-30T16:13:56.220320+00:00"
},
{
"data": {
"reason": "no_provider_summaries"
},
"job_name": "reporter",
"message": "llm recommendation refresh skipped",
"status": "success",
"step": "llm.refresh",
"timestamp": "2026-05-30T16:13:56.220536+00:00"
},
{
"data": {
"llm_count": 0
},
"job_name": "reporter",
"message": "recommendations prepared",
"status": "success",
"step": "recommendations.load",
"timestamp": "2026-05-30T16:13:56.233662+00:00"
},
{
"job_name": "reporter",
"message": "reporter dashboard context built",
"status": "success",
"step": "context.build",
"timestamp": "2026-05-30T16:13:56.312504+00:00"
},
{
"data": {
"output": "/app/reports/index.html",
"template": "index.html"
},
"job_name": "reporter",
"message": "report rendered",
"status": "success",
"step": "report.render",
"timestamp": "2026-05-30T16:13:56.426649+00:00"
},
{
"data": {
"duration_ms": 4439
},
"job_name": "reporter",
"message": "report cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:13:56.427096+00:00"
}
]
Show run details{
"duration_ms": 4439,
"events": [
{
"job_name": "reporter",
"message": "report cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:13:51.987535+00:00"
},
{
"data": {
"search_query": ""
},
"job_name": "reporter",
"message": "building reporter dashboard context",
"status": "running",
"step": "context.build",
"timestamp": "2026-05-30T16:13:52.003529+00:00"
},
{
"data": {
"dashboard_metric_count": 3,
"metric_count": 4
},
"job_name": "reporter",
"message": "latest quality metrics loaded",
"status": "success",
"step": "metrics.load",
"timestamp": "2026-05-30T16:13:52.024815+00:00"
},
{
"data": {
"incident_count": 0,
"provider_count": 0
},
"job_name": "reporter",
"message": "incident memory refreshed",
"status": "success",
"step": "incidents.refresh",
"timestamp": "2026-05-30T16:13:56.220320+00:00"
},
{
"data": {
"reason": "no_provider_summaries"
},
"job_name": "reporter",
"message": "llm recommendation refresh skipped",
"status": "success",
"step": "llm.refresh",
"timestamp": "2026-05-30T16:13:56.220536+00:00"
},
{
"data": {
"llm_count": 0
},
"job_name": "reporter",
"message": "recommendations prepared",
"status": "success",
"step": "recommendations.load",
"timestamp": "2026-05-30T16:13:56.233662+00:00"
},
{
"job_name": "reporter",
"message": "reporter dashboard context built",
"status": "success",
"step": "context.build",
"timestamp": "2026-05-30T16:13:56.312504+00:00"
},
{
"data": {
"output": "/app/reports/index.html",
"template": "index.html"
},
"job_name": "reporter",
"message": "report rendered",
"status": "success",
"step": "report.render",
"timestamp": "2026-05-30T16:13:56.426649+00:00"
},
{
"data": {
"duration_ms": 4439
},
"job_name": "reporter",
"message": "report cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:13:56.427096+00:00"
}
],
"output_name": "index.html",
"refresh_seconds": 60,
"report_path": "/app/reports/index.html"
}
|
| reporter | success | 2026-05-30 16:13:51 | 2026-05-30 16:13:56 | 4438 ms |
Show process log (9 events)[
{
"job_name": "reporter",
"message": "report cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:13:51.987435+00:00"
},
{
"data": {
"search_query": ""
},
"job_name": "reporter",
"message": "building reporter dashboard context",
"status": "running",
"step": "context.build",
"timestamp": "2026-05-30T16:13:51.998981+00:00"
},
{
"data": {
"dashboard_metric_count": 3,
"metric_count": 4
},
"job_name": "reporter",
"message": "latest quality metrics loaded",
"status": "success",
"step": "metrics.load",
"timestamp": "2026-05-30T16:13:52.021842+00:00"
},
{
"data": {
"incident_count": 0,
"provider_count": 0
},
"job_name": "reporter",
"message": "incident memory refreshed",
"status": "success",
"step": "incidents.refresh",
"timestamp": "2026-05-30T16:13:56.229615+00:00"
},
{
"data": {
"reason": "no_provider_summaries"
},
"job_name": "reporter",
"message": "llm recommendation refresh skipped",
"status": "success",
"step": "llm.refresh",
"timestamp": "2026-05-30T16:13:56.229820+00:00"
},
{
"data": {
"llm_count": 0
},
"job_name": "reporter",
"message": "recommendations prepared",
"status": "success",
"step": "recommendations.load",
"timestamp": "2026-05-30T16:13:56.258618+00:00"
},
{
"job_name": "reporter",
"message": "reporter dashboard context built",
"status": "success",
"step": "context.build",
"timestamp": "2026-05-30T16:13:56.358479+00:00"
},
{
"data": {
"output": "/app/reports/index.html",
"template": "index.html"
},
"job_name": "reporter",
"message": "report rendered",
"status": "success",
"step": "report.render",
"timestamp": "2026-05-30T16:13:56.425834+00:00"
},
{
"data": {
"duration_ms": 4438
},
"job_name": "reporter",
"message": "report cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:13:56.426241+00:00"
}
]
Show run details{
"duration_ms": 4438,
"events": [
{
"job_name": "reporter",
"message": "report cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:13:51.987435+00:00"
},
{
"data": {
"search_query": ""
},
"job_name": "reporter",
"message": "building reporter dashboard context",
"status": "running",
"step": "context.build",
"timestamp": "2026-05-30T16:13:51.998981+00:00"
},
{
"data": {
"dashboard_metric_count": 3,
"metric_count": 4
},
"job_name": "reporter",
"message": "latest quality metrics loaded",
"status": "success",
"step": "metrics.load",
"timestamp": "2026-05-30T16:13:52.021842+00:00"
},
{
"data": {
"incident_count": 0,
"provider_count": 0
},
"job_name": "reporter",
"message": "incident memory refreshed",
"status": "success",
"step": "incidents.refresh",
"timestamp": "2026-05-30T16:13:56.229615+00:00"
},
{
"data": {
"reason": "no_provider_summaries"
},
"job_name": "reporter",
"message": "llm recommendation refresh skipped",
"status": "success",
"step": "llm.refresh",
"timestamp": "2026-05-30T16:13:56.229820+00:00"
},
{
"data": {
"llm_count": 0
},
"job_name": "reporter",
"message": "recommendations prepared",
"status": "success",
"step": "recommendations.load",
"timestamp": "2026-05-30T16:13:56.258618+00:00"
},
{
"job_name": "reporter",
"message": "reporter dashboard context built",
"status": "success",
"step": "context.build",
"timestamp": "2026-05-30T16:13:56.358479+00:00"
},
{
"data": {
"output": "/app/reports/index.html",
"template": "index.html"
},
"job_name": "reporter",
"message": "report rendered",
"status": "success",
"step": "report.render",
"timestamp": "2026-05-30T16:13:56.425834+00:00"
},
{
"data": {
"duration_ms": 4438
},
"job_name": "reporter",
"message": "report cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:13:56.426241+00:00"
}
],
"output_name": "index.html",
"refresh_seconds": 60,
"report_path": "/app/reports/index.html"
}
|
| analyzer-realtime | running | 2026-05-30 16:13:50 | - | - ms | - |
| analyzer | running | 2026-05-30 16:13:50 | - | - ms | - |
| fetcher-realtime | success | 2026-05-30 16:13:50 | 2026-05-30 16:14:08 | 18095 ms |
Show process log (16 events)[
{
"data": {
"endpoints": [
"parking-spots",
"parking-sites",
"sources"
],
"refresh_seconds": 600
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:13:50.658532+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:13:50.681581+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:13:51.873955+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:13:51.874112+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:14:01.792989+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:14:01.793179+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:14:02.473894+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:02.474036+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:02.648225+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:02.648406+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:05.051257+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:05.051477+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:05.069687+00:00"
},
{
"job_name": "fetcher-realtime",
"message": "refreshing active realtime parking entities",
"status": "running",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:14:05.069959+00:00"
},
{
"data": {
"parking_site_record_count": 512,
"parking_spot_record_count": 1379
},
"job_name": "fetcher-realtime",
"message": "active realtime parking entities refreshed",
"status": "success",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:14:08.751999+00:00"
},
{
"data": {
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 18095
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:14:08.754013+00:00"
}
]
Show run details{
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 18095,
"events": [
{
"data": {
"endpoints": [
"parking-spots",
"parking-sites",
"sources"
],
"refresh_seconds": 600
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:13:50.658532+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:13:50.681581+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:13:51.873955+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:13:51.874112+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:14:01.792989+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:14:01.793179+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:14:02.473894+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:02.474036+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:02.648225+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:02.648406+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:05.051257+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:05.051477+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:05.069687+00:00"
},
{
"job_name": "fetcher-realtime",
"message": "refreshing active realtime parking entities",
"status": "running",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:14:05.069959+00:00"
},
{
"data": {
"parking_site_record_count": 512,
"parking_spot_record_count": 1379
},
"job_name": "fetcher-realtime",
"message": "active realtime parking entities refreshed",
"status": "success",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:14:08.751999+00:00"
},
{
"data": {
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 18095
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:14:08.754013+00:00"
}
],
"refresh_seconds": 600
}
|
| fetcher | success | 2026-05-30 16:13:50 | 2026-05-30 16:14:07 | 16557 ms |
Show process log (16 events)[
{
"data": {
"endpoints": [
"parking-spots",
"parking-sites",
"sources"
]
},
"job_name": "fetcher",
"message": "fetch cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:13:50.655933+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:13:50.682376+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:13:52.135052+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:13:52.135359+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:14:00.900972+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:14:00.901361+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:14:00.957846+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:00.958070+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:01.794646+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:01.794834+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:04.041131+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:04.041339+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:04.058815+00:00"
},
{
"job_name": "fetcher",
"message": "refreshing active realtime parking entities",
"status": "running",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:14:04.059005+00:00"
},
{
"data": {
"parking_site_record_count": 512,
"parking_spot_record_count": 1379
},
"job_name": "fetcher",
"message": "active realtime parking entities refreshed",
"status": "success",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:14:07.211261+00:00"
},
{
"data": {
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 16557
},
"job_name": "fetcher",
"message": "fetch cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:14:07.213223+00:00"
}
]
Show run details{
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 16557,
"events": [
{
"data": {
"endpoints": [
"parking-spots",
"parking-sites",
"sources"
]
},
"job_name": "fetcher",
"message": "fetch cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:13:50.655933+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:13:50.682376+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:13:52.135052+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:13:52.135359+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:14:00.900972+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:14:00.901361+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:14:00.957846+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:00.958070+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:01.794646+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:01.794834+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:04.041131+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:04.041339+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:14:04.058815+00:00"
},
{
"job_name": "fetcher",
"message": "refreshing active realtime parking entities",
"status": "running",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:14:04.059005+00:00"
},
{
"data": {
"parking_site_record_count": 512,
"parking_spot_record_count": 1379
},
"job_name": "fetcher",
"message": "active realtime parking entities refreshed",
"status": "success",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:14:07.211261+00:00"
},
{
"data": {
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 16557
},
"job_name": "fetcher",
"message": "fetch cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:14:07.213223+00:00"
}
]
}
|
| fetcher-realtime | success | 2026-05-30 16:05:06 | 2026-05-30 16:05:22 | 15849 ms |
Show process log (16 events)[
{
"data": {
"endpoints": [
"parking-spots",
"parking-sites",
"sources"
],
"refresh_seconds": 600
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:05:06.197250+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:05:06.210103+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:05:07.200107+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:05:07.200280+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:05:16.600183+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:05:16.600472+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:05:16.661955+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:05:16.662178+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:05:16.875304+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:05:16.875507+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:05:19.194254+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:05:19.194748+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:05:19.208833+00:00"
},
{
"job_name": "fetcher-realtime",
"message": "refreshing active realtime parking entities",
"status": "running",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:05:19.209058+00:00"
},
{
"data": {
"parking_site_record_count": 512,
"parking_spot_record_count": 1379
},
"job_name": "fetcher-realtime",
"message": "active realtime parking entities refreshed",
"status": "success",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:05:22.041656+00:00"
},
{
"data": {
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 15849
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:05:22.044336+00:00"
}
]
Show run details{
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 15849,
"events": [
{
"data": {
"endpoints": [
"parking-spots",
"parking-sites",
"sources"
],
"refresh_seconds": 600
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T16:05:06.197250+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:05:06.210103+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:05:07.200107+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:05:07.200280+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:05:16.600183+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "fetching endpoint payload",
"status": "running",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:05:16.600472+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload fetched",
"status": "success",
"step": "endpoint.fetch",
"timestamp": "2026-05-30T16:05:16.661955+00:00"
},
{
"data": {
"endpoint": "parking-spots"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:05:16.662178+00:00"
},
{
"data": {
"endpoint": "parking-spots",
"record_count": 3663
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:05:16.875304+00:00"
},
{
"data": {
"endpoint": "parking-sites"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:05:16.875507+00:00"
},
{
"data": {
"endpoint": "parking-sites",
"record_count": 28304
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:05:19.194254+00:00"
},
{
"data": {
"endpoint": "sources"
},
"job_name": "fetcher-realtime",
"message": "persisting endpoint payload",
"status": "running",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:05:19.194748+00:00"
},
{
"data": {
"endpoint": "sources",
"record_count": 67
},
"job_name": "fetcher-realtime",
"message": "endpoint payload persisted",
"status": "success",
"step": "endpoint.persist",
"timestamp": "2026-05-30T16:05:19.208833+00:00"
},
{
"job_name": "fetcher-realtime",
"message": "refreshing active realtime parking entities",
"status": "running",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:05:19.209058+00:00"
},
{
"data": {
"parking_site_record_count": 512,
"parking_spot_record_count": 1379
},
"job_name": "fetcher-realtime",
"message": "active realtime parking entities refreshed",
"status": "success",
"step": "endpoint.refresh_realtime_sites",
"timestamp": "2026-05-30T16:05:22.041656+00:00"
},
{
"data": {
"counts": {
"parking-sites": 28304,
"parking-sites-realtime-active": 512,
"parking-spots": 3663,
"parking-spots-realtime-active": 1379,
"sources": 67
},
"duration_ms": 15849
},
"job_name": "fetcher-realtime",
"message": "realtime fetch cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T16:05:22.044336+00:00"
}
],
"refresh_seconds": 600
}
|
| reporter | success | 2026-05-30 15:54:50 | 2026-05-30 15:54:55 | 4534 ms |
Show process log (9 events)[
{
"job_name": "reporter",
"message": "report cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T15:54:50.745151+00:00"
},
{
"data": {
"search_query": ""
},
"job_name": "reporter",
"message": "building reporter dashboard context",
"status": "running",
"step": "context.build",
"timestamp": "2026-05-30T15:54:50.771788+00:00"
},
{
"data": {
"dashboard_metric_count": 3,
"metric_count": 4
},
"job_name": "reporter",
"message": "latest quality metrics loaded",
"status": "success",
"step": "metrics.load",
"timestamp": "2026-05-30T15:54:50.787552+00:00"
},
{
"data": {
"incident_count": 0,
"provider_count": 0
},
"job_name": "reporter",
"message": "incident memory refreshed",
"status": "success",
"step": "incidents.refresh",
"timestamp": "2026-05-30T15:54:55.092911+00:00"
},
{
"data": {
"reason": "no_provider_summaries"
},
"job_name": "reporter",
"message": "llm recommendation refresh skipped",
"status": "success",
"step": "llm.refresh",
"timestamp": "2026-05-30T15:54:55.095179+00:00"
},
{
"data": {
"llm_count": 0
},
"job_name": "reporter",
"message": "recommendations prepared",
"status": "success",
"step": "recommendations.load",
"timestamp": "2026-05-30T15:54:55.120538+00:00"
},
{
"job_name": "reporter",
"message": "reporter dashboard context built",
"status": "success",
"step": "context.build",
"timestamp": "2026-05-30T15:54:55.213398+00:00"
},
{
"data": {
"output": "/app/reports/index.html",
"template": "index.html"
},
"job_name": "reporter",
"message": "report rendered",
"status": "success",
"step": "report.render",
"timestamp": "2026-05-30T15:54:55.278024+00:00"
},
{
"data": {
"duration_ms": 4534
},
"job_name": "reporter",
"message": "report cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T15:54:55.279271+00:00"
}
]
Show run details{
"duration_ms": 4534,
"events": [
{
"job_name": "reporter",
"message": "report cycle started",
"status": "running",
"step": "cycle.start",
"timestamp": "2026-05-30T15:54:50.745151+00:00"
},
{
"data": {
"search_query": ""
},
"job_name": "reporter",
"message": "building reporter dashboard context",
"status": "running",
"step": "context.build",
"timestamp": "2026-05-30T15:54:50.771788+00:00"
},
{
"data": {
"dashboard_metric_count": 3,
"metric_count": 4
},
"job_name": "reporter",
"message": "latest quality metrics loaded",
"status": "success",
"step": "metrics.load",
"timestamp": "2026-05-30T15:54:50.787552+00:00"
},
{
"data": {
"incident_count": 0,
"provider_count": 0
},
"job_name": "reporter",
"message": "incident memory refreshed",
"status": "success",
"step": "incidents.refresh",
"timestamp": "2026-05-30T15:54:55.092911+00:00"
},
{
"data": {
"reason": "no_provider_summaries"
},
"job_name": "reporter",
"message": "llm recommendation refresh skipped",
"status": "success",
"step": "llm.refresh",
"timestamp": "2026-05-30T15:54:55.095179+00:00"
},
{
"data": {
"llm_count": 0
},
"job_name": "reporter",
"message": "recommendations prepared",
"status": "success",
"step": "recommendations.load",
"timestamp": "2026-05-30T15:54:55.120538+00:00"
},
{
"job_name": "reporter",
"message": "reporter dashboard context built",
"status": "success",
"step": "context.build",
"timestamp": "2026-05-30T15:54:55.213398+00:00"
},
{
"data": {
"output": "/app/reports/index.html",
"template": "index.html"
},
"job_name": "reporter",
"message": "report rendered",
"status": "success",
"step": "report.render",
"timestamp": "2026-05-30T15:54:55.278024+00:00"
},
{
"data": {
"duration_ms": 4534
},
"job_name": "reporter",
"message": "report cycle completed",
"status": "success",
"step": "cycle.finish",
"timestamp": "2026-05-30T15:54:55.279271+00:00"
}
],
"output_name": "index.html",
"refresh_seconds": 60,
"report_path": "/app/reports/index.html"
}
|