Skip to content
This repository has been archived by the owner on Jul 31, 2023. It is now read-only.

census-ecosystem/opencensus-php-exporter-zipkin

Warning

OpenCensus and OpenTracing have merged to form OpenTelemetry, which serves as the next major version of OpenCensus and OpenTracing.

OpenTelemetry has now reached feature parity with OpenCensus, with tracing and metrics SDKs available in .NET, Golang, Java, NodeJS, and Python. All OpenCensus Github repositories, except census-instrumentation/opencensus-python, will be archived on July 31st, 2023. We encourage users to migrate to OpenTelemetry by this date.

To help you gradually migrate your instrumentation to OpenTelemetry, bridges are available in Java, Go, Python, and JS. Read the full blog post to learn more.

OpenCensus Zipkin Exporter for PHP

This library provides an ExporterInterface for exporting Trace data to a Zipkin instance.

CircleCI Packagist PHP-Version

Installation & basic usage

  1. Install the opencensus/opencensus-exporter-zipkin package using composer:

    $ composer require opencensus/opencensus-exporter-zipkin:~0.1
  2. Initialize a tracer for your application:

    use OpenCensus\Trace\Tracer;
    use OpenCensus\Trace\Exporter\ZipkinExporter;
    
    Tracer::start(new ZipkinExporter('my-service-name'));

Customization

Configuring the Zipkin endpoint

You may provide an optional initialization parameter for the Zipkin endpoint. This value should be a full URL to the v2 spans endpoint.

$exporter = new ZipkinExporter('my-service-name', 'http://example.com:9411/api/v2/spans');

Configuring the local IPv4 or IPv6 address

Zipkin allows you to optionally specify the host IP address of the server that is handling the traced requests.

For IPv4:

// gethostbyname may make a DNS query, so you may want to cache this
$ipv4 = gethostbyname(gethostname());
$exporter->setLocalIpv4($ipv4);

Similarly, you may set the local IPv6 address if you can obtain it:

$exporter->setLocalIpv6($ipv6);

Versioning

Packagist

This library follows Semantic Versioning.

Please note it is currently under active development. Any release versioned 0.x.y is subject to backwards incompatible changes at any time.

GA: Libraries defined at a GA quality level are stable, and will not introduce backwards-incompatible changes in any minor or patch releases. We will address issues and requests with the highest priority.

Beta: Libraries defined at a Beta quality level are expected to be mostly stable and we're working towards their release candidate. We will address issues and requests with a higher priority.

Alpha: Libraries defined at an Alpha quality level are still a work-in-progress and are more likely to get backwards-incompatible updates.

Current Status: Alpha

Contributing

Contributions to this library are always welcome and highly encouraged.

See CONTRIBUTING for more information on how to get started.

Releasing

See RELEASING for more information on releasing new versions.

License

Apache 2.0 - See LICENSE for more information.

Disclaimer

This is not an official Google product.