PHP Extension 5.15.0 released

  • New Feature: The experimental MongoDB instrumentation added in Tideways 5.7.0 replaces the old MongoDB instrumentation. The new instrumentation is more reliable and provides better insights into the commands used.
  • Improvement: Add various missing instrumentation for MySQLi functionality, such as the transaction-control functions.
  • Improvement: Add instrumentation for newer pecl/memcache functionality, such as the MemcachePool class and the CAS command.
  • Improvement: Use UTF-8-aware truncation for PCRE argument capture.
  • Improvement: Add vendor boundaries for elasticsearch/elasticsearch.
  • Improvement: Expose the underlying HTTP span for Elasticsearch requests.
  • Improvement: Improve Callgraph for Shopware 6, by disambiguating calls to Shopware’s integrated profiler.
  • Improvement: Logical conjunctions, such as ['field' => ['$gt' => 0, '$lt' => 10]] are now correctly reported in the mongo.filter annotation.
  • Improvement: The instrumentation for colinmollenhour/credis, which amongst others, is used by Magento now supports the tideways.features.redis_keys feature.
  • Improvement: Spans created for HTTP requests performed with PHP’s streams API will now end when the stream is closed, previously they only indicated the time spent on setting up the connection.
  • Improvement: Configure a reasonable timeout for the daemon to respond to a tracepoint request. The tideways.timeout setting only restricts the time for the connection, not the time waiting for the response.
  • Bugfix: Fix instrumentation of parameter-less mysqli_connect().
  • Bugfix: Fix possible crash when using the procedural mysqli_stmt_execute() function.
  • Bugfix: Fix various cases of broken span error reporting for MySQLi.
  • Bugfix: Correctly report non-standard ports in MySQLi DSN.
  • Bugfix: Fix MongoDB layer accounting in monitoring mode.
  • Bugfix: Fix the http.status annotation for failing HTTP requests if a custom stream notification callback is attached.
  • Bugfix: Fix the http.status annotation for redirected HTTP requests when PHP’s streams API.
  • Bugfix: Fix possible crash when opening HTTP streams using another stream wrapper, such as gzopen().

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.