{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/api-evangelist/linkerd/blob/main/json-schema/stat-summary.json", "title": "Linkerd Stat Summary", "description": "Aggregated golden metrics for a Kubernetes resource including request rate, success rate, and latency percentiles as returned by the Linkerd Viz Metrics API.", "type": "object", "properties": { "ok": { "type": "object", "description": "Successful response containing stat tables.", "properties": { "stat_tables": { "type": "array", "description": "Array of stat tables grouped by pod group.", "items": { "$ref": "#/$defs/StatTable" } } } }, "error": { "type": "object", "description": "Error response.", "properties": { "error": { "type": "string", "description": "Error message." } } } }, "$defs": { "StatTable": { "type": "object", "description": "A table of stat rows grouped by pod group.", "properties": { "pod_group": { "type": "object", "properties": { "rows": { "type": "array", "items": { "$ref": "#/$defs/StatTableRow" } } } } } }, "StatTableRow": { "type": "object", "description": "A single row of metrics for a Kubernetes resource.", "properties": { "resource": { "$ref": "#/$defs/Resource" }, "time_window": { "type": "string", "description": "Time window for the aggregated metrics." }, "status": { "type": "string", "description": "Status of the resource." }, "meshed_pod_count": { "type": "integer", "description": "Number of pods in the mesh." }, "running_pod_count": { "type": "integer", "description": "Number of running pods." }, "failed_pod_count": { "type": "integer", "description": "Number of failed pods." }, "stats": { "$ref": "#/$defs/BasicStats" }, "tcp_stats": { "$ref": "#/$defs/TcpStats" } } }, "BasicStats": { "type": "object", "description": "Golden metrics for request traffic.", "properties": { "success_count": { "type": "integer", "description": "Number of successful requests." }, "failure_count": { "type": "integer", "description": "Number of failed requests." }, "latency_ms_p50": { "type": "number", "description": "50th percentile latency in milliseconds." }, "latency_ms_p95": { "type": "number", "description": "95th percentile latency in milliseconds." }, "latency_ms_p99": { "type": "number", "description": "99th percentile latency in milliseconds." }, "actual_success_count": { "type": "integer", "description": "Actual number of successful requests (before retries)." }, "actual_failure_count": { "type": "integer", "description": "Actual number of failed requests (before retries)." } } }, "TcpStats": { "type": "object", "description": "TCP-level connection statistics.", "properties": { "open_connections": { "type": "integer", "description": "Number of currently open TCP connections." }, "read_bytes_total": { "type": "integer", "description": "Total bytes read." }, "write_bytes_total": { "type": "integer", "description": "Total bytes written." } } }, "Resource": { "type": "object", "description": "A Kubernetes resource reference.", "properties": { "namespace": { "type": "string", "description": "Kubernetes namespace." }, "type": { "type": "string", "description": "Resource type (e.g., deployment, pod, service)." }, "name": { "type": "string", "description": "Resource name." } } } } }