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
Zipkin Symfony

Zipkin Symfony Laravel Package

jcchavezs/zipkin-symfony

Zipkin integration for Symfony apps that adds distributed tracing to HTTP requests and other components, helping you collect and report spans to a Zipkin server for latency analysis and service dependency visibility.

View on GitHub
Deep Wiki
Context7

A Zipkin integration for Symfony applications

Frequently asked questions about Zipkin Symfony
Does jcchavezs/zipkin-symfony work with Laravel?
No, not natively. It is a Symfony bundle registered in bundles.php and wired through a Symfony DI extension plus kernel.request and kernel.response listeners, none of which Laravel consumes. Laravel uses its own service providers and HTTP kernel, so you would need to reimplement the wiring as a service provider and middleware. The underlying HttpFoundation Request and Response objects are compatible, but the plumbing around them is not.
How do I install jcchavezs/zipkin-symfony?
Run composer require jcchavezs/zipkin-symfony and, in a Symfony app, enable the bundle in config/bundles.php. In Laravel there is no bundle registration step, so installation alone will not produce tracing. Check composer.json constraints first because the package may not install cleanly alongside your Laravel and Symfony component versions.
Which PHP and Laravel versions are supported?
Version 3.1.0 adds PHP 8.0 and 8.1 support and uses openzipkin/zipkin-php 3.0, but it caps at PHP 8.1. Laravel 11 requires PHP 8.2+, so it is ruled out; Laravel 10 ships Symfony 6.2 and 6.3, and the package's symfony constraints are not documented as supporting those versions. Treat the composer constraint check as a mandatory first step.
How do I configure the Zipkin reporter and sampling?
Configuration goes through the bundle's DI extension in Symfony, where you set the reporter endpoint and sampling settings along with service naming. The package is built on Zipkin PHP tracing components, so reporter and sampler behavior follows that library. In Laravel you would have to recreate this configuration manually in a service provider.
What Symfony components does the bundle instrument?
The bundle wires tracing into Symfony's kernel.request and kernel.response events and includes instrumentation for Doctrine and HTTP clients. Its value is concentrated in that DI extension and those event listeners. Laravel does not expose the same kernel events, so the inbound and outbound seams must be rebuilt as middleware and Guzzle middleware.
Does it trace Doctrine queries and Symfony Messenger jobs?
Yes in the Symfony context, where the instrumentation targets Doctrine DBAL and Symfony Messenger. It does not cover Eloquent or Laravel Queues, which are separate integration seams. Those DB and queue spans would be net-new work in a Laravel port.
How do I propagate B3 headers to downstream services?
The outbound HTTP client instrumentation is the portable piece: it adds B3 headers so downstream services can continue the trace. In Laravel, Http wraps Guzzle, so a Guzzle middleware is the natural place to replicate that behavior. You would also need an inbound middleware to extract B3 headers and start the request span.
Is jcchavezs/zipkin-symfony actively maintained and production-ready?
Treat it as alive but not actively maintained. Version 3.1.0 arrived after roughly a three-and-a-half-year gap as a chore-only release covering the PHP version matrix and a tracer bump, with no features or bug fixes. The project has 27 stars, zero dependents, and a single maintainer, so there is little production usage to surface bugs.
Should I use Zipkin or OpenTelemetry for Laravel distributed tracing?
For a new Laravel project, OpenTelemetry is usually the better bet because PHP instrumentation has consolidated there and it is the CNCF standard. Zipkin-native instrumentation is a shrinking ecosystem, and you can still export to a Zipkin backend through the OpenTelemetry Collector. Adopting this bundle buys a proprietary API surface for a backend you can reach from OTel anyway.
Does tracing work with Laravel Octane and queued jobs?
There is no evidence the package supports Octane or long-lived workers, and its Symfony event wiring does not address span state leaking between requests. Queued job context propagation is not covered either, since the bundle targets Symfony Messenger rather than Laravel Queues. Both would need explicit design in a Laravel fork.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo