Skip to content

ref(node): Streamline hapi instrumentation#21602

Open
nicohrubec wants to merge 1 commit into
developfrom
nh/streamline-hapi
Open

ref(node): Streamline hapi instrumentation#21602
nicohrubec wants to merge 1 commit into
developfrom
nh/streamline-hapi

Conversation

@nicohrubec

@nicohrubec nicohrubec commented Jun 17, 2026

Copy link
Copy Markdown
Member

Streamlines the vendored hapi instrumentation to use Sentry's span APIs instead of the OpenTelemetry tracing APIs, and removes the code paths that are dead in Sentry's context. Removed the client spanStart hook that was previously used to set the origin. The origin is now set directly when starting the span. Test suites expanded to cover all APIs we instrument.

Closes #20729

Move vendored hapi span creation onto Sentry's span API (startSpan), fold op/origin into creation, drop the spanStart hook + semconv-stability branching, and add unit tests plus plugin-route/server.ext integration coverage.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size % Change Change
@sentry/browser 27.4 kB - -
@sentry/browser - with treeshaking flags 25.84 kB - -
@sentry/browser (incl. Tracing) 45.7 kB - -
@sentry/browser (incl. Tracing + Span Streaming) 47.94 kB - -
@sentry/browser (incl. Tracing, Profiling) 50.5 kB - -
@sentry/browser (incl. Tracing, Replay) 84.92 kB - -
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 74.53 kB - -
@sentry/browser (incl. Tracing, Replay with Canvas) 89.61 kB - -
@sentry/browser (incl. Tracing, Replay, Feedback) 102.3 kB - -
@sentry/browser (incl. Feedback) 44.56 kB - -
@sentry/browser (incl. sendFeedback) 32.2 kB - -
@sentry/browser (incl. FeedbackAsync) 37.31 kB - -
@sentry/browser (incl. Metrics) 28.47 kB - -
@sentry/browser (incl. Logs) 28.71 kB - -
@sentry/browser (incl. Metrics & Logs) 29.4 kB - -
@sentry/react 29.2 kB - -
@sentry/react (incl. Tracing) 48 kB - -
@sentry/vue 32.42 kB - -
@sentry/vue (incl. Tracing) 47.59 kB - -
@sentry/svelte 27.42 kB - -
CDN Bundle 29.79 kB - -
CDN Bundle (incl. Tracing) 48.2 kB - -
CDN Bundle (incl. Logs, Metrics) 31.33 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) 49.49 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) 70.62 kB - -
CDN Bundle (incl. Tracing, Replay) 85.52 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 86.77 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) 91.37 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 92.62 kB - -
CDN Bundle - uncompressed 88.59 kB - -
CDN Bundle (incl. Tracing) - uncompressed 145.8 kB - -
CDN Bundle (incl. Logs, Metrics) - uncompressed 93.29 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 149.77 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 218.12 kB - -
CDN Bundle (incl. Tracing, Replay) - uncompressed 264.67 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 268.63 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 278.37 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 282.31 kB - -
@sentry/nextjs (client) 50.45 kB - -
@sentry/sveltekit (client) 46.12 kB - -
@sentry/core/server 76.08 kB - -
@sentry/core/browser 63.22 kB - -
@sentry/node-core 61.73 kB +0.01% +3 B 🔺
@sentry/node 128.59 kB -0.07% -78 B 🔽
@sentry/node - without tracing 74.1 kB - -
@sentry/aws-serverless 85.34 kB +0.01% +1 B 🔺
@sentry/cloudflare (withSentry) - minified 174.19 kB - -
@sentry/cloudflare (withSentry) 435.41 kB - -

View base workflow run

@nicohrubec nicohrubec marked this pull request as ready for review June 17, 2026 12:41
@nicohrubec nicohrubec requested a review from a team as a code owner June 17, 2026 12:41
@nicohrubec nicohrubec requested review from JPeer264, andreiborza, logaretm and mydea and removed request for a team June 17, 2026 12:41
import { Attributes } from '@opentelemetry/api';
import { ATTR_HTTP_ROUTE, ATTR_HTTP_REQUEST_METHOD } from '@opentelemetry/semantic-conventions';
import type { Attributes } from '@opentelemetry/api';
import { ATTR_HTTP_ROUTE } from '@opentelemetry/semantic-conventions';

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

l: Should we already move this to the sentry conventions?

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.

Streamline @opentelemetry/instrumentation-hapi

2 participants