Skip to content

All Sourcegraph components can export standardized sets of metrics

Created by: bobheadxi

Problem to solve

Today, our services do not export uniform metrics. With various implementations and custom metrics, this makes it difficult to interpret what a user is actually experiencing when the metrics are being viewed by an individual, or take any meaningful action if it isn't clear what the metric represents. It's also been noted that custom metrics can be very expensive, which we'd like to avoid.

In order to accurately display what users are experiencing when using Sourcegraph and provide a way to determine service issues more easily, we should export metrics using the RED method.

Measure of success

  • Services adhere to and export a standardized set of Rate, Error and Duration based metrics, which are consumable via more meaningful dashboards.
  • The handbook documents this implementation and how to use it effectively
  • Migration to use the new metrics is in progress for any service not currently using it.

Solution summary

We will propose a migration of any services not currently using the RED metrics package to provide better information for our users.

Artefacts:

What specific customers are we iterating on the problem and solution with?

Internal Sourcegraph developers, and those teams who consume these metrics most often (Customer Engineering, Delivery, Cloud DevOps).

Impact on use cases

This effort contributes to the company-wide effort to improve Observability.

Delivery plan

  • Investigate existing proposals, issues, and problem space
  • Prepare a draft docs page with standardized proposal
  • Partner with team to implement and refine the implementation approach
  • Start performing migration of services to new metrics

Tracked issues

@bobheadxi: 3.00d

Completed: 3.00d

@michaellzc

Legend

  • 👩 Customer issue
  • 🐛 Bug
  • 🧶 Technical debt
  • 🎩 Quality of life
  • 🛠Roadmap
  • 🕵Spike
  • 🔒 Security issue
  • 🙆 Stretch goal