SdkMetricPublisherService to inject metric publishers with ServiceLoader
- Lingua principale
- Java
- Stelle
- 2.6k
- Fork
- 1k
- Merge medio
- 2g 9h
- PR unite (30g)
- 51
Descrizione
In the [metrics design document](https://github.com/aws/aws-sdk-java-v2/blob/master/docs/design/core/metrics/Design.md) 3 options are defined to enable metrics.
Option 1, at request level, and option 2, at client level, are currently available. But [Option 3](https://github.com/aws/aws-sdk-java-v2/blob/master/docs/design/core/metrics/Design.md#option-3-configuring-metricpublishers-using-system-properties-or-environment-variables), to enable it by default everywhere using environment values or system properties, is missing.
The proposal is that if it is enabled in the environment/system properties, a `ServiceLoader` will look for all classes implementing the `SdkMetricPublisherService` and us it to inject `MetricPubliser`s in all clients.
But this is not implemented.
It would be very nice to have this solution, as it would allow us to enable metrics without adapting code.
We are wondering what the status of this option 3 currently is.
Is it still actively worked on? Is it abandoned, and if so why? Or is it just somewhere on the roadmap?
- [x] I may be able to implement this feature request
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia dal documento di progettazione delle metriche, in particolare dall’Opzione 3, quindi esamina la configurazione esistente delle metriche a livello di richiesta e di client. Identifica come sono rappresentati SdkMetricPublisherService e MetricPublisher e dove viene assemblata la configurazione del client. Il lavoro è completato quando i valori dell’ambiente o le proprietà di sistema attivano la discovery tramite ServiceLoader e iniettano i publisher individuati in tutti i client, con test che coprano questo comportamento.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- observability-sre
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 42/100