elastic / elastic/apm-agent-java

Allow plugins to override global excludes

Aperta
#2,200 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
agent-java new-feature
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.