Download the PHP package jcchavezs/opentracing without Composer

On this page you can find all versions of the php package jcchavezs/opentracing. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package opentracing

OpenTracing API for PHP

Build OpenTracing Badge Total Downloads Minimum PHP Version License Join the chat at https://gitter.im/opentracing/opentracing-php

PHP library for the OpenTracing's API.

Required Reading

In order to understand the library, one must first be familiar with the OpenTracing project and specification more specifically.

Installation

OpenTracing-PHP can be installed via Composer:

Usage

When consuming this library one really only need to worry about a couple of key abstractions: the Tracer::startActiveSpan and Tracer::startSpan method, the Span interface, the Scope interface and binding a Tracer at bootstrap time. Here are code snippets demonstrating some important use cases:

Singleton initialization

The simplest starting point is to set the global tracer. As early as possible, do:

Creating a Span given an existing Request

To start a new Span, you can use the startSpan method.

Starting a new trace by creating a "root span"

It's always possible to create a "root" Span with no parent or other causal reference.

Active Spans and Scope Manager

For most use cases, it is recommended that you use the Tracer::startActiveSpan function for creating new spans.

An example of a linear, two level deep span tree using active spans looks like this in PHP code:

When using the Tracer::startActiveSpan function the underlying tracer uses an abstraction called scope manager to keep track of the currently active span.

Starting an active span will always use the currently active span as a parent. If no parent is available, then the newly created span is considered to be the root span of the trace.

Unless you are using asynchronous code that tracks multiple spans at the same time, such as when using cURL Multi Exec or MySQLi Polling it is recommended that you use Tracer::startActiveSpan everywhere in your application.

The currently active span gets automatically finished when you call $scope->close() as you can see in the previous examples.

If you don't want a span to automatically close when $scope->close() is called then you must specify 'finish_span_on_close'=> false, in the $options argument of startActiveSpan.

Creating a child span assigning parent manually

Creating a child span using automatic active span management

Every new span will take the active span as parent and it will take its spot.

Serializing to the wire

Deserializing from the wire

When using http header for context propagation you can use either the Request or the $_SERVER variable:

Flushing Spans

PHP as a request scoped language has no simple means to pass the collected spans data to a background process without blocking the main request thread/process. The OpenTracing API makes no assumptions about this, but for PHP that might cause problems for Tracer implementations. This is why the PHP API contains a flush method that allows to trigger a span sending out of process.

This is optional, tracers can decide to immediately send finished spans to a backend. The flush call can be implemented as a NO-OP for these tracers.

Using StartSpanOptions

Passing options to the pass can be done using either an array or the SpanOptions wrapper object. The following keys are valid:

Propagation Formats

The propagation formats should be implemented consistently across all tracers. If you want to implement your own format, then don't reuse the existing constants. Tracers will throw an exception if the requested format is not handled by them.

Mock implementation

OpenTracing PHP comes with a mock implementation, it has three purposes:

  1. Helps to iron the API.
  2. Works as a reference implementation.
  3. Enhances vendor agnostic unit testing as it allows developers to inspect the tracing objects in order to do assertions about them.

Coding Style

OpenTracing PHP follows the PSR-2 coding standard and the PSR-4 autoloading standard.

License

All the open source contributions are under the terms of the Apache-2.0 License.


All versions of opentracing with dependencies

PHP Build Version
Package Version
Requires php Version ^7.1 || ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package jcchavezs/opentracing contains the following files

Loading the files please wait ....