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.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
0.99.1 2024-04-04 datadog_trace-0.99.1.tgz
0.99.0 2024-04-02 datadog_trace-0.99.0.tgz
Show all releases

Changelog

Version Message
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
0.99.1 ## Tracer

### Changed
- revert ?Send spans_created telemetry metric #2577? to fix a memory leak

### Fixed
- Fix compilation on macOs #2613
0.99.0 ## Tracer

Windows x64 support is officially GA (generally available).

Some performance work has been undertaken to primarily reduce the overhead of telemetry reporting.
The next release will be version 1.0 and remove deprecated and some unused code and APIs.

### Added
- Support the [FrankenPHP](https://frankenphp.dev/) SAPIs #2602
- Add zts support for alpine #2564
- Swoole Integration #2595

### Changed
- w3c phase 2: add last parent_id to tracestate #2549

### Fixed
- Handle relative ext/ paths and test the windows installer #2559
- Fix exec integration build on PHP 8.4 #2543
- Fix Orphans not being sampled-out #2550
- Fix fibers with tracer disabled #2576
- Update update_span_duration return type #2586
- Fix #2563: ddtrace overrides php error log permissions #2583
- Allow hooking an inherited internal constructor #2591
- Distinguish architectures on windows #2593
- Fix the ExecIntegration name #2597

### Internal
- Get rid of some bitwise checking in ddog_shall_log #2539
- Use faster bincode for ipc #2544
- Update to use DDOG_CHARSLICE_C and new DDOG_CHARSLICE_C_BARE helpers #2565
- Slightly Improve OTel Performances #2561
- Send spans_created telemetry metric #2577

## Profiler
### Added
- add [FrankenPHP](https://frankenphp.dev/) to the list of recognised SAPIs #2523
- enabled allocation profiling for PHP ZTS #2506
- report PHP build (`nts-ndebug` vs `zts-ndebug`) #2536

### Internal
- add tests for exception profiling in ZTS builds #2562
- update to libdatadog v7 #2605

## Application Security Management
### Added
- Add DD_API_SECURITY_ENABLED flag #2532
- Add DD_APPSEC_SCA_ENABLED new configuration variable #2557

### Fixed
- Make Laravel appsec login success event more accurate #2600
- Enable appsec by ini only when enable-appsec present #2567
- Provide path params to appsec #2395
Show complete changelog