Thanks to visit codestin.com
Credit goes to github.com

Skip to content

chore: Update OTel observability spec#34043

Merged
mnkiefer merged 1 commit into
mainfrom
mcp-gateway-attributes
May 22, 2026
Merged

chore: Update OTel observability spec#34043
mnkiefer merged 1 commit into
mainfrom
mcp-gateway-attributes

Conversation

@mnkiefer
Copy link
Copy Markdown
Collaborator

  • Updates the OTel Observability Specification to version 0.3.0, introducing detailed support for MCP gateway and API proxy tracing.

@mnkiefer mnkiefer self-assigned this May 22, 2026
Copilot AI review requested due to automatic review settings May 22, 2026 15:23
@mnkiefer mnkiefer merged commit 035cdda into main May 22, 2026
14 checks passed
@mnkiefer mnkiefer deleted the mcp-gateway-attributes branch May 22, 2026 15:23
@github-actions
Copy link
Copy Markdown
Contributor

✅ smoke-ci: safeoutputs CLI comment + comment-memory run (26296458790)

Generated by 🧪 Smoke CI for issue #34043 ·

@github-actions
Copy link
Copy Markdown
Contributor

Comment Memory

CI lights the path
Green checks bloom at dawn
Quiet bots still sing

Note

This comment is managed by comment memory.

It stores persistent context for this thread in the code block at the top of this comment.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

Generated by 🧪 Smoke CI for issue #34043 ·

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the repository’s OTel observability specification to v0.3.0, expanding the trace model and attribute contract to cover MCP gateway and API proxy tracing.

Changes:

  • Bumped spec version/last_updated metadata and added a v0.3.0 changelog entry.
  • Extended the trace hierarchy and span-kind assignments to include MCP gateway and API proxy spans.
  • Added a new MCP gateway span attribute contract section plus corresponding implementation-mapping and compliance-test entries.
Show a summary per file
File Description
specs/otel-observability-spec.md Updates the OTel spec to v0.3.0 and documents MCP gateway/API proxy spans, attributes, mapping, and compliance expectations.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 1/1 changed files
  • Comments generated: 5

8. [Security and Privacy Requirements](#8-security-and-privacy-requirements)
9. [Trace Model](#9-trace-model)
10. [Span Attribute Contract](#10-span-attribute-contract)
- [10.7 MCP Gateway Span Attribute Contract](#107-mcp-gateway-span-attribute-contract)
Comment on lines 303 to +310
│ ├── gh-aw.agent.conclusion (parent: agent setup span)
│ │ └── gh-aw.agent.agent (parent: agent conclusion span)
│ │ [dedicated AI latency measurement]
│ │
│ └── MCP Gateway (service: mcp-gateway)
│ ├── gateway.request (parent: agent setup span)
│ │ └── mcp.tool_call (parent: gateway.request)
│ │ └── gateway.backend.execute (parent: mcp.tool_call)
Comment on lines +544 to +550
### 10.7 MCP Gateway Span Attribute Contract

This section defines the attributes emitted by the MCP gateway (`gh-aw-mcpg`). These spans are emitted under the `mcp-gateway` service but share the workflow's trace ID (linked via `GITHUB_AW_OTEL_TRACE_ID` and `GITHUB_AW_OTEL_PARENT_SPAN_ID` passed to the gateway container per §6.3).

The canonical reference for gateway span attributes is [`gh-aw-mcpg/docs/otel-sentry.md`](https://github.com/github/gh-aw-mcpg/blob/main/docs/otel-sentry.md). This section summarizes the contract for cross-referencing with workflow-level spans.

#### 10.7.1 `gateway.request` Span
Comment on lines 726 to 738
| Section | Title | Primary implementation files |
|---|---|---|
| §4 | Configuration Model | `pkg/workflow/frontmatter_types.go`, `pkg/parser/schemas/main_workflow_schema.json`, `pkg/workflow/observability_otlp.go` |
| §5 | Runtime Environment Contract | `pkg/workflow/observability_otlp.go`, `pkg/workflow/compiler_types.go` |
| §6.1 | Multi-Endpoint Fan-Out | `pkg/workflow/observability_otlp.go`, `actions/setup/js/send_otlp_span.cjs` |
| §6.2-§6.4 | Export and Gateway Integration | `pkg/workflow/mcp_renderer.go`, `pkg/workflow/mcp_setup_generator.go`, `pkg/workflow/schemas/mcp-gateway-config.schema.json` |
| §6.5 | Trace Context Variables | `actions/setup/js/action_setup_otlp.cjs`, `actions/setup/js/aw_context.cjs` |
| §7 | Local Mirrors and Artifacts | `actions/setup/js/send_otlp_span.cjs`, `actions/setup/js/constants.cjs`, `actions/setup/post.js` |
| §8 | Security and Privacy Requirements | `pkg/workflow/observability_otlp.go`, `pkg/workflow/mcp_renderer.go`, `pkg/workflow/mcp_setup_generator.go`, `actions/setup/js/send_otlp_span.cjs` |
| §9 | Trace Model | `actions/setup/js/send_otlp_span.cjs`, `actions/setup/js/action_setup_otlp.cjs`, `actions/setup/js/action_conclusion_otlp.cjs` |
| §10 | Span Attribute Contract | `actions/setup/js/action_setup_otlp.cjs`, `actions/setup/js/action_conclusion_otlp.cjs`, `actions/setup/js/send_otlp_span.cjs`, `actions/setup/js/evaluate_outcomes.cjs`, `actions/setup/js/emit_outcome_spans.cjs` |
| §10.7 | MCP Gateway Span Attribute Contract | `gh-aw-mcpg` tracing package, `gh-aw-mcpg/docs/otel-sentry.md` |
| §11 | Resource Attributes | `actions/setup/js/action_setup_otlp.cjs`, `actions/setup/js/send_otlp_span.cjs` |
Comment on lines +766 to 770
| `T-OTEL-OBS-016` | Gateway span linkage | Gateway spans (`gateway.request`, `mcp.tool_call`, `gateway.backend.execute`) appear as children of the agent job's setup span in the same trace. | `gh-aw-mcpg` integration tests |
| `T-OTEL-OBS-017` | Gateway tool name attribute | Every `mcp.tool_call` span includes `gen_ai.tool.name` identifying the tool invoked. | `gh-aw-mcpg` integration tests |
| `T-OTEL-OBS-018` | Gateway rate limit attribute | `gateway.backend.execute` spans include `rate_limit.hit` when a rate limit is triggered. | `gh-aw-mcpg` integration tests |
| `T-OTEL-OBS-019` | Proxy DIFC span emission | When API proxy is active, `proxy.difc_pipeline` and `proxy.backend.forward` spans are emitted. | `gh-aw-mcpg` integration tests |

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants