You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bramble currently exposes Prometheus metrics; I'd like to replace this with CloudWatch metrics instead.
Would it make sense to refactor instrumentation.go so that it operated as a plugin, so that users could configure a different metrics backends instead?
There's not much in instrumentation.go that's mostly some helpers to build up log output for request events. metrics.go has the prometheus implementation.
It could be refactored to allow plugging in another metrics implementation. As a first draft idea I think having a plugin return a metrics implementation interface (so the main plugin interface only needs one new method added) and that interface could then mirror the current metrics collection calls.
It does also look like you could use cloudwatch_exporter or something similar.
Activity
pkqk commentedon Aug 25, 2024
Hi @Quantumplation,
There's not much in
instrumentation.gothat's mostly some helpers to build up log output for request events.metrics.gohas the prometheus implementation.It could be refactored to allow plugging in another metrics implementation. As a first draft idea I think having a plugin return a metrics implementation interface (so the main plugin interface only needs one new method added) and that interface could then mirror the current metrics collection calls.
It does also look like you could use cloudwatch_exporter or something similar.