Weave Code
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
Instana Php Opentracing

Instana Php Opentracing Laravel Package

instana/instana-php-opentracing

Instana’s OpenTracing implementation for PHP. Send traces to an Instana Agent via the PHP sensor (default port 16816) or REST SDK endpoint (port 42699). Provides InstanaTracer helpers, tags, and span types for instrumenting PHP apps.

View on GitHub
Deep Wiki
Context7

Instana Opentracing Client

Frequently asked questions about Instana Php Opentracing
Does this package work with Laravel 9 and PHP 8.x, or will I need to fork it?
The package’s last release was in 2018, so it likely lacks native support for Laravel 9 or PHP 8.x. You may need to use a compatibility layer like `php-compat` or create a wrapper to handle breaking changes. Test thoroughly, as some OpenTracing APIs could conflict with modern PHP features.
How do I instrument Laravel’s HTTP requests (e.g., routes, middleware) with this tracer?
Use Laravel middleware to wrap requests in spans. For example, create a middleware that starts a span before `$next($request)` and finishes it in a `finally` block. The package’s `InstanaTracer` and `GlobalTracer` classes provide the necessary OpenTracing APIs for this.
Can I trace Laravel queues (e.g., jobs dispatched via `dispatch()`) with this package?
No, the package doesn’t natively support Laravel queues. You’ll need to manually instrument job execution by wrapping `handle()` methods in spans using `GlobalTracer::get()->buildSpan()`. Consider a library like `spatie/laravel-activitylog` for inspiration on job instrumentation.
Is Instana the only observability tool this package supports, or can I use it with other tracers?
This package is specifically for Instana’s OpenTracing implementation. While it adheres to the OpenTracing standard, switching to another tracer (e.g., Jaeger) would require replacing the `InstanaTracer` with a compatible alternative. Instana’s proprietary format may limit flexibility.
How do I handle sampling to avoid performance overhead in high-traffic Laravel APIs?
Instana’s OpenTracing client supports sampling via the `setSampler()` method on the tracer. Configure it to sample a percentage of requests (e.g., 10%) or use adaptive sampling based on latency. For Laravel, apply sampling in middleware or a service container binding to avoid global overhead.
Will this package work with Laravel’s Eloquent ORM for database query tracing?
No, the package doesn’t include Eloquent instrumentation. To trace database queries, you’d need to manually wrap `DB::` calls or Eloquent methods in spans. Libraries like `barryvdh/laravel-debugbar` offer query tracing but aren’t integrated here.
What’s the best alternative if Instana is deprecated or unsupported in my Laravel version?
Consider migrating to OpenTelemetry (e.g., `open-telemetry/opentelemetry-php`), which is the modern successor to OpenTracing. It offers vendor-agnostic instrumentation and Laravel support via packages like `spatie/laravel-open-telemetry`. Instana’s abandonment makes this a safer long-term choice.
How do I disable tracing in development vs. production environments?
Use Laravel’s environment-based configuration (e.g., `.env`) to toggle tracing. Initialize the tracer conditionally: `if (app()->environment('production')) { $tracer = new InstanaTracer(...); GlobalTracer::set($tracer); }`. Alternatively, wrap tracer initialization in a service provider’s `boot()` method with environment checks.
Can I use this package with Laravel Vapor (serverless) or other non-traditional deployments?
The package should work with Vapor, but you’ll need to manually handle cold starts and context propagation. Ensure spans are properly named and that AWS Lambda’s execution context is preserved. Test thoroughly, as serverless environments may introduce latency or tracing gaps.
Are there any known issues with error handling or span context propagation across services?
The package supports HTTP header-based context propagation (Baggage, TraceContext), which works for cross-service tracing. However, errors in spans may not auto-capture Laravel exceptions unless manually logged. Use `span->setTag('error', true)` and `span->log()` for custom error tracking.
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.
besmartand-pro/php-quality-config
sentix/ai-chatbot
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity