Skip to content

[q] feat(otel-advisor): query live Sentry OTel data to ground analysis (#24658) #24660

@github-actions

Description

@github-actions

Q Workflow Optimization Report

Context

Triggered by @pelikhan on issue #24658 with /q update the workflow to also query live otel data from sentry to investigate and optimize the otel data collection.


Issue Found

Workflow: daily-otel-instrumentation-advisor

The Sentry MCP server was already configured in the workflow frontmatter:

mcp-servers:
  sentry:
    url: "(mcp.sentry.dev/redacted)
    headers:
      Authorization: "Bearer ${{ secrets.SENTRY_API_KEY }}"

However, the prompt never instructed the agent to use it. Audit of run #23993778486 confirmed:

Tool Calls
Read 11
Glob 1
bash (date) 1
sentry 0 ← unused

The analysis was based entirely on static code reading, meaning the agent could propose improvements that Sentry data would immediately contradict (or confirm).


Changes Made

.github/workflows/daily-otel-instrumentation-advisor.md

Added a new Step 2: Query Live OTel Data from Sentry between the file-reading step and the evaluation step. The new step instructs the agent to:

  1. Discover the org/project via find_organizations + find_projects
  2. Sample recent spans via search_events (spans dataset, fallback to transactions)
  3. Inspect a full trace end-to-end via get_trace_details
  4. Check for OTel errors via search_issues
  5. Document real vs. expected attributes — answers whether service.version, github.repository, github.event_name are actually present in live data

The evaluation (now Step 3) and selection (now Step 4) steps now explicitly reference live Sentry evidence and prioritize gaps confirmed by real data over theoretical code gaps.

The issue body template gains an "Evidence from Live Sentry Data" section so issues created by the workflow carry a link to the sampled span payload that motivated the recommendation.


Expected Improvements

  • Eliminates the wasted Sentry MCP server configuration (it was configured but never called)
  • Issues created by the advisor will be grounded in real telemetry, reducing false positives
  • Live data can reveal attribute mismatches (e.g., a span that Sentry receives with github.repository already at resource level) that code reading alone misses
  • service.version presence in Sentry confirmed/denied empirically, not by code inspection alone

Validation

daily-otel-instrumentation-advisor compiled successfully (no errors, no warnings)

Note: .lock.yml regeneration was not needed (the lock file was not changed by the prompt-only edit; the compiler confirmed validity).


Warning

Protected Files — Push Permission Denied

This was originally intended as a pull request, but the patch modifies protected files. A human must create the pull request manually.

Protected files

The push was rejected because GitHub Actions does not have workflows permission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission.

Create the pull request manually
# Download the patch from the workflow run
gh run download 23993908793 -n agent -D /tmp/agent-23993908793

# Create a new branch
git checkout -b q/otel-advisor-sentry-live-data-df71a87ac9c5cf3f main

# Apply the patch (--3way handles cross-repo patches)
git am --3way /tmp/agent-23993908793/aw-q-otel-advisor-sentry-live-data.patch

# Push the branch and create the pull request
git push origin q/otel-advisor-sentry-live-data-df71a87ac9c5cf3f
gh pr create --title '[q] feat(otel-advisor): query live Sentry OTel data to ground analysis (#24658)' --base main --head q/otel-advisor-sentry-live-data-df71a87ac9c5cf3f --repo github/gh-aw

🎩 Equipped by Q · ● 1.5M ·

  • expires on Apr 7, 2026, 4:12 AM UTC

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions