envoyproxy / envoyproxy/envoy

histograms: configurable capacity

Open
#40,618 5 comments 0 reactions 0 assignees View on GitHub
area/stats enhancement no stalebot
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
437

Description

Log-linear histograms used in Envoy reserve 100 slots (each 10 bytes) for the sparse linked list by default. There's two of them per a thread-local histogram, meaning the space cost starts at 2kb per worker per histogram time series.

When the number of time series is very high (e.g. key-value tags), the samples are sparse, and 100 is likely over-capacity. It would make more sense to reduce the initial allocation to something lower.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.