Repository navigation
feat(hub): add explicit telemetry foundation - #165
Merged
Merged
Conversation
Co-authored-by: Nishiki <1121087+nshki@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Copilot was unable to review this pull request because there is no eligible user to bill.
An enterprise owner can allow the organization to be billed for reviews like this by enabling Copilot code review for users without a license.
Co-authored-by: Nishiki <1121087+nshki@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Nishiki <1121087+nshki@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
weastler
approved these changes
Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Feature ports to the Express Hub need a consistent way to record server-side traces and send them to an operator's chosen recipient. This carries forward the provider-neutral approach from #34 without porting Rails instrumentation or treating sampled traces as durable product analytics.
What changes
Adds two public functions under
integrations/opentelemetry:startTelemetry()owns validated configuration and SDK lifetime, andwithTelemetrySpan()records an operation while preserving its result, failure, and asynchronous parent context. Export is disabled by default and supports OTLP over HTTP/protobuf with bounded batching and shutdown. Span attributes accept only approved UUID identifiers; exception details and export credentials stay out of telemetry diagnostics.API and worker entrypoints initialize telemetry and flush it after active work drains. The API gains bounded graceful shutdown for this lifecycle. Application imports remain static; automatic instrumentation, cross-process propagation, and product analytics remain outside this foundation.
The new telemetry guide documents configuration, ownership, safe feature-port examples, architecture boundaries, and future extension rules. Hub instructions and the documentation index link to it so future agents can find the contract.
Created from a Slack conversation.