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

Php Jaeger Laravel Package

adata-team/php-jaeger

PHP client for Jaeger distributed tracing. Instrument PHP services to record request and downstream-call spans, report them to a Jaeger agent or collector, and visualize traces across microservices for debugging and performance analysis.

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Php Jaeger
What is adata-team/php-jaeger used for?
It is a PHP client for Jaeger, the distributed tracing backend, so you can instrument a service to record request-level and downstream-call spans. Those spans are reported to a Jaeger agent or collector, where you can visualize a full trace across multiple microservices. Typical uses are debugging slow requests, finding which downstream dependency is the bottleneck, and understanding call flow between services. It is a tracing client, not a monitoring dashboard or metrics library.
How do I install adata-team/php-jaeger with Composer?
Install it like any other Composer package with composer require adata-team/php-jaeger. Commit the updated composer.json and composer.lock so the same version is installed everywhere. Because it is a library rather than a Laravel auto-discovered bundle, expect to wire the tracer into your application bootstrap or service provider yourself. Verify the installed version with composer show adata-team/php-jaeger.
Does this package work with Laravel or is it framework-agnostic?
It is a general PHP Jaeger client, so nothing ties it to Laravel specifically, but it can be used inside a Laravel app. In practice you would register the tracer as a singleton in a service provider and start a span early in the request lifecycle. There is no built-in Laravel middleware or facade, so you own the integration glue and the span lifecycle. If you want zero-configuration Laravel support, an OpenTelemetry-based package may fit better.
How do I configure the Jaeger agent host, port and service name?
Configuration is done in PHP when you construct the tracer, passing the service name and the agent or collector endpoint. The service name is what you will see in the Jaeger UI, so use a stable, meaningful value per application. The README lists the exact constructor options and defaults for the current release. Keep these values in environment variables so staging and production can point at different Jaeger instances.
Can I report spans to a Jaeger collector over HTTP instead of the local agent?
Jaeger supports both the UDP agent model and direct submission to the collector, and the client exposes the endpoint configuration for whichever you use. Sending directly to the collector is common in containerised or serverless environments where no sidecar agent is running. Check the README for the supported transport and endpoint options in your version. If your infrastructure already runs a Jaeger agent DaemonSet or sidecar, the agent route is usually simpler.
Which PHP versions and Laravel versions are supported?
The supported PHP range is declared in the package's composer.json require block, so check that first against your runtime. Because the library is framework-agnostic, Laravel compatibility mostly depends on the PHP version your Laravel release supports rather than on the package itself. Older Laravel versions on end-of-life PHP are the most likely source of friction. Run composer why-not adata-team/php-jaeger to see exactly which constraint blocks installation.
How do I create custom spans for database queries or HTTP calls to other services?
You start a child span before the operation and finish it afterwards, attaching tags such as the HTTP method, URL, status code or SQL statement. The finished span is then reported alongside the parent request span so Jaeger can render the full call tree. For Guzzle or PDO you can wrap the client in a small decorator to avoid scattering instrumentation through your code. Keep tag values low-cardinality where possible, since raw URLs and IDs can bloat trace storage.
Will enabling tracing slow down my application in production?
Tracing adds measurable but usually small overhead, dominated by span creation and the network write to the agent or collector. Reporting is typically asynchronous or buffered so a slow Jaeger backend does not block request handling, but you should confirm the behaviour in the README for your version. Use sampling to keep only a percentage of traces in high-traffic services, and always test under realistic load. Never let a tracing failure throw an exception into your request path; wrap reporting in defensive error handling.
How can I verify that spans are actually reaching Jaeger?
The quickest check is the Jaeger UI search page: filter by your service name and look for recent traces. If nothing appears, confirm the agent or collector host and port, the UDP versus HTTP transport, and that sampling is not set to zero. For local development, run Jaeger with its all-in-one Docker image and point the client at it. Adding a temporary log line when a span is finished helps separate instrumentation problems from transport problems.
How does adata-team/php-jaeger compare with OpenTelemetry or other tracing libraries?
This package speaks Jaeger's native client model, which is a good fit if your stack is already Jaeger-only and you want a lightweight, dependency-light integration. OpenTelemetry is vendor-neutral, has broader framework auto-instrumentation including Laravel, and is where most of the ecosystem's active development is happening. Choosing OpenTelemetry buys portability to other backends but adds more moving parts and configuration. Review the package's release history and open issues before committing, and isolate tracing behind your own interface so you can swap implementations later.
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.
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
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections