❗ This instrumentation is no longer recommended. Please review documentation on setting up and configuring the OpenTelemetry PHP API and SDK for more information on using OpenTelemetry with PHP.
The LightStep distributed tracing library for PHP.
composer require lightstep/tracer
The lightstep/tracer
package is available here on packagist.org.
<?php
require __DIR__ . '/vendor/autoload.php';
LightStep::initGlobalTracer('examples/trivial_process', '{your_access_token}');
$span = LightStep::startSpan("trivial/loop");
for ($i = 0; $i < 10; $i++) {
$span->logEvent("loop_iteration", $i);
echo "The current unix time is " . time() . "\n";
usleep(1e5);
$child = LightStep::startSpan("child_span", array(parent => $span));
usleep(2e5);
$child->logEvent("hello world");
$child->finish();
usleep(1e5);
}
$span->finish();
See lib/api.php
for detailed API documentation.
You can override the default endpoint and port that spans are sent to by setting collector_host
and collector_port
options when initalizing the tracer.
For example when using the global initializer:
LightStep::initGlobalTracer('examples/trivial_process', '{your_access_token}', [
'collector_host' => '<FDQN or IP>',
'collector_port' => '<port>'
]);
By default the the tracer sends trace data securely to the public LightStep satellites at collector.lightstep.com
over port 443
using TLS.
brew install composer
make install
make test