PHP Extension 5.17.0 released

  • New Feature: Tideways now tracks the time the worker spends in the runqueue waiting for the CPU to become available.
  • Improvement: Each MongoDB command span now has peer.host and peer.port annotations, indicating the exact server the command was sent to. The mongo.service annotation on the “connect” span was removed, since the MongoDB client dynamically detects the cluster topology, making this information misleading.
  • Improvement: HTTP requests performed using cURL multi now unconditionally collect a stack trace when calling curl_multi_add_handle(), pointing towards the location where the request is actually initiated, instead of the curl_multi_exec() event loop.
  • Improvement: The list of instrumented commands for PHPRedis has been updated to include newer commands, such as Redis’ stream commands (X*).
  • Bugfix: The exit code will no longer be affected when a fatal error occurs when determining composer versions for inclusion in the PHPInfo payload.
  • Bugfix: Fix a possible crash if a custom stream notification callback is changed on the stream context after a HTTP stream is opened.
  • Change: The tideways.log_outgoing INI setting has been removed.

About the author

Tim Düsterhus

I’m a Software Engineer at Tideways, where I work on the PHP extension. My focus is on helping developers gain accurate insights into the runtime behavior of their applications with minimal overhead.

I’m interested in PHP internals and regularly contribute performance improvements to the PHP engine. I enjoy working on problems where small changes can have a measurable impact on the performance and efficiency of PHP applications. Several of my performance optimizations have become part of PHP itself, helping improve the language for developers worldwide.