datadog_trace

pecl install datadog_trace

APM and distributed tracing for PHP

The Datadog PHP Tracer brings APM and distributed tracing to PHP.

Maintainer

  • Anil Mahtani Mirchandani (lead )
  • Levi Morrison (lead )
  • Luca Abbati (lead )
  • Bob Weinand (lead )
  • Joe Watkins (lead )
  • Pierre Bonet (lead )
  • Alejandro Estringana Ruiz (lead )
  • Sammy Kaye Powers (lead ) [inactive]
  • Florian Engelhardt (lead )
  • Luc Vieillescazes (lead )

Details

Stars: 369
Issue openned: 89
Downloads: 240509
0.94.0
9 months ago
Request a build
Request to the website owner's team the built this extension with this parameters. The result is not guaranteed and can be impossible for many reasons. The extension source code is frequently not upto date with the most recent PHP version.
If you have another code source for this extension, provide it in comment.
Please (or register) to request a build.
Version 0.94.0 change log


This release adds support to OpenTelemetry so that you can use the OpenTelemetry API to generate Datadog spans. This is off by default. Enable it with the environment variable `DD_TRACE_OTEL_ENABLED=1` or INI setting `datadog.trace.otel_enabled=1. Also, the tracer now generates 128 bits trace ids by default, in an effort to match OpenTelemetry standards.

## Tracer
### Added
- Set _dd.base_service when overriding service name for a span #2275
- OpenTelemetry API #2332
- Add tracing for curl_multi_exec() #2347
- CakePHP http.route implementation #2360

### Changed
- Enable 128-bit trace ID generation by default #2358, #2368
- Respect DD_LOGS_INJECTION default value #2365
- Completely avoid instrumenting the PSR NullLogger #2367
- Inject the _dd.dbm_trace_injected tag only when full propagation is enabled #2346
- Retain tracestate from tracecontext if extracted at all #2359

### Fixed
- Handle extra arguments for internal overrideArgs #2348
- Fix possible double-free with hooks on internal methods inherited by user classes #2372
- Fix crash with functions with no run_time_cache yet #2373
- Workaround php bug #81634 in PHP 8.0-8.1.0 #2353
- Fix PHP5: The Magento Integration is not part of PHP5 #2363
- Fix orphans removal when 128-bit is enabled #2366
- Use _dd.agent_psr instead of _dd.rule_psr for agent sampling #2370

### Internal changes
- Add xfail for Zend/tests/stack_limit/stack_limit_013.phpt on PHP 8.3 #2371

## Profiling
### Added
- Add idle phases to timeline #2343

### Fixed
- perf: increase allocation sampling distance #2350, #2364

### Internal changes
- add DD_PROFILING_WALLTIME_ENABLED for testing #2316

requires:

  • php >=7.0<=8.3.99
  • pearinstaller >=1.4.0
  • json