Files
git.stella-ops.org/offline/telemetry/dashboards/ledger/ledger-observability.json
master 9075bad2d9 Add unit tests and implementations for MongoDB index models and OpenAPI metadata
- Implemented `MongoIndexModelTests` to verify index models for various stores.
- Created `OpenApiMetadataFactory` with methods to generate OpenAPI metadata.
- Added tests for `OpenApiMetadataFactory` to ensure expected defaults and URL overrides.
- Introduced `ObserverSurfaceSecrets` and `WebhookSurfaceSecrets` for managing secrets.
- Developed `RuntimeSurfaceFsClient` and `WebhookSurfaceFsClient` for manifest retrieval.
- Added dependency injection tests for `SurfaceEnvironmentRegistration` in both Observer and Webhook contexts.
- Implemented tests for secret resolution in `ObserverSurfaceSecretsTests` and `WebhookSurfaceSecretsTests`.
- Created `EnsureLinkNotMergeCollectionsMigrationTests` to validate MongoDB migration logic.
- Added project files for MongoDB tests and NuGet package mirroring.
2025-11-17 21:21:56 +02:00

92 lines
3.1 KiB
JSON

{
"id": null,
"title": "StellaOps Findings Ledger",
"timezone": "utc",
"schemaVersion": 39,
"version": 1,
"refresh": "30s",
"tags": ["ledger", "findings", "stellaops"],
"panels": [
{
"type": "timeseries",
"title": "Ledger Write Latency (P50/P95)",
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 },
"targets": [
{ "expr": "histogram_quantile(0.5, sum(rate(ledger_write_latency_seconds_bucket{tenant=\"$tenant\"}[5m])) by (le))", "legendFormat": "p50" },
{ "expr": "histogram_quantile(0.95, sum(rate(ledger_write_latency_seconds_bucket{tenant=\"$tenant\"}[5m])) by (le))", "legendFormat": "p95" }
],
"fieldConfig": { "defaults": { "unit": "s" } }
},
{
"type": "timeseries",
"title": "Write Throughput",
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 },
"targets": [
{ "expr": "sum(rate(ledger_events_total{tenant=\"$tenant\"}[5m])) by (event_type)", "legendFormat": "{{event_type}}" }
],
"fieldConfig": { "defaults": { "unit": "ops" } }
},
{
"type": "timeseries",
"title": "Projection Lag",
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 },
"targets": [
{ "expr": "max(ledger_projection_lag_seconds{tenant=\"$tenant\"})", "legendFormat": "lag" }
],
"fieldConfig": { "defaults": { "unit": "s" } }
},
{
"type": "timeseries",
"title": "Merkle Anchor Duration",
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 },
"targets": [
{ "expr": "histogram_quantile(0.95, sum(rate(ledger_merkle_anchor_duration_seconds_bucket{tenant=\"$tenant\"}[5m])) by (le))", "legendFormat": "p95" }
],
"fieldConfig": { "defaults": { "unit": "s" } }
},
{
"type": "stat",
"title": "Merkle Anchor Failures (5m)",
"gridPos": { "h": 4, "w": 6, "x": 0, "y": 16 },
"targets": [
{ "expr": "sum(rate(ledger_merkle_anchor_failures_total{tenant=\"$tenant\"}[5m]))", "legendFormat": "fail/s" }
],
"options": { "reduceOptions": { "calcs": ["lastNotNull"] } }
},
{
"type": "stat",
"title": "Attachment Failures (5m)",
"gridPos": { "h": 4, "w": 6, "x": 6, "y": 16 },
"targets": [
{ "expr": "sum(rate(ledger_attachments_encryption_failures_total{tenant=\"$tenant\"}[5m])) by (stage)", "legendFormat": "{{stage}}" }
],
"options": { "reduceOptions": { "calcs": ["lastNotNull"] } }
},
{
"type": "stat",
"title": "Ledger Backlog",
"gridPos": { "h": 4, "w": 6, "x": 12, "y": 16 },
"targets": [
{ "expr": "sum(ledger_ingest_backlog_events{tenant=\"$tenant\"})", "legendFormat": "events" }
]
}
],
"templating": {
"list": [
{
"name": "tenant",
"type": "query",
"label": "Tenant",
"datasource": null,
"query": "label_values(ledger_events_total, tenant)",
"refresh": 1,
"multi": false,
"includeAll": false
}
]
},
"annotations": { "list": [] },
"time": { "from": "now-6h", "to": "now" },
"timepicker": { "refresh_intervals": ["30s", "1m", "5m", "15m", "1h"] }
}