Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Propose a stable metrics API #21

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions problem/0000-metrics-v1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Linkerd Metrics v1

- Contribution Name: metrics-v1
- Implementation Owner:
- Start Date: 2020-04-23
- Target Date:
- RFC PR:
- Linkerd Issue:
- Reviewers: @grampelberg @adleong

## Problem Statement

[problem-statement]: #problem-statement

Linkerd's `stat` API powers both the command-line and web interfaces, but
it's tailored closely to their use cases and it has evolved only to express
the features of these tools. Therefore, anyone trying to access this data
must access Linkerd's Prometheus API directly. This presents several
problems:

1. Cluster operators need guidance on how to support Linkerd's Prometheus
data. There should be guidance on how to manage cardinality (especially in
larger clusters) and how to support multi-tenant environemnts.
2. Consumers have inadequate documentation and tools to access Linkerd's
metrics data. The proxy's metrics export has been treated as an
implementation detail and not a public API. Information is exposed in such a
way that a consumer essentially has to understand how the proxy is
implemented to know how to interpret the data.

The goal of this RFC is to define an external-facing metrics API for Linkerd.
This API should be stable, versioned, and extensible to support additional
protocols, metrics, and metadata (via future RFCs).