lightstep/tracer

LightStep instrumentation API

1.1.2 2020-12-10 22:56 UTC

README

Latest Stable Version Circle CI MIT license

The LightStep distributed tracing library for PHP.

Installation

composer require lightstep/tracer

The lightstep/tracer package is available here on packagist.org.

Getting started

<?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.

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

Developer Setup

brew install composer
make install
make test