Our in-process data collectors, also known as “the tracers,” collect a lot of span data across our customers’ applications and services. And by a lot, we mean it. In September 2021, these components collected 38,320,426,250,000 unique spans, which mark a specific transaction. For those of you counting at home, that’s 38.3 trillion.
When looking at the following graphs and numbers, please always consider that this reflects our customer base, not necessarily indicating general trends among all of the community.
The “entry” is the kind of span that is recorded when a call “enters” a system. Could be a browser making an HTTP request or a message from a queue that enters the system.
If we take only entries into account, PHP is the 6th most used platform to record “entry” type interactions. That’s 591,959,461,000 interactions with PHP systems. 591.9 billion. What a number! And this is only a single month.
In September 2021 alone, Instana tracers collected 38.3 trillion unique spans, which mark a specific transaction.
Recognizable PHP spans
There are some span types we only record for PHP environments. These include known frameworks or template engines. There are many others that originate in PHP applications such as calls to databases/caches and messaging systems, but those we only record for PHP.
|php||entry spans||59.1 billion|
|pdo||common PHP database interaction||57.5 billion|
|symfony||The Symfony Framework HTTP layer||8.4 billion|
|wordpress||WordPress actions||7.2 billion|
|twig||Twig template engine (often used in conjunction with Symfony)||2.9 billion|
|laravel||Laravel framework HTTP layer||2.6 billion|
|blade||Blade template engine (almost exclusively used in conjunction with Laravel)||1.9 billion|
|laminas||Laminas Framework HTTP Layer||1.8 billion|
|laminasview||The Laminas View Layer||1.1 billion|
|php.error||Errors recorded through PHPs error system||625 million|
|zfview||Zend Framework View engine||375 million|
|zf||Zend Framework HTTP interactions||274 million|
Some direct observations:
- Across the Instana customer base, the Symfony framework is roughly three times as popular as Laravel, when it comes to pure route invocations
- The Laminas framework accounts for way more transactions than the predecessor Zend framework
Interactions with PHP and version usage
Due to our combination of infrastructure and tracing data, we can tell a lot about which versions handle the most transactions across our customer systems. Instana currently supports PHP runtimes all the way from PHP 5.3 to 8.0.
This is a report from our internal analytics engine, showing that PHP 7 has overtaken PHP 5 (yay!), and the share of PHP 8 is still small but present.
The minor version distribution highlights PHP 5.5 as the most used version when it comes to the number of transactions, directly followed by PHP 7.4.
When we exclude the customer who is the top producer of PHP spans, we get a more representative picture:
PHP 7 runtimes are producing the majority of span data when removing the single biggest contributor of spans.
Interactions with PHP and CPU architecture
Since Instana’s inception, we’ve carried forward 64bit and 32bit versions of our PHP tracing extension, and we added support for aarch64 when AWS launched their EC2 ARM lineup.
In an attempt to focus on where it matters, we did some analysis on the CPU architectures in use and this is the picture, which speaks for itself:
Apparently, amd64 is the primary platform for our existing customers and 32bit consumers are non-existent. Aarch64 usage is also close to non-existent.
This will greatly help us scoping down further development of our Enterprise Observability platform, but you only know when you know!
Do you want to work with the PHP engine at scale? Come join us! We have a job offer out 🙂