PHP Extension 5.39.0 released

  • Improvement: Laravel’s Kernel::boot() now creates a full span and Kernel::terminate() is newly instrumented.
  • Improvement: Create spans for Laravel bootstrappers.
  • Improvement: Calls to WordPress’ do_action() and apply_filters() functions now create full spans of type event.
  • Improvement: Create spans for webonyx/graphql-php’s query parser and validator.
  • Improvement: Create spans for webonyx/graphql-php object and field retrieval. The resulting timeline now represents the hierarchical nature of a GraphQL query execution.
  • Bugfix: Fix potential crash when interacting with a Span object after a Profiler::watchCallback() already finalized it.
  • Bugfix: Fix potential crash when executing an invalid GraphQL query with webonyx/graphql-php.
  • Bugfix: Allow changing custom variables set with Profiler::setCustomVariable() by calling it again with the same key.

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.