[07:44:01] looks like Grafana Phlare is archived now due to https://grafana.com/blog/2023/03/15/pyroscope-grafana-phlare-join-for-oss-continuous-profiling/ [07:44:16] interestingly pyroscope already purports to have continuous profiling support for PHP using the phpspy profiler [16:00:23] mszabo: see also https://github.com/getsentry/sentry-php/pull/1477 [16:00:48] https://bouma.social/@alex/110066396553286331 [16:00:52] looks pretty interesting [16:01:58] Krinkle: Yeah, I saw the sentry integration, that's pretty cool [16:02:09] not sure why pyroscope went with phpspy, I haven't heard of that one before [17:48:36] I haven't hear dof pyro before but phpspy is pretty cool. [17:49:13] feels similar to https://github.com/benfred/py-spy [17:49:51] I don't know how low its overhead is, but the ergonomics are pretty cool in how it works externally and end to end. [20:06:14] mszabo: I guess the merger avoids a potential tension around Grafana Cloud Phlare conflicting with Cloudflare :) [20:19:38] * AaronSchulz is still figuring out strtotime quirks for https://gerrit.wikimedia.org/r/c/mediawiki/core/+/569628 [20:29:45] Krinkle: heh, yeah [20:29:57] does make me wonder whether phpspy could have been a viable excimer alternative [20:30:05] seems like the project started around the same time [20:30:53] otoh it in itself doesn't seem to handle continuous profiling as well as the arclamp integration and pipeline can with excimer [20:39:30] yeah, I think it's better suited for ad-hoc use locally or in prod, not really continous prod. [20:39:56] but in PHP 8+, with support for perf there could perhaps be a more generic production/continous way of monitoring php externally [20:40:15] I haven't seen anyone do that yet though [20:40:50] and I guess in relation to Grafana/Pyro/Sentry, those tend to want to have more tight integration to gather metadata as well [22:05:59] Krinkle: we first need to see whether PHP 8.1 also segfaults when the JIT is actually enabled, because 8.0 did that for us :) [22:06:34] I think the main issue with perf is the same as with phpspy - the data needs to be shipped off the host somehow and excimer+arclamp makes it very easy because you can implement the push part in application logic (the callback) [22:07:10] plus with unprivileged containers (mw on k8s), the profiler may need to run on the host or in a special privileged container which further complicates the setup [23:25:33] Reedy: closing the loop, with Tim's help I figured it out. The composer check script that was recently added to phpunit, uses output() instead of error() for the warnings leading up to fatalError(), and we use quiet=> true. [23:26:03] The error in question is exactly what I thought it was: composer.json in core wants something that vendor can't meet when you're literally upgrading it. This is exactly why vendor CI disables the same check in update.php [23:26:16] we need to update Quibble to set the ENV var so that it does the same for phpunit now