MCPcopy
hub / github.com/grafana/tempo / New

Function New

modules/generator/localserieslimiter/local_series_limiter.go:72–87  ·  view source on GitHub ↗
(maxSeriesF maxSeriesFunc, tenant string, limitLogger *tempo_log.RateLimitedLogger)

Source from the content-addressed store, hash-verified

70var _ registry.Limiter = (*LocalSeriesLimiter)(nil)
71
72func New(maxSeriesF maxSeriesFunc, tenant string, limitLogger *tempo_log.RateLimitedLogger) *LocalSeriesLimiter {
73 l := &LocalSeriesLimiter{
74 tenant: tenant,
75 maxSeriesFunc: maxSeriesF,
76 limitLogger: limitLogger,
77 metricTotalSeriesLimited: metrics.totalSeriesLimited.WithLabelValues(tenant),
78 metricActiveSeries: metrics.activeSeries.WithLabelValues(tenant),
79 metricMaxActiveSeries: metrics.maxActiveSeries.WithLabelValues(tenant),
80 metricTotalSeriesAdded: metrics.totalSeriesAdded.WithLabelValues(tenant),
81 metricTotalSeriesRemoved: metrics.totalSeriesRemoved.WithLabelValues(tenant),
82
83 overflowEntity: registry.OverflowEntity,
84 overflowEntityHash: registry.OverflowEntity.Hash(),
85 }
86 return l
87}
88
89func (l *LocalSeriesLimiter) OnAdd(hash uint64, seriesCount uint32, lbls labels.Labels) (labels.Labels, uint64) {
90 maxSeries := l.maxSeriesFunc(l.tenant)

Callers 4

newInstanceFunction · 0.92
TestLocalSeriesLimiterFunction · 0.70

Calls 1

HashMethod · 0.80