Skip to content

feat(app/inbound): introduce response duration metrics#4420

Merged
cratelyn merged 2 commits intomainfrom
kate/app-inbound.duration-metrics
Feb 11, 2026
Merged

feat(app/inbound): introduce response duration metrics#4420
cratelyn merged 2 commits intomainfrom
kate/app-inbound.duration-metrics

Conversation

@cratelyn
Copy link
Member

@cratelyn cratelyn commented Feb 9, 2026

this commit introduces a new middleware layer to the inbound proxy.
this instruments inbound traffic with Prometheus telemetry that records
response body latency, and emits a histogram of response body durations.

the buckets are chosen to mimic the request and response buckets emitted
by the outbound proxy, with their granularity flipped. in other words,
the inbound proxy is more interested in fine-grained request body
metrics than response body metrics, while the outbound proxy is more
interested in fine-grained response body metrics than request body
metrics.

@cratelyn cratelyn self-assigned this Feb 9, 2026
@cratelyn cratelyn marked this pull request as ready for review February 9, 2026 21:21
@cratelyn cratelyn requested a review from a team as a code owner February 9, 2026 21:21
@cratelyn cratelyn requested review from unleashed and zaharidichev and removed request for a team February 9, 2026 21:22
Copy link
Member

@unleashed unleashed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just a small nit about adding a comment with the rationale for choosing the bucket granularities just like you do for the PR.

this commit introduces a new middleware layer to the inbound proxy.
this instruments inbound traffic with Prometheus telemetry that records
response body latency, and emits a histogram of response body durations.

the buckets are chosen to mimic the request and response buckets emitted
by the outbound proxy, with their granularity flipped. in other words,
the inbound proxy is more interested in fine-grained request body
metrics than response body metrics, while the outbound proxy is more
interested in fine-grained response body metrics than request body
metrics.

* #4418
* #4419

Signed-off-by: katelyn martin <kate@buoyant.io>
@cratelyn cratelyn force-pushed the kate/app-inbound.duration-metrics branch from 6707ef3 to 7684330 Compare February 10, 2026 16:00
@cratelyn
Copy link
Member Author

excuse the force push. i have rebased the branch atop main now that the changes from #4418 and #4419 have landed. no changes to the tail commit (7684330) have been made. feedback above is still outstanding.

this addresses review feedback, and introduces further documentation to
the inbound proxy's response latency metrics.

this commit also further polishes the outbound proxy's language around
these constants, and adds mention to each half of the proxy regarding
the other corresponding pair of metrics, to prevent drift in the future.

to avoid churn, this commit phrases the inbound proxy's comments and
language in terms that expect the forthcoming addition of a request
latency layer to the inbound proxy, though that has not yet been
implemented in this branch at time of writing. a todo comment is left in
place to indicate this.

Signed-off-by: katelyn martin <kate@buoyant.io>
@cratelyn cratelyn merged commit 6be67e0 into main Feb 11, 2026
14 of 15 checks passed
@cratelyn cratelyn deleted the kate/app-inbound.duration-metrics branch February 11, 2026 19:30
cratelyn added a commit that referenced this pull request Feb 11, 2026
this commit introduces a new middleware layer to the inbound proxy.
this instruments inbound traffic with Prometheus telemetry that records
request body latency, and emits a histogram of request body durations.

as in #4420, the buckets are chosen to mimic the
request and response buckets emitted by the outbound proxy, with their
granularity flipped. in other words, the inbound proxy is more
interested in fine-grained request body metrics than response body
metrics, while the outbound proxy is more interested in fine-grained
response body metrics than request body metrics.

* #4420

Signed-off-by: katelyn martin <kate@buoyant.io>
cratelyn added a commit that referenced this pull request Feb 17, 2026
this commit introduces a new middleware layer to the inbound proxy.
this instruments inbound traffic with Prometheus telemetry that records
request body latency, and emits a histogram of request body durations.

as in #4420, the buckets are chosen to mimic the
request and response buckets emitted by the outbound proxy, with their
granularity flipped. in other words, the inbound proxy is more
interested in fine-grained request body metrics than response body
metrics, while the outbound proxy is more interested in fine-grained
response body metrics than request body metrics.

* #4420

Signed-off-by: katelyn martin <kate@buoyant.io>
cratelyn added a commit to linkerd/website that referenced this pull request Feb 17, 2026
this commit introduces documentation for the inbound proxy metrics that
have been added in recent edge releases.

see these commits for more information:

* linkerd/linkerd2-proxy#4420
* linkerd/linkerd2-proxy#4313
* linkerd/linkerd2-proxy#4180
* linkerd/linkerd2-proxy#4165
* linkerd/linkerd2-proxy#4127

Signed-off-by: katelyn martin <kate@buoyant.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants