Skip to content

Symfony Telemetry Bundle - Chores & Features#2489

Merged
norberttech merged 10 commits into
1.xfrom
symfony-telemetry-sub-requests
Jun 29, 2026
Merged

Symfony Telemetry Bundle - Chores & Features#2489
norberttech merged 10 commits into
1.xfrom
symfony-telemetry-sub-requests

Conversation

@norberttech

Copy link
Copy Markdown
Member

Change Log


Added

  • flow-php/symfony-telemetry-bundle - security instrumentation
  • flow-php/symfony-telemetry-bundle - enriched web profiler panel
  • flow-php/symfony-telemetry-bundle - trace context propagation and route-aware span naming
  • flow-php/symfony-telemetry-bundle - long-running worker runtime support
  • flow-php/symfony-http-foundation-telemetry-bridge - query string trace context carrier

Fixed

  • flow-php/symfony-telemetry-bundle - browser trace-context helpers emit the request span
  • flow-php/symfony-telemetry-bundle - leaked context scopes in HTTP and messenger instrumentation

Changed

  • flow-php/symfony-postgresql-bundle - lazy connections by default

Removed

Deprecated

Security

@norberttech norberttech added this to the 0.41.0 milestone Jun 28, 2026
@codecov

codecov Bot commented Jun 28, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.89720% with 38 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.73%. Comparing base (5cff369) to head (9ed11c7).
⚠️ Report is 1 commits behind head on 1.x.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff              @@
##                1.x    #2489      +/-   ##
============================================
+ Coverage     85.22%   85.73%   +0.50%     
- Complexity    21571    21695     +124     
============================================
  Files          1627     1640      +13     
  Lines         66558    66943     +385     
============================================
+ Hits          56725    57393     +668     
+ Misses         9833     9550     -283     
Components Coverage Δ
etl 88.53% <100.00%> (+0.08%) ⬆️
cli 89.40% <ø> (ø)
lib-array-dot 81.44% <ø> (ø)
lib-azure-sdk 64.44% <ø> (ø)
lib-doctrine-dbal-bulk 93.61% <ø> (ø)
lib-filesystem 85.03% <100.00%> (ø)
lib-types 90.06% <ø> (ø)
lib-parquet 70.10% <ø> (ø)
lib-parquet-viewer 82.26% <ø> (ø)
lib-snappy 88.93% <ø> (-0.45%) ⬇️
lib-dremel 0.00% <ø> (ø)
lib-postgresql 88.62% <100.00%> (+0.05%) ⬆️
lib-telemetry 86.16% <100.00%> (+<0.01%) ⬆️
bridge-filesystem-async-aws 92.74% <ø> (ø)
bridge-filesystem-azure 90.45% <ø> (ø)
bridge-monolog-http 96.82% <ø> (ø)
bridge-monolog-telemetry 94.79% <ø> (ø)
bridge-openapi-specification 92.07% <ø> (ø)
symfony-http-foundation 78.57% <ø> (ø)
bridge-psr18-telemetry 100.00% <100.00%> (ø)
bridge-psr3-telemetry 98.95% <ø> (ø)
bridge-psr7-telemetry 100.00% <ø> (ø)
bridge-telemetry-otlp 90.41% <ø> (ø)
bridge-symfony-http-foundation-telemetry 92.85% <100.00%> (+3.38%) ⬆️
bridge-symfony-filesystem-bundle 90.66% <ø> (ø)
bridge-symfony-filesystem-cache 98.18% <ø> (ø)
bridge-symfony-postgresql-bundle 93.38% <100.00%> (+0.31%) ⬆️
bridge-symfony-postgresql-cache 94.41% <ø> (ø)
bridge-symfony-postgresql-messenger 98.80% <ø> (ø)
bridge-symfony-postgresql-session 93.65% <ø> (ø)
bridge-symfony-telemetry-bundle 89.51% <91.89%> (+7.10%) ⬆️
adapter-chartjs 84.05% <ø> (ø)
adapter-csv 91.16% <ø> (ø)
adapter-doctrine 90.79% <ø> (ø)
adapter-google-sheet 99.18% <ø> (ø)
adapter-http 72.34% <ø> (ø)
adapter-json 88.63% <ø> (ø)
adapter-logger 50.00% <ø> (ø)
adapter-parquet 77.70% <ø> (ø)
adapter-text 74.13% <ø> (ø)
adapter-xml 83.40% <ø> (ø)
adapter-avro 0.00% <ø> (ø)
adapter-excel 94.21% <ø> (ø)
adapter-postgresql 91.06% <ø> (ø)
adapter-seal 85.42% <ø> (ø)
bridge-phpunit-postgresql 75.30% <ø> (ø)
bridge-phpunit-telemetry 80.41% <100.00%> (+0.11%) ⬆️
bridge-phpstan-types 0.00% <ø> (ø)
bridge-postgresql-valinor 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

… and messenger instrumentation

- complete sub-request spans on kernel.finish_request
- detach extracted request propagation scope so it no longer leaks into
the next request
- detach messenger continuation/baggage scope after handling
- decorate the request span with the authenticated user (configurable
user.id/roles/email)
- capture the user at kernel.controller and on LoginSuccessEvent
- add UserSpanAttributeProvider extension point for custom attributes
- show resource attributes, instrumentation scopes, and configured
instruments (collapsible)
- capture the in-flight HTTP server span so the root request span
appears in the panel
…d route-aware span namin

- outgoing trace context propagation via TraceContextProvider, Twig
helpers and trace-context URL generator
- extract incoming context from the URL query string
(context_propagation_query, off by default)
- name request spans by route path template or route name
(route_naming), with sub-request/controller fallbacks
- wrap client in lazy proxy, deferring pg_connect until first use
- add per-connection lazy flag (default true) to opt back into eager
…runtimes

- add runtime_mode (auto|classic|worker) with FrankenPHP/RoadRunner
auto-detection
- flush on terminate in worker mode instead of shutting the transport
down
- reset trace context between requests via kernel.reset
- harden span completion so a failure can't strand the context scope
… emit the request span

- resolve the request (SERVER) span via RequestStack instead of the
active inner span
- keeps documentLoad/AJAX parented under the request regardless of call
site or Twig tracing
- leave span status Unset on success instead of Ok
- set error.type on error spans (exception FQCN, HTTP/exit code, token)
- server spans: only 5xx is an error, 4xx stays unset
- record errors in controller arg/value/controller resolvers
@norberttech norberttech force-pushed the symfony-telemetry-sub-requests branch from 696c6cc to a9d45c0 Compare June 28, 2026 20:20
…kernel environment

- env-keyed default cache path so dev/prod don't freeze
deployment.environment.name
- track new cache filename in test cleanup
@norberttech norberttech changed the title Symfony telemetry sub requests Symfony Telemetry Bundle - Chores & Features Jun 29, 2026
@norberttech norberttech merged commit c272760 into 1.x Jun 29, 2026
40 checks passed
@norberttech norberttech deleted the symfony-telemetry-sub-requests branch June 29, 2026 07:02
@github-project-automation github-project-automation Bot moved this from Todo to Done in Roadmap Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant