Profiling is an essential part of application development, where optimizing performance and resource efficiency are important. It is also useful for troubleshooting performance and crash issues. Profilers provide details about code execution, which are otherwise not available through logging and code instrumentation. A typical profile provides a statistic, e.g. CPU usage or allocated memory, for every line of code highlighting the hot spots.
To complement distributed tracing, runtime metrics, log analytics, Synthetic Monitoring, and Real User Monitoring, we’ve made another addition to the application developer’s toolkit to make troubleshooting performance issues even faster and simpler. Continuous Profiler is an always-on, production code profiler that enables you to analyze code-level performance across your entire environment, with minimal overhead.
This Summer Release of Tideways builds on the previous Beta Announcements in May's Spring Release and marks the general availability of This new functionality is fully available by updating the Tideways PHP Extension to version 5.2.4 and the Daemon to version 1.6.18. In addition to rolling out new features, we also renamed the concept of "Application" in Tideways to "Project" and we provide a detailed explanation why at the end of this post.
We are releasing a new stable minor version of the Tideways PHP extension 5.1 today, which will include a few new features that we have been writing about before and a few new ones that we have cooked up in the last few weeks.
We have just released the PHP Extension version 5.0.62 which includes a new feature, instrumentation for GraphQL queries made using the webonyx/graphql-php package, the most widespread GraphQL server package for PHP, for example by Magento 2.
The PHP INI setting memory_limit is important to configure right for two reasons. To help you finding the right memory_limit setting Tideways now offers two additional ways to see the maximum memory in use.
All Tideways applications with a Pro license can now create additional production Environments in addition to the one that is available by default. Configuring a second or more environments as "production" effects the retention and the traces/minute collected for these environments. By default non-production environments have just 1 day of retention and 1 trace/minute.
Tideways history functionality is still mostly based on the features available 4 years ago, before we introduced Services and Environments, Downstream Layers and many others. Time for a redesign of the history to include support for all the features and data that are available now. By using the UI elements from the performance overview our we also introduce a familiar look and feel, where the previous history screen used its own widgets.
The PHP community is large and diverse in their approach to build and run PHP applications. We have seen hundreds of small applications running on a handful of servers and one product running on multiple clusters and hundreds of servers across the globe. Still, we believe all PHP applications regardless of size benefit from monitoring, profiling and exception tracking functionality.