elastic / elastic/apm-agent-java
Add ability for automatic URL path pattern discovery
- Vorherrschende Sprache
- Java
- Sterne
- 594
- Forks
- 338
- Ø Merge
- 1 T. 13 Std.
- Gemergte PRs (30 T.)
- 25
Beschreibung
When [the `use_path_as_transaction_name` config option](https://www.elastic.co/guide/en/apm/agent/java/current/config-http.html#config-use-path-as-transaction-name) is used, this can lead to transaction name explosion if path parameters are used. For this purpose, we also have [the `url_groups` config option](https://www.elastic.co/guide/en/apm/agent/java/current/config-http.html#config-url-groups), but it requires (possibly complex) user configuration.
By applying the algorithm presented [in this POC](https://github.com/eyalkoren/warehouse/tree/master/url-pattern-recognition/src/eyal/koren/url/recognition), the agent can auto-discover URL path patterns and use them as transaction names.
The additional advantage of implementing this now is that we will have the option of testing this algorithm, which we may want to employ in the future to facilitate head-based sampling.
Beitragsleitfaden
Rechercherichtung
Beginnen Sie mit der Durchsicht der vorhandenen Dokumentation zur Konfiguration von use_path_as_transaction_name und url_groups und untersuchen Sie anschließend den verlinkten POC zur Erkennung von URL-Mustern. Legen Sie fest, wie erkannte Muster zu Transaktionsnamen werden sollen, fügen Sie Testabdeckung für den Algorithmus und seine Integration hinzu und verifizieren Sie, dass parametrisierte Pfade nicht mehr zu einer Explosion der Transaktionsnamen führen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- observability-sre
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100