LightStep instrumentation API

1.1.2 2020-12-10 22:56 UTC


Latest Stable Version Circle CI MIT license

The LightStep distributed tracing library for PHP.


composer require lightstep/tracer

The lightstep/tracer package is available here on

Getting started


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";
    $child = LightStep::startSpan("child_span", array(parent => $span));
    $child->logEvent("hello world");

See lib/api.php for detailed API documentation.

Setting collector endpoint and port

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 over port 443 using TLS.

Developer Setup

brew install composer
make install
make test