Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Opentelemetry Propagation Traceresponse Laravel Package

open-telemetry/opentelemetry-propagation-traceresponse

Adds TraceResponse propagation support to the OpenTelemetry PHP SDK, letting services extract and inject trace context using the draft TraceResponse format. Useful when integrating with systems that emit or expect this header, keeping distributed traces connected across service boundaries.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Async/queue observability investment. This package is the piece that emits the W3C traceresponse header on HTTP responses, letting a client that receives a 202 Accepted (queued job, report generation, webhook ack) carry trace context back on a later poll/callback so the whole flow lands in one trace. It directly supports the decision "do we invest in end-to-end trace continuity across async flows, or stop at the request boundary?"
  • Build vs. buy for a spec-defined header. The actual work is small (parse/format one header, register a propagator). Choosing this package means buying spec-alignment and validation behavior from the OpenTelemetry-PHP contrib org instead of hand-rolling it. Choosing otherwise is a ~50–80 line internal implementation. The decision hinges on whether you expect the W3C Trace Context Level 2 semantics around traceresponse to keep moving.
  • Public API surface commitments. Emitting traceresponse on customer- or partner-facing responses is a contract decision, not just an internal one — once partners start correlating on it, removing it is a breaking change. This package makes that a one-line config toggle, which lowers the cost of piloting the header on a subset of endpoints before committing.
  • Backend/vendor portability. The header is backend-agnostic (flows through OTLP to any collector), so adopting it strengthens the "instrument once, switch APM vendors later" argument rather than locking you into a proprietary agent.
  • Roadmap prioritization for observability debt. Concretely answers "should we spend this sprint on tracing for sync requests or async workers?" — for a Laravel app already running queues, the async gap is usually the one support tickets can't answer ("what happened to my job?").
  • Incident response and SLO decisions. Enables tying a customer-reported async failure to a specific trace ID, which is a prerequisite for queue-latency SLOs and useful MTTR data.

When to Consider This Package

Adopt it when:

  • You already run the OpenTelemetry PHP SDK plus Laravel auto-instrumentation (open-telemetry/opentelemetry-auto-laravel) and have working traces. This package is an add-on, not a starting point.
  • You have genuinely asynchronous request flows: queued jobs behind a 202, long-running exports, webhook-then-callback patterns, polling status endpoints.
  • Your API consumers can actually propagate context back — the response header is inert unless the caller echoes the stored context on the follow-up request. First-party SPAs, mobile clients, and partner integrations you control are the good case.
  • You want the header on the wire without owning a spec implementation, and you're willing to pin a version or vendor the code.

Look elsewhere when:

  • Your traffic is synchronous request/response only. Standard traceparent propagation already covers you; this adds nothing but config surface.
  • Clients won't propagate. If the callers are untrusted third parties who won't implement the round-trip, the emitted header is dead weight.
  • You need a supported dependency. This is a READONLY contrib module with 1 star, 0 dependents, and effectively a single-maintainer footprint. Treat it as a reference implementation: fork or vendor it, and expect no vendor SLA, no security-response commitment, and no guarantee of a maintenance window.
  • The counterpart propagator doesn't exist on the client stack. Verify traceresponse support in your JS/Python/mobile OTel SDKs first; otherwise you're standardizing on a header nobody on the other end reads.
  • You're on a proprietary APM agent (Datadog, New Relic) that already handles async context propagation natively — adopting OTel-side headers may create two competing correlation schemes.

Maturity note for planning: the low stars/dependents number is not a quality signal about the code (it's small and spec-driven) but it is a signal about ecosystem support and bug-fix latency. Budget for the fork.

How to Pitch It (Stakeholders)

To executives (2 sentences): "This is a small, standards-based addition to the tracing we already pay for that closes a specific blind spot: when a customer's request kicks off background work, we currently lose the thread. It lets us prove what happened to that job — cutting investigation time on queue-related escalations — with no new vendor, no new infrastructure, and negligible cost."

To engineering leadership / staff engineers: "It's the W3C traceresponse propagator for the OpenTelemetry PHP SDK — a thin formatter/parser that registers alongside traceparent/baggage in the propagator list, plus a Laravel middleware and a queue hook to emit and read the header on 202-style flows. Risk is low and reversible: the code volume is tiny, our fallback is a 50-line in-house implementation, and nothing about it constrains our collector or backend choice. The one caveat is governance — the upstream repo is READONLY with a single-maintainer footprint and no dependents, so we pin the version and vendor the source into our stack rather than tracking upstream. Recommended scope for the first slice: one async status endpoint and one partner integration, measure whether trace continuity actually improves MTTR before rolling it out to the whole public API."

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core