102 lines
2.5 KiB
JSON
102 lines
2.5 KiB
JSON
{
|
|
"dashboard": {
|
|
"title": "Bakery IA - API Performance",
|
|
"description": "Comprehensive API performance monitoring for Bakery IA REST and GraphQL endpoints",
|
|
"tags": ["api", "performance", "rest", "graphql"],
|
|
"panels": [
|
|
{
|
|
"title": "Request Volume",
|
|
"type": "timeseries",
|
|
"query": {
|
|
"metric": "http_server_requests_seconds_count",
|
|
"aggregate": "sum",
|
|
"groupBy": ["api"],
|
|
"filters": [
|
|
{
|
|
"key": "api",
|
|
"operator": "=",
|
|
"value": "${api}"
|
|
}
|
|
]
|
|
},
|
|
"unit": "req/s"
|
|
},
|
|
{
|
|
"title": "Error Rate",
|
|
"type": "timeseries",
|
|
"query": {
|
|
"metric": "http_server_requests_seconds_count",
|
|
"aggregate": "sum",
|
|
"groupBy": ["api", "status"],
|
|
"filters": [
|
|
{
|
|
"key": "api",
|
|
"operator": "=",
|
|
"value": "${api}"
|
|
},
|
|
{
|
|
"key": "status",
|
|
"operator": "=~",
|
|
"value": "5.."
|
|
}
|
|
]
|
|
},
|
|
"unit": "req/s"
|
|
},
|
|
{
|
|
"title": "Average Response Time",
|
|
"type": "timeseries",
|
|
"query": {
|
|
"metric": "http_server_requests_seconds_sum",
|
|
"aggregate": "avg",
|
|
"groupBy": ["api", "endpoint"],
|
|
"filters": [
|
|
{
|
|
"key": "api",
|
|
"operator": "=",
|
|
"value": "${api}"
|
|
}
|
|
]
|
|
},
|
|
"unit": "seconds"
|
|
},
|
|
{
|
|
"title": "P95 Latency",
|
|
"type": "timeseries",
|
|
"query": {
|
|
"metric": "http_server_requests_seconds_bucket",
|
|
"aggregate": "histogram_quantile",
|
|
"quantile": 0.95,
|
|
"groupBy": ["api", "endpoint"],
|
|
"filters": [
|
|
{
|
|
"key": "api",
|
|
"operator": "=",
|
|
"value": "${api}"
|
|
}
|
|
]
|
|
},
|
|
"unit": "seconds"
|
|
}
|
|
],
|
|
"variables": [
|
|
{
|
|
"name": "api",
|
|
"label": "API Service",
|
|
"type": "dropdown",
|
|
"default": "*",
|
|
"values": ["*", "gateway-api", "auth-api", "inventory-api", "production-api", "forecasting-api", "procurement-api"]
|
|
}
|
|
],
|
|
"layout": {
|
|
"type": "grid",
|
|
"columns": 12,
|
|
"gap": [16, 16]
|
|
},
|
|
"refresh": "15s",
|
|
"time": {
|
|
"from": "now-1h",
|
|
"to": "now"
|
|
}
|
|
}
|
|
} |