- Implemented `run-scanner-ci.sh` to build and run tests for the Scanner solution with a warmed NuGet cache. - Created `excititor-vex-traces.json` dashboard for monitoring Excititor VEX observations. - Added Docker Compose configuration for the OTLP span sink in `docker-compose.spansink.yml`. - Configured OpenTelemetry collector in `otel-spansink.yaml` to receive and process traces. - Developed `run-spansink.sh` script to run the OTLP span sink for Excititor traces. - Introduced `FileSystemRiskBundleObjectStore` for storing risk bundle artifacts in the filesystem. - Built `RiskBundleBuilder` for creating risk bundles with associated metadata and providers. - Established `RiskBundleJob` to execute the risk bundle creation and storage process. - Defined models for risk bundle inputs, entries, and manifests in `RiskBundleModels.cs`. - Implemented signing functionality for risk bundle manifests with `HmacRiskBundleManifestSigner`. - Created unit tests for `RiskBundleBuilder`, `RiskBundleJob`, and signing functionality to ensure correctness. - Added filesystem artifact reader tests to validate manifest parsing and artifact listing. - Included test manifests for egress scenarios in the task runner tests. - Developed timeline query service tests to verify tenant and event ID handling.
51 lines
1.4 KiB
JSON
51 lines
1.4 KiB
JSON
{
|
|
"title": "Excititor VEX Observations Traces",
|
|
"tags": ["excititor", "traces", "vex"],
|
|
"timezone": "browser",
|
|
"schemaVersion": 38,
|
|
"version": 1,
|
|
"refresh": "30s",
|
|
"panels": [
|
|
{
|
|
"type": "stat",
|
|
"title": "Spans (last 15m)",
|
|
"gridPos": {"h": 4, "w": 6, "x": 0, "y": 0},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": {"type": "tempo", "uid": "tempo"},
|
|
"expr": "sum by(service_name)(rate(traces_spanmetrics_calls_total{service_name=~\"excititor.*\"}[15m]))"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "stat",
|
|
"title": "Errors (last 15m)",
|
|
"gridPos": {"h": 4, "w": 6, "x": 6, "y": 0},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": {"type": "tempo", "uid": "tempo"},
|
|
"expr": "sum by(status_code)(rate(traces_spanmetrics_calls_total{status_code=\"STATUS_CODE_ERROR\",service_name=~\"excititor.*\"}[15m]))"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "table",
|
|
"title": "Recent /v1/vex/observations spans",
|
|
"gridPos": {"h": 12, "w": 24, "x": 0, "y": 4},
|
|
"options": {
|
|
"showHeader": true
|
|
},
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": {"type": "tempo", "uid": "tempo"},
|
|
"queryType": "traceql",
|
|
"expr": "{ service.name = \"excititor\" && http.target = \"/v1/vex/observations\" } | limit 50"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|