SdkMetricPublisherService to inject metric publishers with ServiceLoader
- Vorherrschende Sprache
- Java
- Sterne
- 2.6k
- Forks
- 1k
- Ø Merge
- 2 T. 9 Std.
- Gemergte PRs (30 T.)
- 51
Beschreibung
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
Beitragsleitfaden
Rechercherichtung
Beginne mit dem Dokument zum Metrikdesign, insbesondere mit Option 3, und untersuche anschließend die bestehende Konfiguration der Metriken auf Anfrage- und Clientebene. Ermittle, wie SdkMetricPublisherService und MetricPublisher dargestellt werden und wo die Clientkonfiguration zusammengestellt wird. Als abgeschlossen gilt die Aufgabe, wenn Umgebungswerte oder Systemeigenschaften die ServiceLoader-Erkennung auslösen und die ermittelten Publisher in alle Clients injiziert werden, mit Tests, die dieses Verhalten abdecken.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- observability-sre
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100