Executive Summary
Overall: FAIL
The local OTEL emission has 1 OTLP export error (non-zero), preventing a clean pass on the write path. Grafana Tempo successfully ingested current-run spans and the query path passes. Sentry's available MCP tooling (list_events) only surfaces error events, not traces or spans; the query path is inconclusive because no dedicated span/trace query tool is available for Sentry.
Run URL: https://github.com/github/gh-aw/actions/runs/25986170685
Results Table
| Backend |
Write Config Present |
Write Export Succeeded |
Read Config Present |
Read Query Succeeded |
Overall |
| Local OTLP |
✅ |
❌ |
— |
— |
❌ |
| Sentry |
✅ |
🔶 |
✅ |
🔶 |
🔶 |
| Grafana |
✅ |
✅ |
✅ |
✅ |
✅ |
Evidence
Local OTLP
Write Config Present ✅
All OTEL environment variables are injected:
OTEL_EXPORTER_OTLP_ENDPOINT = set
OTEL_EXPORTER_OTLP_HEADERS = set
GH_AW_OTLP_ENDPOINTS = set
OTEL_SERVICE_NAME = gh-aw.smoke-otel-backends
COPILOT_OTEL_FILE_EXPORTER_PATH = (not set — file exporter path is absent)
Write Export Succeeded ❌
/tmp/gh-aw/otel.jsonl exists with 1 line containing a span for run 25986170685:
{"name":"gh-aw.agent.setup","traceId":"9dcfb9c3e24d8351905fa17fafaaeda7","spanId":"b9b1a4d09ac8a309"}
However, /tmp/gh-aw/otlp-export-errors.count = 1 (not zero). The pass criteria requires zero export errors.
Sentry
Write Config Present ✅
GH_AW_OTLP_SENTRY_ENDPOINT and related secrets are configured (OTEL multi-endpoint routing via GH_AW_OTLP_ENDPOINTS=set).
Write Export Succeeded 🔶
Cannot confirm Sentry received spans. The 1 OTLP export error on the local side may have affected Sentry delivery. Sentry has no span-level query tool in the available MCP surface to directly verify ingestion.
Read Config Present ✅
MCP connection to Sentry at https://us.sentry.io succeeded. Organization github and project gh-aw (project ID 4511347087179777) were discovered successfully.
Read Query Succeeded 🔶
The available list_events tool searches Sentry's error events dataset only — it does not query spans or performance traces. Querying both with query="25986170685" and with query="" returned no results. This is inconclusive: the absence of error events is expected for a healthy run; span ingestion cannot be verified without a tracing-specific query tool.
Sentry explore link: https://github.sentry.io/explore/discover/homepage/?dataset=errors&queryDataset=error-events&query=&project=4511347087179777&field=issue&field=title&field=project&field=timestamp&field=level&field=message&sort=-timestamp&statsPeriod=14d
Grafana
Write Config Present ✅
GH_AW_OTLP_GRAFANA_ENDPOINT and related secrets are configured (GH_AW_OTLP_ENDPOINTS=set).
Write Export Succeeded ✅
Grafana Tempo datasource grafanacloud-traces (uid: grafanacloud-traces, type: tempo) is configured and available.
Read Config Present ✅
MCP connection to Grafana succeeded. Datasource grafanacloud-ghaw-traces (Tempo) was discovered.
Read Query Succeeded ✅
TraceQL query {resource.github.run_id="25986170685"} over the window 2026-05-17T07:00:00Z–10:00:00Z returned 2 traces for run 25986170685:
| traceID |
rootTraceName |
Spans matched |
Duration |
9dcfb9c3e24d8351905fa17fafaaeda7 |
gh-aw.pre_activation.setup |
3 |
20,645 ms |
91af1807e18bd9c3497f8291d3e5f1f3 |
gh-aw.pre_activation.setup |
7 |
305,982 ms |
Service: gh-aw.smoke-otel-backends. All spans carry github.run_id=25986170685.
Representative trace: 9dcfb9c3e24d8351905fa17fafaaeda7
Failure Analysis
Local OTLP — Write Export: 1 OTLP Export Error
Failing step: /tmp/gh-aw/otlp-export-errors.count contains 1.
Evidence observed: The local JSONL mirror has exactly 1 span (gh-aw.agent.setup). This suggests spans were emitted but at least one OTLP export attempt failed. This may be a transient HTTP error to one of the configured OTLP endpoints during export.
Most likely root cause: One of the backends listed in GH_AW_OTLP_ENDPOINTS was unreachable or returned a non-2xx response when the agent flushed spans. The OTLP exporter increments this counter on any failed delivery attempt. Given Grafana received spans, the error likely targeted the Sentry OTLP endpoint.
Path: Write path — OTLP export.
Next debug step: Inspect the OTLP exporter log or error payload in /tmp/gh-aw/ for the HTTP status code and endpoint that produced the error. Check whether the Sentry OTLP ingest endpoint (GH_AW_OTEL_SENTRY_ENDPOINT) returned a 4xx/5xx for this run.
Sentry — Read Query: Span Tracing Not Queryable via MCP
Failing step: The Sentry MCP surface exposes list_events (error events only), list_issue_events, and find_projects. There is no search_spans, query_traces, or performance tracing tool.
Evidence observed: list_events with an empty query returned zero results even though the gh-aw project exists. This is not a connectivity or auth failure — the query succeeded but returned an empty errors dataset.
Most likely root cause: Sentry's MCP server for this integration only exposes the error-monitoring surface. Performance/tracing (distributed traces, spans) is a separate Sentry product surface not exposed here. The gh-aw project may not have Sentry Performance enabled, or Performance data is only queryable via the Sentry UI or a separate API.
Path: Read path — missing tracing query tool on MCP surface.
Next debug step: Verify in the Sentry UI whether Performance / Tracing is enabled for the gh-aw project at https://github.sentry.io/performance/?project=4511347087179777. If traces are present there, consider adding a search_spans or TraceQL-equivalent tool to the Sentry MCP server configuration.
Generated by 🧪 Smoke OTEL Backends · ● 4.6M · ◷
Executive Summary
Overall: FAIL
The local OTEL emission has 1 OTLP export error (non-zero), preventing a clean pass on the write path. Grafana Tempo successfully ingested current-run spans and the query path passes. Sentry's available MCP tooling (
list_events) only surfaces error events, not traces or spans; the query path is inconclusive because no dedicated span/trace query tool is available for Sentry.Run URL: https://github.com/github/gh-aw/actions/runs/25986170685
Results Table
Evidence
Local OTLP
Write Config Present ✅
All OTEL environment variables are injected:
OTEL_EXPORTER_OTLP_ENDPOINT= setOTEL_EXPORTER_OTLP_HEADERS= setGH_AW_OTLP_ENDPOINTS= setOTEL_SERVICE_NAME=gh-aw.smoke-otel-backendsCOPILOT_OTEL_FILE_EXPORTER_PATH= (not set — file exporter path is absent)Write Export Succeeded ❌
/tmp/gh-aw/otel.jsonlexists with 1 line containing a span for run25986170685:However,
/tmp/gh-aw/otlp-export-errors.count= 1 (not zero). The pass criteria requires zero export errors.Sentry
Write Config Present ✅
GH_AW_OTLP_SENTRY_ENDPOINTand related secrets are configured (OTEL multi-endpoint routing viaGH_AW_OTLP_ENDPOINTS=set).Write Export Succeeded 🔶
Cannot confirm Sentry received spans. The 1 OTLP export error on the local side may have affected Sentry delivery. Sentry has no span-level query tool in the available MCP surface to directly verify ingestion.
Read Config Present ✅
MCP connection to Sentry at
https://us.sentry.iosucceeded. Organizationgithuband projectgh-aw(project ID4511347087179777) were discovered successfully.Read Query Succeeded 🔶
The available
list_eventstool searches Sentry's error events dataset only — it does not query spans or performance traces. Querying both withquery="25986170685"and withquery=""returned no results. This is inconclusive: the absence of error events is expected for a healthy run; span ingestion cannot be verified without a tracing-specific query tool.Sentry explore link: https://github.sentry.io/explore/discover/homepage/?dataset=errors&queryDataset=error-events&query=&project=4511347087179777&field=issue&field=title&field=project&field=timestamp&field=level&field=message&sort=-timestamp&statsPeriod=14d
Grafana
Write Config Present ✅
GH_AW_OTLP_GRAFANA_ENDPOINTand related secrets are configured (GH_AW_OTLP_ENDPOINTS=set).Write Export Succeeded ✅
Grafana Tempo datasource
grafanacloud-traces(uid:grafanacloud-traces, type:tempo) is configured and available.Read Config Present ✅
MCP connection to Grafana succeeded. Datasource
grafanacloud-ghaw-traces(Tempo) was discovered.Read Query Succeeded ✅
TraceQL query
{resource.github.run_id="25986170685"}over the window2026-05-17T07:00:00Z–10:00:00Zreturned 2 traces for run25986170685:9dcfb9c3e24d8351905fa17fafaaeda7gh-aw.pre_activation.setup91af1807e18bd9c3497f8291d3e5f1f3gh-aw.pre_activation.setupService:
gh-aw.smoke-otel-backends. All spans carrygithub.run_id=25986170685.Representative trace:
9dcfb9c3e24d8351905fa17fafaaeda7Failure Analysis
Local OTLP — Write Export: 1 OTLP Export Error
Failing step:
/tmp/gh-aw/otlp-export-errors.countcontains1.Evidence observed: The local JSONL mirror has exactly 1 span (
gh-aw.agent.setup). This suggests spans were emitted but at least one OTLP export attempt failed. This may be a transient HTTP error to one of the configured OTLP endpoints during export.Most likely root cause: One of the backends listed in
GH_AW_OTLP_ENDPOINTSwas unreachable or returned a non-2xx response when the agent flushed spans. The OTLP exporter increments this counter on any failed delivery attempt. Given Grafana received spans, the error likely targeted the Sentry OTLP endpoint.Path: Write path — OTLP export.
Next debug step: Inspect the OTLP exporter log or error payload in
/tmp/gh-aw/for the HTTP status code and endpoint that produced the error. Check whether the Sentry OTLP ingest endpoint (GH_AW_OTEL_SENTRY_ENDPOINT) returned a 4xx/5xx for this run.Sentry — Read Query: Span Tracing Not Queryable via MCP
Failing step: The Sentry MCP surface exposes
list_events(error events only),list_issue_events, andfind_projects. There is nosearch_spans,query_traces, or performance tracing tool.Evidence observed:
list_eventswith an empty query returned zero results even though thegh-awproject exists. This is not a connectivity or auth failure — the query succeeded but returned an empty errors dataset.Most likely root cause: Sentry's MCP server for this integration only exposes the error-monitoring surface. Performance/tracing (distributed traces, spans) is a separate Sentry product surface not exposed here. The
gh-awproject may not have Sentry Performance enabled, or Performance data is only queryable via the Sentry UI or a separate API.Path: Read path — missing tracing query tool on MCP surface.
Next debug step: Verify in the Sentry UI whether Performance / Tracing is enabled for the
gh-awproject at https://github.sentry.io/performance/?project=4511347087179777. If traces are present there, consider adding asearch_spansor TraceQL-equivalent tool to the Sentry MCP server configuration.