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