datadog_trace

APM and distributed tracing for PHP


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

License: BSD 3-Clause

Latest releases

Version Release Download
1.3.1 2024-09-06 datadog_trace-1.3.1.tgz
1.3.0 2024-08-30 datadog_trace-1.3.0.tgz
1.2.0 2024-07-22 datadog_trace-1.2.0.tgz
1.1.0 2024-06-10 datadog_trace-1.1.0.tgz
1.0.0beta1 2024-04-16 datadog_trace-1.0.0beta1.tgz
Show all releases

Changelog

Version Message
1.3.1 ## Tracer

### Fixed
- Fix DD_AUTOLOAD_NO_COMPILE #2833
- Loader: Use the same version number as for other extensions #2838
- Consider ifunc symbols also defined Datadog/libdatadog#609
- Fix crash with double parent key in tracestate #2837
- Fix #2831: Failure with LTO #2839

### Internal
- Avoid using non-bundled rust git dependencies #2827
1.3.0 ## Tracer

The default value for datadog.log_backtrace is now set to true, meaning that on compatible systems, a segmentation fault will cause the process's backtrace to be printed in the log.

### Added
- Add SpanEvents support for DD and OTEL #2754
- Symfony Messenger Integration #2749
- Add crashtracker #2763

### Changed
- Updates the expected telemetry tags for OTel env-var mapping in line with the latest RFC #2775

### Fixed
- Multiple Workers in SWOOLE_BASE mode #2778
- Fix ini creation when `--extension-dir` is used #2789
- Fix fatal error when reading uninit $meta on a span #2790
- Fix JIT crash with instrumented generators #2797
- Handle absolute paths in extension_dir containing forward slashes #2798
- Fix setup with spaces in path to php binary #2803
- Fix #2774: shared hooks removal caused xdebug end handler to be skipped #2780
- Fix error message for not loaded/not available #2810
- Implement fallback for when memfd is not available on Linux Datadog/libdatadog#591
- Use the Windows User ID as sidecar identifier instead of the Session ID Datadog/libdatadog#558
- Fix error check in trampoline.c Datadog/libdatadog#569
- Do not implicitly fall back to spl_autoload() if no autoloader is registered on PHP 7 #2822
- Prevent crash in shutdown if hook was not stored #2824

### Internal
- Send x-datadog-test-session-token metric and send metrics to request-replayer #2802
- Only warn on missing `json` extension #2805
- Fix compilation after alpine container upgrade #2811
- Telemetry v2 schema for app-started payload requires 'configuration' Datadog/libdatadog#543

## Profiling

### Added
- Add timestamp to exception sample #2793

### Internal
- Perf: remove profiler mutex #2714

## Application Security Management

### Added
- Automated user ID collection modes #2782
- Report backtraces #2715

### Changed
- Support loading appsec helper in sidecar Datadog/libdatadog#565

### Fixed
- Refactor the sampler to fix errors #2761
1.2.0 This release adds beta support for PHP Single Step Instrumentation, allowing the instrumentation
of your PHP applications without the manual installation of the dd-trace-php extension.

Read https://docs.datadoghq.com/tracing/trace_collection/automatic_instrumentation/single-step-apm/ for
more details.

## Tracer

### Added
- Add span field meta_struct #2673
- Add config to disable obfuscation in memcached queries #2725
- Add PDO spans to orphans removal #2743
- Make generators replaceable #2718
- Source Code Integration #2731
- OpenAI Integration #2685
- Add support for Single Step Instrumentation #2684 #2723

### Fixed
- Fix PHP binary detection in package post-install script #2707
- Handle OTel HTTP semantic conventions < 1.21.0 #2717
- Respect the active service/env/version for metric tags #2742
- Fix post bailout hook execution in 8.3 unoptimized builds #2737
- Fix env&version tags leaking in metrics #2745
- Fix global priority sampling #2728
- Fix crash in OpenTelemetry Span::getCurrent() when accessing span link #2767

### Internal
- Compile sidecar and extension separately, to link them together later #2741
- Sync with libdatadog for telemetry flush data intval #2757

## Profiling

### Internal
- Keep string cache data alive longer #2668
- Extract func is_internal() #2736
- Less unsafe code #2739
- Refactor fork handling #2747

## Application Security Management

### Fixed
- Refactor the sampler to fix errors #2761

### Internal
- Upgrade helper to use WAF 1.18.0 #2660
- Add more logs around schema extraction #2755
1.1.0 ## Tracer

### Added
- Implement OTel config remapping #2691
- Remap OTel to DD status code #2695

### Fixed
- Apply some fixes with sidecar trace sender #2680, #2686, #2689, #2698, #2700
- Don't treat Symfony 2 differently from other versions #2693
- Ensure DDTRACE_G(active_stack) is always NULL when the root span is being pushed #2701

### Internal
- Switch 2 logs to logev to avoid useless work #2679
- shrink size of Rust artifacts #2696

## Profiling

### Added
- Add `thread id` label on every sample #2692

### Internal
- Reduce memory usage by upgrading libdatadog to v10 #2697
1.0.0beta1 This beta release contains all breaking changes planned for dd-trace-php 1.0. An upgrade guide can be found at https://github.com/DataDog/dd-trace-php/blob/1.0.0beta1/UPGRADE-1.0.md.

## Tracer

### Added
- Add --ini and --extension-dir installation option #2620
- CodeIgniter 3 Compatibility #2515
- Add CakePHP 3+ Support #2618

### Changed
- Cleanup deferred loader and remove some PHP 5 compat code #2527
- Change DD_TRACE_SAMPLING_RULES_FORMAT default from regex to glob #2534
- Raise API errors instead of debug logs when wrong arguments are passed #2542
- Change WordPress Default Behavior #2525
- [OTel] Only set resource info on root spans #2558
- Remove early code execution and use an autoloader instead #2530
- Remove deprecated configuration keys or APIs #2574
- Drop Configuration classes from API #2596

### Fixed
- Elasticsearch: Hook not being removed #2616
- Fix shared compilation on macOS
- Fix host Scopes not being removed #2624
- Add note about update_span_duration semantics #2622

### Internal
- Use a global version and change installer tests to use the version #2537
- Clean PHP 5 checks #2584
- Collect 'logs_created' internal metric #2604
- Make the root Makefile macOS compatible #2614
- Add stats reporting for sidecar and telemetry #2621
- Clean Integration configuration #2598
- Re-added spans_created telemetry metric Datadog/libdatadog#391

## Application Security Management

### Fixed
- Disable Appsec when FrankenPHP SAPI is detected #2617
Show complete changelog