Skip to content

MinDBreaK/jaeger-php

This branch is 20 commits ahead of jukylin/jaeger-php:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
MinDBreaK
Apr 18, 2021
f49e9e3 · Apr 18, 2021
Apr 18, 2021
Apr 17, 2021
Apr 17, 2021
Apr 17, 2021
May 8, 2019
Apr 17, 2021
Apr 17, 2021
Jul 6, 2019
Apr 17, 2021

Repository files navigation

PHP Version License

⚠️ Not stable - WIP

jaeger-php

Install

Install via composer.

composer config minimum-stability dev
composer require mindbreak/jaeger-php

Init Jaeger-php

$config = Config::getInstance();
$tracer = $config->initTracer('example', '0.0.0.0:6831');

128bit

$config->gen128bit();

Extract from Superglobals

$spanContext = $tracer->extract(Formats\TEXT_MAP, $_SERVER);

Start Span

$serverSpan = $tracer->startSpan('example HTTP', ['child_of' => $spanContext]);

Distributed context propagation

$serverSpan->addBaggageItem("version", "2.0.0");

Inject into Superglobals

$clientTrace->inject($clientSpan1->spanContext, Formats\TEXT_MAP, $_SERVER);

Tags and Log

// tags are searchable in Jaeger UI
$span->setTag('http.status', '200');

// log record
$span->log(['error' => 'HTTP request timeout']);

Close Tracer

$config->setDisabled(true);

Zipkin B3 Propagation

no support for Distributed context propagation

$config::$propagator = \Jaeger\Constants\PROPAGATOR_ZIPKIN;

Finish span and flush Tracer

$span->finish();
$config->flush();

More example

Features

  • Transports

    • via Thrift over UDP
  • Sampling

    • ConstSampler
    • ProbabilisticSampler

Reference

OpenTracing

Jaeger

About

Jaeger Bindings for PHP OpenTracing API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%