Skip to content

HTTP Metrics Overhaul #4415

@masaori335

Description

@masaori335

Motivation

ATS has ton of http metrics which are started with proxy.process.http. Current master branch has 252 metrics. Some of them are HTTP version specific and others are not. It’s pretty hard to distinguish which metrics are HTTP version specific or not.

After HTTP/2 implementation is introduced, this issue is pointed out and fixed intermittently. But we haven't have good naming rule or strategy.

Solution

  1. Define proxy.process.http. is HTTP version general metrics.
  2. Introduce proxy.process.http1.* metrics for HTTP/1.1 specific metrics.
  3. Split general metric into version specific metrics if needed.

Scope

For the first step, I’d like to focus on incoming connections and transactions. When we introduce new HTTP base protocols on outgoing connections, we’ll need to do similar things, but it’s out of scope at this time.

Details

Please look at below table for which metric need to be changed.

https://docs.google.com/spreadsheets/d/1zux3OPiDNJlWALluhr8ciKypg_sYVxbG9fdmeuDD-Bo/edit?usp=sharing

Downside

This obviously break compatibility. Rename bunch of metrics. To keep compatibility, we should not remove deprecated metrics until next major release (9.x)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions