Skip to content

The Lightstep distributed tracing library for PHP

License

Notifications You must be signed in to change notification settings

bigcommerce/lightstep-tracer-php

 
 

Repository files navigation

lightstep-tracer-php

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

About

The Lightstep distributed tracing library for PHP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 59.2%
  • Twig 19.7%
  • JavaScript 16.5%
  • CSS 4.1%
  • Makefile 0.5%