auxmoney/jaeger-php
OpenTracing-compatible PHP client for Jaeger distributed tracing (fork of jukylin/jaeger-php). Create a Config to init a Tracer, extract SpanContext from headers/server vars, start spans, add tags/logs/baggage, then flush to send traces.
opentracing/opentracing-php standards.Jaeger\SpanContext::getIterator(), indicating upstream OpenTracing/PHP API changes may require future attention.Guzzle, Illuminate\Queue) be needed?opentracing/opentracing-php).Jaeger\SpanContext usage.JaegerMiddleware).Tracer (custom decorator).composer.json constraints).SpanContext::getIterator() may require codebase scans for usage.| Step | Priority | Effort | Dependencies | Updated Notes |
|---|---|---|---|---|
| Set up Jaeger agent | High | Medium | DevOps/K8s/Docker | Monitor for agent compatibility issues. |
| Instrument HTTP | High | Low | Laravel middleware | Scan for SpanContext deprecation usage. |
| Instrument queues | Medium | Medium | Custom job wrappers | None. |
| Add storage backend | Low | High | DevOps (Elasticsearch) | None. |
| Monitor overhead | Ongoing | Low | APM tools | Add deprecation warning alerts. |
SpanContext::getIterator() signals potential future breaking changes. Plan for:
laravel-jaeger fork).SpanContext deprecation and its impact on trace context propagation.| Failure Scenario | Impact | Mitigation | Updated Notes |
|---|---|---|---|
| Jaeger agent down | No trace collection | Deploy agent in each environment | Monitor agent health metrics. |
| Collector storage failure | Lost traces | Replicate storage backend | Test backup/restore procedures. |
| High trace volume | Agent/collector overload | Enable sampling (e.g., 1% of spans) | Updated: Prioritize sampling in PoC. |
| PHP process crashes | Incomplete spans | Ensure finally blocks close spans |
Scan for SpanContext deprecation usage. |
| Network partition (agent) | Missing cross-service traces | Fallback to local logging | Document fallback procedures. |
| OpenTracing API changes |
How can I help you explore Laravel packages today?