elastic / elastic/apm-agent-java
Allow plugins to override global excludes
- Lingua principale
- Java
- Stelle
- 594
- Fork
- 338
- Merge medio
- 1g 13h
- PR unite (30g)
- 25
Descrizione
Currently, the agent have a global static list of classes that are excluded from instrumentation.
This list is maintained in `co.elastic.apm.agent.bci.ElasticApmAgent#getAgentBuilder` method.
Also, there is the internal `classes_excluded_from_instrumentation_default` configuration that plugins can't modify.
While simple and effective, this implementation has the following disadvantages:
- for internal plugins: adding support for a class that is currently ignored will require to change this exclusion.
Example : #903 :
- for external plugins: there is no way to bypass the exclusion, hence preventing instrumentation of some classes
Example : https://github.com/elastic/apm-agent-java/issues/1919
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia leggendo co.elastic.apm.agent.bci.ElasticApmAgent#getAgentBuilder e la configurazione interna classes_excluded_from_instrumentation_default. Traccia come interagiscono l’elenco globale delle esclusioni e le decisioni di strumentazione dei plugin, inclusi i casi a cui fanno riferimento #903 e l’issue #1919. Il lavoro è completo quando i plugin possono aggirare le esclusioni globali pertinenti senza indebolire il comportamento predefinito.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- backend
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 35/100