Regarding metrics collection, will you consider a PR that replaces the hard dependency on prometheus with a dependency on one or more metrics interfaces? It will keep prometheus as the default/example implementation. Background:
We have a fork of bazel-remote to wire in our internal services (app config, logging, health checks, etc.). We also try (aspire?) to keep our fork as close to the upstream as possible. This is somewhat manageable with a separate main package and the available interfaces.
Internally we don't officially support prometheus. With the existing metrics implementation I think there are two options to avoid modifying upstream code:
- Enable prometheus and run a sidecar (or goroutine) to periodically collect and transform metrics to our format.
- Wrap cache handlers and inspect request/responses for basic things like cache hits/misses. I don't know if this is possible with the gRPC server.
I have a general idea what this looks like but want to gauge interest before committing to a PR. Thanks!
Regarding metrics collection, will you consider a PR that replaces the hard dependency on prometheus with a dependency on one or more metrics interfaces? It will keep prometheus as the default/example implementation. Background:
We have a fork of bazel-remote to wire in our internal services (app config, logging, health checks, etc.). We also try (aspire?) to keep our fork as close to the upstream as possible. This is somewhat manageable with a separate
mainpackage and the available interfaces.Internally we don't officially support prometheus. With the existing metrics implementation I think there are two options to avoid modifying upstream code:
I have a general idea what this looks like but want to gauge interest before committing to a PR. Thanks!