All Projects → jcchavezs → dd-trace-php

jcchavezs / dd-trace-php

Licence: GPL-3.0 license
[DEPRECATED] Use https://github.com/dataDog/dd-trace-php instead

Programming Languages

PHP
23972 projects - #3 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to dd-trace-php

Zipkin Go
Zipkin tracer library for go
Stars: ✭ 435 (+2316.67%)
Mutual labels:  trace, distributed-tracing
Jaeger Client Ruby
OpenTracing Tracer implementation for Jaeger in Ruby
Stars: ✭ 59 (+227.78%)
Mutual labels:  trace, distributed-tracing
Zipkin Go Opentracing
OpenTracing Bridge for Zipkin Go
Stars: ✭ 472 (+2522.22%)
Mutual labels:  trace, distributed-tracing
go-sensor
🚀 Go Distributed Tracing & Metrics Sensor for Instana
Stars: ✭ 90 (+400%)
Mutual labels:  trace, distributed-tracing
Opencensus Web
A stats collection and distributed tracing framework
Stars: ✭ 168 (+833.33%)
Mutual labels:  trace, distributed-tracing
Jaeger Ui
Web UI for Jaeger
Stars: ✭ 639 (+3450%)
Mutual labels:  trace, distributed-tracing
Opencensus Java
A stats collection and distributed tracing framework
Stars: ✭ 640 (+3455.56%)
Mutual labels:  trace, distributed-tracing
Applicationinsights Python
Application Insights SDK for Python
Stars: ✭ 114 (+533.33%)
Mutual labels:  trace, distributed-tracing
Opencensus Go
A stats collection and distributed tracing framework
Stars: ✭ 1,895 (+10427.78%)
Mutual labels:  trace, distributed-tracing
Opencensus Csharp
Distributed tracing and stats collecting framework
Stars: ✭ 126 (+600%)
Mutual labels:  trace, distributed-tracing
apollo-link-tracer
Trace your apollo queries and mutations with https://github.com/apollographql/apollo-link
Stars: ✭ 20 (+11.11%)
Mutual labels:  datadog, trace
Opencensus Node
A stats collection and distributed tracing framework
Stars: ✭ 249 (+1283.33%)
Mutual labels:  trace, distributed-tracing
Dd Trace Java
Datadog APM client for Java
Stars: ✭ 228 (+1166.67%)
Mutual labels:  datadog, distributed-tracing
Ansible Datadog
Ansible role for Datadog Agent
Stars: ✭ 223 (+1138.89%)
Mutual labels:  datadog
opentracing-istio-troubleshooting
Tackle the challenge of observability in a Kubernetes application that consists of multiple microservices running in the Open Liberty application server.
Stars: ✭ 16 (-11.11%)
Mutual labels:  distributed-tracing
Dd Trace Py
Datadog Python APM Client
Stars: ✭ 220 (+1122.22%)
Mutual labels:  datadog
Dd Trace Js
JavaScript APM Tracer
Stars: ✭ 212 (+1077.78%)
Mutual labels:  datadog
kiev
A set of tools to do distributed logging for Ruby web applications
Stars: ✭ 46 (+155.56%)
Mutual labels:  distributed-tracing
QuickTraceiOSLogger
A real time iOS log trace tool, view iOS log with pc web browser under local area network, which will automatically scroll like xcode. 一个实时的iOS日志跟踪工具,在局域网中使用 PC Web 浏览器查看 iOS 日志,它将像xcode一样自动滚动。
Stars: ✭ 16 (-11.11%)
Mutual labels:  trace
Terraform Provider Datadog
Terraform Datadog provider
Stars: ✭ 213 (+1083.33%)
Mutual labels:  datadog

DataDog Trace PHP

Build Status Total Downloads License

This library contains Datadog's tracing client. It is used to trace requests as they flow across web servers, databases and microservices so that developers have visibility into bottlenecks and troublesome requests.

Tracer has two core objects: Tracers and Spans. Spans represent a chunk of computation time. They have names, durations, timestamps and other metadata. Tracers are used to create hierarchies of spans in a request, buffer and submit them to the server.

The tracing client can perform trace sampling. While the trace agent already samples traces to reduce bandwidth usage, client sampling reduces performance overhead.

Installation

DD Trace can be installed by composer:

composer require jcchavezs/dd-trace

Example

use DdTrace\Tracer;
use GuzzleHttp\Exception\RequestException;

$tracer = Tracer::noop();
$client = new GuzzleHttp\Client();

$span = $tracer->createRootSpan("http.client.request", "example.com", "/user/{id}");

$url = "http://example.com/user/123";

try {
    $response = $client->get($url);

    $span->setMeta("http.status", $response->getStatusCode());
    $span->setMeta("http.url", $url);
} catch (RequestException $e) {
    $span->setError($e);
}

$span->finish();

Unit testing

Run in the source folder:

make test
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].