Stackify was founded with the goal of giving developers the all the tools they need to troubleshoot and monitor their applications. We are very excited to announce that we now have support for PHP monitoring to go along with support for .NET and Java applications.
Retrace is an application performance management (APM) solution that combines code-level performance pricing, centralized logging, error tracking, and more. Stackify Retrace is used by thousands of developers all over the world. Retrace can be used for proactively improving the performance of your applications as well as monitoring your PHP applications.
Retrace works by installing our extension within your PHP application. Our profiler for PHP is written in high-performance C code and tracks the usage and performance of key methods in your code. Retrace is designed to have very low overhead and is safe to run on production applications. Our APM solution is considered to be “agent-based” and requires our agent to be installed on your server or container host.
Retrace is supported with any PHP web application running on Linux. Docker and Kubernetes are fully supported. Check out our documentation to learn more.
Retrace for PHP v1.0 includes support for the most common frameworks and versions of PHP on Linux.
- PHP: v5.4-v5.6, v7.0-v7.2
- Web servers: Apache, NGINX
- Common MVC frameworks: Laravel, CodeIgniter, Zend, Symfony, Yii, CakePHP, and others
- Containers: Docker & Kubernetes
Automatic instrumentation is also supported for many common frameworks like SQL, curl, Redis, MongoDB, and many more. Please see our documentation for the full list of supported frameworks.
Retrace will also automatically collect many exceptions that may be thrown in your PHP applications. These exceptions will automatically be sent to Retrace’s error tracking dashboard. Please note that support for Monolog and some other logging scenarios for logs and exceptions are also supported. Retrace’s full functionality for log management and error tracking work for PHP.
Retrace collects performance data from your applications and makes it easy to figure out how to improve the performance of your web applications and troubleshoot bugs. Retrace is also very powerful for PHP performance monitoring.
Retrace is designed to automatically instrument key methods in your PHP code. This includes standard PHP frameworks and dependencies. We all know that fixing and finding bugs in production is complex and difficult. Retrace offers lightweight application profiling that is safe for production usage and can help detect errors and performance problems at the code level.
Below is an example of a trace collected by Retrace for PHP:
Today’s applications rely on many different dependencies and frameworks. Utilizing Microsoft Azure, Google Cloud, or Amazon Web Services makes it very easy to use a wide array of Platform as a Service offerings.
They make it easy to use various services including caching, queueing, SQL, NoSQL, and much more. All of these dependencies add a ton of value for your PHP applications. They also introduce potential points of failure within your PHP applications. It is important to be able to monitor and understand how all of these services impact the performance of your applications.
Below is an example of an application that is having some performance spikes from Redis. Retrace makes it so you can quickly see the big spikes and identify the root cause as Redis.
Retrace also tracks the performance of every unique MVC action or page within your PHP application.
Most PHP web applications rely heavily on a centralized SQL database. There are a lot of scenarios where database problems cause major performance problems within your PHP applications. Detailed SQL monitoring is critical to PHP performance monitoring.
Retrace automatically tracks all of the SQL queries being executed by your PHP web applications. It uniquely identifies each query and removes dynamic data used in the queries for security.
Application errors are typically the first thing that developers look for when things are not working correctly. PHP exceptions can happen for a wide array of issues and can definitely cause performance problems.
Retrace provides robust error tracking and monitoring for PHP. It can send you emails when a new PHP exception is found or when error rates are high. We always suggest monitoring the error rates for your applications. They provide a good safety check for detecting weird application problems.
Retrace automatically de-duplicates your PHP exceptions and makes it easy to see what unique exceptions are occurring, how long they have been happening, and much more.
Regardless of which PHP logging framework you are using, one of the benefits is being able to send all of your PHP logs to a centralized log management solution like Retrace.
With Retrace you can view and search all of your PHP logs across every environment, application, and server. This makes it easy to quickly troubleshoot problems with your PHP applications.
Below is the sample screen capture of Retrace’s log viewer:
Over the next few months, we plan to continually make improvements to our support for PHP. This includes adding automatic instrumentation support for additional frameworks, as well as special functionality for things like WordPress.
At the time of the v1.0 release, instrumenting non-web applications is not supported for PHP. We also do not support instrumenting your own custom methods that are not automatically instrumented. As part of our continued enhancements, we plan to add support for non-web applications and custom method instrumentation. This is currently estimated as Q1 of 2019.
In the future, we also plan to test and support additional deployment scenarios of PaaS providers.
We are very excited to be launching support for PHP. We have supported .NET and Java for a long time and are excited to be broadening our support for various programming languages. We are actively working on support for additional languages!
Sign up for a free trial today to get Retrace for PHP a try!
- What Is NullReferenceException? Object reference not set to an instance of an object - March 11, 2020
- C# Exception Handling Best Practices - March 4, 2020
- IIS Error Logs and Other Ways to Find ASP.Net Failed Requests - November 6, 2019
- List of .Net Profilers: 3 Different Types and Why You Need All of Them - October 30, 2019
- View SQL Queries From Your Code With Prefix - October 22, 2019