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.91.0
1 year 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.91.0 change log


This release adds an enhanced WordPress integration, which can be enabled through datadog.trace.wordpress_enhanced_integration=1 in INI. Even more extensive span collection can be enabled through datadog.trace.wordpress_callbacks=1.

### Added
- Add automated login events to Wordpress #2162
- Enhance the WordPress Integration #2126
- Implement agent sampling #2223
- Add Laravel 9.X & 10.X tests #2237
- Add http.route to laravel #2204 #2241

### Fixed
- (Legacy OpenTracing API) Check if the active span has a parent #2177
- Handle killed workers and change root span initialization in the integrations #2176
- fix: add Symfony command's exception to the root span #2194
- Fix #2174: Can't pass less args to an untyped function than originally passed #2227, #2243
- Fix #2232: Add Cargo.lock to pecl #2233
- fix: wrong service name on some laravel.event.handle spans #2235
- fix: PHP7 compatibility in logs correlation #2236
- Store library_dependencies in memfd, referenced via /proc/self/fd/X DataDog/libdatadog#221
- fix `datadog-setup.php` when INI file is a symlink #2242
- update webpki and other dependencies #2247

### Internal Changes
- Add log levels #2158
- Add `zai_option_str` and use it in config #2205, #2213
- Refactor zai_string_view APIs and use them more #2203
- Rename zai_string_view to zai_str #2206, #2207, #2212
- Require zai_str.ptr to not be null #2214
- Add zai_string and use it in zai_config #2217
- Fix tests: allocate less TLS space by putting uhook HashTables into module globals #2219
- Add sidecar metrics into their own namespace, fix seq id Datadog/libdatadog#220

## Profiling

This release reduces CPU overhead to collect stacks, and also reduces overhead when services are idle or partially idle. It also reduces the average amount of memory used.

### Added
- attach fiber's function name as a label #2169

### Fixed
- enable allocation profiling only if profiling is enabled #2185
- enable timeline only if profiling is enabled and lower overhead when disabled #2189
- fix empty profiles with timeline due to `end_timestamp_ns` unit being set #2244

### Internal changes
- perf: speed up stack walking by using function run_time_cache #1998, #2182
- perf: only wake every 10ms if PHP is serving a request #2168
- refactor: extract ZaiStringView::to_string #2175
- build: update Cargo.lock #2183
- refactor: simplify string tables #2186
- perf: use u32 instead of usize for string table indices #2187
- test: add Datadog\Profiling\trigger_time_sample #2201
- build: Update to Rust 1.71 / LLVM 16 #2208
- Bump libdatadog to v3.0.0 #2210
- fix(profiling): clippy lints #2215
- style(profiler): use let-else syntax #2216
- build(profiling): bump dependencies including libdatadog v4.0.0 #2228

## Application Security Management (0.13.1)

### Added
- Add trusted IPs capability DataDog/dd-appsec-php#279
- Add extra_services configuration DataDog/dd-appsec-php#282

### Fixed
- Ensure ddtrace is also enabled DataDog/dd-appsec-php#281
- Fix service name alias configuration DataDog/dd-appsec-php#293

### Internal changes
- Add automated login events integration test for Laravel and Symfony DataDog/dd-appsec-php#270
- Upload suppressions and fix current ones DataDog/dd-appsec-php#280
- WAF upgrade to 1.13.1 Datadog/dd-appsec-php#292
- Send events even when limiter does not force manual keep Datadog/dd-appsec-php#290
- Update ruleset to 1.7.2 Datadog/dd-appsec-php#291

requires:

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