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.6.2 2025-01-10 datadog_trace-1.6.2.tgz
1.6.1 2025-01-09 datadog_trace-1.6.1.tgz
1.6.0 2025-01-08 datadog_trace-1.6.0.tgz
1.5.1 2024-11-19 datadog_trace-1.5.1.tgz
1.5.0 2024-11-18 datadog_trace-1.5.0.tgz
Show all releases

Changelog

Version Message
1.6.2 ## Tracer
### Fixed
- Restore MESSAGE_* types #3031
- Fix stats computation of background sender
1.6.1 ## Tracer
### Fixed
- SpanLink::fromHeaders() crash with no or invalid propagated tags #3025
1.6.0 ## Tracer
### Added
- Kafka Integration #3004
- `8.4` supported version in `datadog-setup.php` #2984 (thanks @greg0ire)
### Changed
- Leave a hint at what to do if the temp dir is not writable in installer #3015
### Fixed
- JIT enabled detection in SSI loader #2971
- Block signals for more functions #2999
- Use-after-free with live-debugger #2989
- root span name in Slim V4 #3020
- PHP 8.4 deprecations #2981 (thanks @JeppeKnockaert)
- Avoid repeated processing of internal functions #3022
### Internal
- `library_entrypoint.start` metric #3009
- Bump rust to 1.78 #3005
- Exit if execv failed #2983
- Compatibility with newest arginfo gen_stub from PHP 8.4 #2973

## Application Security Management
### Added
- Support for endpoint, header, network and session fingerprints #2955
- WAF telemetry #2735
- Implement LFI #2770
- ASM Standalone #2903, #3001
### Changed
- Upgrade libddwaf to v1.22.0 #3007
### Fixed
- Restart usleep() on EINTR #3002
- recv/writev calls in the face of interrupting signals #3008
- Blocking from a hook is not stopping code execution #2836

## Profiling
### Fixed
- crash on PHP 8.4 #3019 (thanks @SanderVerkuil)
- Mismatch in UTF8 handling #2990
1.5.1 ## Tracer

### Added
- Add mysqli_real_query to MysqliIntegration #2965

## Application Security Management

### Fixed
- Bridge more musl/glibc diffs in aarch64 Datadog/nginx-datadog#140
1.5.0 ## Tracer

### Added
- PHP 8.4 support #2758
- Support Tag Keys for DD_TRACE_HEADER_TAGS #2922
- Add stubs for the Public PHP API #2933
- These are available as datadog_tracer.stubs.php release asset
- Collect agent info and apply the env for remote config #2930

### Changed
- Increase read timeout of sidecar for synchronous flushes #2910
- Implement Universal Service Tracking Consistency #2896
- Updating Default Rate Limit Value and Usage Based on Sample Rate #2912

### Fixed
- Fix a possible crash in zai config #2906
- Fix crash when yielding from generators are destroyed #2908
- Fix bad hasThis() check on PHP 7.0 #2911
- Fix RootSpanData writer interception on consecutive calls #2919
- Fix DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP Empty Value Behavior #2909
- Handle hooks on trampoline fake closures #2925
- Fix crash with locals collection in generator close sequence #2932
- Avoid the hook frame in mysqli connection error tracking #2937
- Support multiple PHP_INI_SCAN_DIR's #2941
- Fix use-after-free in exception replay #2947
- Fully disable the sidecar on lambda by setting all related configs to false #2948
- Fix Symfony Messenger propagation to non-instrumented clients #2956
- Fix JIT crash: There may or may not be a readable ZEND_TRACE_OP_INFO() #2942
- Block remote config signals during ftp functions #2957
- Deduplicate Debugger diagnostics in sidecar Datadog/libdatadog#736
- Handle case where the applictaion is stopped without other telemetry sent Datadog/libdatadog#743

### Internal
- Create many tiny artifacts for faster download #2951
- Using datadog-setup.php will now download less than 50 MB for a single PHP version
- Add names to memfds Datadog/libdatadog#714
- Allow attaching to the sidecar via gdb Datadog/libdatadog#687

### SSI Loader changes
- Fix compatilibity with PHP 5 #2939
- Fix crash when the loader is loaded multiple times #2954

## Profiling

### Added
- Add fatals and thread start/end events to timeline #2820
- Add thread names #2934
- Add timeline active check for fatals #2945
- Add stream_select()-type functions to timeline #2943
- Visualise opcache restarts in the timeline #2946

## Application Security Management

### Changed
- Disable helper when appsec is fully disabled #2935

### Fixed
- Fix heap corruption after apache reloads (appsec) #2928

### Internal changes
- Update spdlog so it works with recent musls #2921
- Bump libddwaf to 1.20.1 #2913
Show complete changelog