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 to1
. - Improvement: The INI settings
tideways.dynamic_tracepoints.enable_*
now default to1
. - 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
orenv[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.