PHP Extension 5.7.0 released

  • New Feature: MongoDB instrumentation improvements to include anonymized query information about operations. This is an opt-in feature for now with the INI-setting tideways.features.mongodb_experimental=1.
  • New Feature: Automated instrumentation of Kafka producers using the rdkafka extension.
  • New Feature: \Tideways\Profiler::markAsCliTransaction() for HTTP-based cronjob functionality.
  • New Feature: Shopware 6 Instrumentation for Service Layer functions to provide more context in Timeline and Flamegraphs
  • Improvement: Support for upcoming Shopware 6.6.
  • Improvement: The Shopware 5 HTTP-based cronjob is no longer assigned to the literal cli service, instead it is marked as a CLI transaction and thus assigned to the proper CLI subservice.
  • Improvement: The hash to trigger traces, e.g. via the Tideways commandline client, is validated using a timing-safe comparison when running PHP 8.2 or greater.
  • Improvement: The INI setting tideways.enable_cli now defaults to 1.
  • Improvement: The INI settings tideways.dynamic_tracepoints.enable_* now default to 1.
  • Improvement: The filename embedded into the class name of an anonymous class is shortened to the basename to allow for stack trace deduplication when deploying into release-specific webroots.
  • Improvement: Handling of segmentation faults can now be enabled within the FPM configuration using php_admin_value[tideways.log_segfaults]=1 or env[TIDEWAYS_LOG_PHPSEGFAULT]=1.
  • Improvement: Handling of segmentation faults is more reliable when facing memory corruption and when using non-x86/amd64 architectures.
  • Improvement: The Garbage Collection Cycle Collector now has its own frame within the Callgraph.
  • Bugfix: Under some rare conditions the composer package information feature could lead to a crash. Follow-up to fix in 5.6.8
  • Bugfix: \Tideways\Profiler::start() no longer modifies the state of the global Mersenne Twister.
  • Bugfix: Tracing-mode instrumentation for CakePHP 4.x was fixed.
  • Bugfix: The closure naming implementation has been fixed to correctly count repeated calls to closures, implicitly fixing the performance issues that caused it to be disabled by default in Tideways 5.4.18.
  • Bugfix: preg_replace_callback no longer breaks Callgraphs when PCRE argument capture is enabled.
  • Bugfix: Included files whose first statement is a single-parameter function call no longer incorrectly attribute their top-level statements to the including function within the Callgraph.

Components

  • PHP Extension

Published

19.03.2024