Skip to content

feat: add otel tracing support#5

Merged
m1212e merged 7 commits intomainfrom
otel
Feb 9, 2026
Merged

feat: add otel tracing support#5
m1212e merged 7 commits intomainfrom
otel

Conversation

@m1212e
Copy link
Copy Markdown
Owner

@m1212e m1212e commented Feb 9, 2026

This pull request adds OpenTelemetry tracing support throughout the codebase, enabling detailed instrumentation for ability building, filter application, and GraphQL execution. The changes introduce new dependencies, update configuration types, and integrate tracing into core logic for enhanced observability.

Tracing integration:

  • Added OpenTelemetry tracing support to createAbilityBuilder, instrumenting ability filter logic and recording span attributes for unrestricted, blocked, dynamic, and applied abilities. (lib/abilityBuilder.ts) [1] [2] [3] [4] [5]
  • Integrated tracing into the RuntimeFiltersPlugin to record filter status, total filters, and allowed entities, and to wrap filter application in spans. (lib/runtimeFiltersPlugin/runtimeFiltersPlugin.ts) [1] [2] [3]
  • Added tracing instrumentation to GraphQL execution via a Yoga plugin, wrapping the execution function in a span and recording operation name and exceptions. (lib/rumble.ts) [1] [2]

Schema builder enhancements:

  • Registered tracing plugins and configured tracing options in createSchemaBuilder, including span wrapper setup and root field detection. (lib/schemaBuilder.ts) [1] [2] [3] [4]

Configuration and dependencies:

  • Extended RumbleInput type to support tracing configuration and options, and updated dependencies to include OpenTelemetry and Pothos tracing packages. (lib/types/rumbleInput.ts, package.json) [1] [2] [3]

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

Adds optional OpenTelemetry (OTel) tracing instrumentation across core execution paths (ability building, runtime filter application, and GraphQL execution) to improve observability in rumble.

Changes:

  • Introduces OTel + Pothos tracing dependencies and adds otel configuration to RumbleInput.
  • Wires tracing into schema building (Pothos tracing plugin + OTel wrapper) and GraphQL Yoga execution.
  • Instruments ability filter assembly and runtime filter application with spans + attributes.

Reviewed changes

Copilot reviewed 7 out of 9 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
package.json Adds OTel + Pothos tracing dependencies.
bun.lock Locks new dependencies (OTel + tracing packages) and updates Svelte patch version.
lib/types/rumbleInput.ts Extends RumbleInput with an optional otel config (tracer + wrapper options).
lib/schemaBuilder.ts Registers Pothos tracing plugin and configures wrapping via OTel tracer.
lib/runtimeFiltersPlugin/runtimeFiltersPlugin.ts Wraps filter application in spans and records basic filter metrics.
lib/runtimeFiltersPlugin/pluginTypes.d.ts Extends Pothos builder options to carry an otelTracer.
lib/rumble.ts Adds Yoga onExecute span around GraphQL execution and records operation metadata.
lib/abilityBuilder.ts Adds span-based instrumentation for ability filter preparation.

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

m1212e and others added 2 commits February 9, 2026 23:36
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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

Copilot reviewed 7 out of 9 changed files in this pull request and generated 2 comments.


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

@m1212e m1212e merged commit 6dfd61c into main Feb 9, 2026
@m1212e m1212e deleted the otel branch February 9, 2026 22:57
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