hashicorp / hashicorp/consul

http: improve HTTP api metrics with additional labels

Open
#11,220 0 comments 0 reactions 0 assignees View on GitHub
theme/telemetry type/enhancement
Dominant language
Go
Stars
30.1k
Forks
4.6k
Avg merge
1d 18h
Merged PRs (30d)
39

Description

Related to #10250

In Consul 1.9.x we improved our HTTP API metrics to use labels instead of the key to identify the endpoint and HTTP method.

In addition to those labels, we would benefit from a few more.

Specifically a `blocking={true, false}` would be a large improvement. We expect blocking requests to have a very long elapsed time relative to non-blocking queries. By adding a label we'll be able to differentiate between these requests with two very different query behaviours.

This issue may be updated with suggestions for other labels.

Contributor guide

Open the contributing guide

Research direction

Start with related issue #10250 and the existing Consul 1.9.x HTTP API metrics implementation. Confirm how blocking and non-blocking requests are distinguished and where endpoint and method labels are defined. Done means exposing a blocking=true or blocking=false label and verifying the resulting metrics behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, observability
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.