consider using the OpenTelemetry pecl package for core performance instrumentation

Created on 16 June 2023, about 1 year ago
Updated 22 May 2024, 25 days ago

Problem/Motivation

Related to ✨ Add OpenTelemetry Application Performance Monitoring to core performance tests Fixed and πŸ“Œ Add open-telemetry/sdk and open-telemetry/exporter-otlp as dev dependencies Fixed , see 🌱 Automated performance testing for core Active for the high level overview.

OpenTelemetry has a PECL package that allows for 'auto-instrumentation', what this means is you pick any method in your code base, write an instrumentation hook (yes that's what they call them), and then opentelemetry will create a span for that method. https://opentelemetry.io/docs/instrumentation/php/automatic/

The database API has an event/logging API which is somewhat similar to this (see πŸ“Œ Allow assertions on the number of database queries run during tests RTBC ), but this lets you do similar for arbitrary parts of the code base without having to write decorators etc. you just define the opentelemetry hooks, and then you get the data, without adding any application logic at all.

This would let us collect information like how long different parts of routing/access take, entity rendering, database queries, cache sets and gets etc.

We'd still need to define the hooks in core so they can be used and show up in Jaeger/Prometheus or equivalents etc., it's not completely 'auto' in that sense.

Steps to reproduce

Proposed resolution

Add the opentelementry PECL extension to the test runners.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

🌱 Plan
Status

Active

Version

11.0 πŸ”₯

Component
BaseΒ  β†’

Last updated less than a minute ago

Created by

πŸ‡¬πŸ‡§United Kingdom catch

Live updates comments and jobs are added and updated live.
  • Performance

    It affects performance. It is often combined with the Needs profiling tag.

Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.69.0 2024