Files
tracer-cloud--opensre/integrations/opensre/seed_evidence.py
T
wehub-resource-sync 4b6817381b
CI (OpenClaw E2E) / openclaw test (push) Has been cancelled
CI / coverage-report (push) Has been cancelled
CI / test-kubernetes (push) Has been cancelled
CI / should-run-thorough (push) Has been cancelled
CI / test-thorough (cloudwatch-demo) (push) Has been cancelled
CI / test-thorough (flink-ecs) (push) Has been cancelled
CI / test-thorough (upstream-lambda) (push) Has been cancelled
CI / test-thorough (prefect-ecs-fargate) (push) Has been cancelled
Release / build-binaries (zip, opensre.exe, onefile, windows-latest, windows-x64) (push) Has been cancelled
Benchmark image — build + push to ECR (any adapter) / build + push (push) Has been cancelled
CI / quality (ubuntu-latest) (push) Has been cancelled
CI / test (tools-runtime) (push) Has been cancelled
CI / test (e2e-general) (push) Has been cancelled
CI / test (cli-runtime) (push) Has been cancelled
CI / test (e2e-provider-and-openclaw) (push) Has been cancelled
CI / test (integrations-and-misc) (push) Has been cancelled
Release / verify (push) Has been cancelled
Release / build-python-dist (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-15-intel, darwin-x64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-latest, darwin-arm64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04, linux-x64) (push) Has been cancelled
Release / publish-release (push) Has been cancelled
Release / publish-main-release (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-checks (no-LLM) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-live shard ${{ matrix.shard_index }} (push) Has been cancelled
Release / prepare (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04-arm, linux-arm64) (push) Has been cancelled
Synthetic Deterministic Tests / Synthetic offline (deterministic) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:10:45 +08:00

87 lines
2.7 KiB
Python

"""Pre-load Hugging Face CSV telemetry into investigation evidence.
Uses the same stack as ``integrations/opensre/`` CSV Grafana backend: ``OpenSRECsvGrafanaBackend``
plus ``query_grafana_*`` tool functions so evidence matches normal tool output shapes.
"""
from __future__ import annotations
from typing import Any
from core.domain.pipeline_spans import extract_pipeline_spans
from integrations.opensre.csv_grafana_backend import OpenSRECsvGrafanaBackend
from integrations.opensre.grafana_backend_queries import (
query_logs_from_backend,
query_metrics_from_backend,
query_traces_from_backend,
)
from integrations.opensre.grafana_mappers import (
_map_grafana_logs,
_map_grafana_metrics,
_map_grafana_traces,
)
from integrations.opensre.inject import (
inject_opensre_into_resolved_integrations,
resolve_opensre_telemetry_dir,
)
def merge_opensre_seed_into_state(
raw_alert: dict[str, Any],
resolved_integrations: dict[str, Any] | None,
existing_evidence: dict[str, Any] | None,
) -> dict[str, Any]:
"""Return a partial state dict: ``resolved_integrations`` and merged ``evidence``."""
merged = inject_opensre_into_resolved_integrations(raw_alert, resolved_integrations)
if merged is None:
merged = dict(resolved_integrations or {})
telemetry_dir = resolve_opensre_telemetry_dir(raw_alert)
evidence = dict(existing_evidence or {})
if telemetry_dir is None:
return {"resolved_integrations": merged, "evidence": evidence}
backend = OpenSRECsvGrafanaBackend(telemetry_dir=telemetry_dir, alert_fixture=raw_alert)
evidence.update(
{
"opensre_telemetry_dir": str(telemetry_dir),
"opensre_telemetry_seed": True,
}
)
evidence.update(
_map_grafana_metrics(
query_metrics_from_backend(
backend,
metric_name="",
service_name=None,
)
)
)
evidence.update(
_map_grafana_logs(
query_logs_from_backend(
backend,
service_name="",
execution_run_id=None,
)
)
)
evidence.update(
_map_grafana_traces(
query_traces_from_backend(
backend,
service_name="",
execution_run_id=None,
limit=50,
# Without this, ``pipeline_spans`` is always ``[]`` and
# ``_map_grafana_traces`` strips ``grafana_pipeline_spans``
# from seeded evidence — regression flagged by Greptile.
extract_pipeline_spans=extract_pipeline_spans,
)
)
)
return {"resolved_integrations": merged, "evidence": evidence}