108 lines
2.5 KiB
JSON

{
"uid": "open-meteo-service",
"title": "Open-Meteo Service",
"timezone": "browser",
"schemaVersion": 38,
"version": 1,
"refresh": "10s",
"time": {
"from": "now-15m",
"to": "now"
},
"panels": [
{
"id": 1,
"type": "timeseries",
"title": "Request Rate",
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"gridPos": { "x": 0, "y": 0, "w": 12, "h": 8 },
"targets": [
{
"expr": "sum(rate(http_requests_total[5m])) by (endpoint, method)",
"legendFormat": "{{endpoint}} {{method}}",
"refId": "A"
}
]
},
{
"id": 2,
"type": "timeseries",
"title": "Request Duration p95",
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"gridPos": { "x": 12, "y": 0, "w": 12, "h": 8 },
"targets": [
{
"expr": "histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, endpoint, method))",
"legendFormat": "{{endpoint}} {{method}}",
"refId": "A"
}
]
},
{
"id": 3,
"type": "timeseries",
"title": "Cache Hits vs Misses",
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"gridPos": { "x": 0, "y": 8, "w": 12, "h": 8 },
"targets": [
{
"expr": "rate(coordinates_cache_hits_total[5m])",
"legendFormat": "hits",
"refId": "A"
},
{
"expr": "rate(coordinates_cache_misses_total[5m])",
"legendFormat": "misses",
"refId": "B"
}
]
},
{
"id": 4,
"type": "timeseries",
"title": "Open-Meteo Calls by City",
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"gridPos": { "x": 12, "y": 8, "w": 12, "h": 8 },
"targets": [
{
"expr": "sum(rate(openmeteo_api_calls_total[5m])) by (city)",
"legendFormat": "{{city}}",
"refId": "A"
}
]
},
{
"id": 5,
"type": "timeseries",
"title": "Requests by Status",
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"gridPos": { "x": 0, "y": 16, "w": 24, "h": 8 },
"targets": [
{
"expr": "sum(rate(http_requests_total[5m])) by (status)",
"legendFormat": "{{status}}",
"refId": "A"
}
]
}
],
"templating": {
"list": []
}
}