APM, tracing, profiling

As a hosting provider, I’d like to have the best performances for my users.
To be able to improve, we first need to measure.

I’d like to answer a simple question, how much time is spent on php, filesystem, cache(redis) or db(mysql).
Then, I’d be able to identify bottlenecks easily.

I searched, but didn’t find much.

I saw that and I used NewRelic in the past, but what would be a free software version of these tools?

I’m sure somebody is using Prometheus or Elastic to do such things. I’m wondering if anybody can share experience on how to set this up.

Elastic doesn’t have PHP yet.
And I’m not sure there is an easy way to trace php with prometheus.

This is open to discussion :slight_smile: I don’t think there is a clear answer, but I’d be glad to hear nice ideas!

Did you find anything? I’m trying also to debug/profile nextcloud.

I’m using php-fpm and it allows to set a slow-log which is somewhat useful:

slowlog = /var/log/$pool.log.slow
request_slowlog_timeout = 1s
request_slowlog_trace_depth = 20