mirror of https://github.com/linkerd/linkerd2.git
Previously, we maintained a map of labels for each metric. Because the same keys are used in multiple scopes, this causes redundant hashing & map lookup when updating metrics. With this change, there is now only one map per unique label scope and all of the metrics for each scope are stored in the value. This makes metrics inserting faster and prepares for eviction of idle metrics. The Metric type has been split into Metric, which now only holds metric metadata and is responsible for printing a given metric, and Scopes which holds groupings of metrics by label. The metrics! macro is provided to make it easy to define Metric instances statically. |
||
---|---|---|
.. | ||
benches | ||
controller-grpc | ||
convert | ||
futures-mpsc-lossy | ||
router | ||
src | ||
tests | ||
Cargo.toml | ||
Dockerfile | ||
assert_macro |