- What is affordablemobiles/open-telemetry-operations-php used for?
- It is an OpenTelemetry operations layer for PHP applications, focused on configuring and managing traces, metrics, logs, resource attributes, exporters, and health signals. In Laravel it is typically wired through a service provider so services can emit telemetry with less boilerplate. It sits as a transport and adapter layer rather than a full framework package.
- How do I install affordablemobiles/open-telemetry-operations-php in a Laravel app?
- Install it with Composer alongside the OpenTelemetry PHP SDK and API packages, then register its service provider in Laravel or rely on package auto-discovery if provided. You will also need a PSR-18 HTTP client such as Guzzle and valid Google Cloud credentials for the exporter. Verify the package's Composer constraints before installing because SDK version pins are a likely blocker.
- Which PHP and Laravel versions does this package support?
- The evaluation context indicates a realistic baseline of PHP 8.1 or newer with Laravel 10 or 11, but the package's own composer.json should be treated as authoritative. Check the OpenTelemetry SDK constraint as well, since a 2024-era pin may not resolve against current SDK releases. Do not assume Laravel 12 support without verifying the package metadata.
- Is this package a fork of Google's official OpenTelemetry Operations for PHP?
- It is very likely a fork or derivative of Google's official open-telemetry/opentelemetry-operations-php, based on its GCP exporter and propagator focus. The context flags this as a risk because the repository has one star, zero dependents, and a single corporate maintainer. Compare its code and release history against the official package before adopting it.
- Does it support traces, metrics, and logs?
- The overview describes helpers for traces, metrics, and logs, and the evaluation specifically calls out Cloud Trace spans and Cloud Monitoring time series. However, the technical assessment questions whether coverage is traces only or also metrics and logs, so confirm the exact exporter support in the source. Do not assume full log export without checking the implementation and README.
- How do I configure Google Cloud credentials for this exporter?
- On Cloud Run, GKE, or App Engine, Application Default Credentials and GOOGLE_CLOUD_PROJECT are usually ambient, so configuration can be minimal. Off GCP you will likely need a service-account key file, which means adding a secrets-management and rotation story. The package is described as using OTLP-style and GCP Operations export configuration, so confirm the exact environment variables and options in its docs.
- Does this package work with Cloud Run, GKE, and App Engine?
- Yes, the design targets Google Cloud Operations, including Cloud Trace and Cloud Monitoring, and it understands the X-Cloud-Trace-Context header used by GCP load balancers. On Cloud Run, GKE, and App Engine, ambient credentials and project detection reduce setup work. Off GCP you need to provide credentials explicitly.
- How are exporter errors and shutdown flushes handled?
- The context warns that exporter errors are often swallowed in batch processors, so silent export failures are a real risk. It also flags shutdown and flush behavior for FPM and Octane as a key question that should be documented and tested. Before production, verify how the package surfaces errors and whether it provides a reliable flush path.
- Is this package safe to use in production?
- Treat it as a risk-managed adoption rather than a drop-in production dependency. The repository shows signs of an internally extracted package: one star, zero dependents, a single corporate maintainer, and a last release around April 2024. A sensible path is to spike it in non-production, compare it with the official Google package, and vendor-fork it if you adopt it.
- What are alternatives to this package for OpenTelemetry in Laravel?
- The main comparison points are Google's official open-telemetry/opentelemetry-operations-php and a vendor-neutral OpenTelemetry Collector sidecar using the googlecloud exporter. The collector-mediated approach is often the safer baseline because it decouples your app from a specific exporter package. Run a bake-off with both exporters pinned and instrumenting the same Laravel service before deciding.