Skip to content

Metrics interface(s) #355

@bdittmer

Description

@bdittmer

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:

  1. Enable prometheus and run a sidecar (or goroutine) to periodically collect and transform metrics to our format.
  2. 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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions