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

Function New

modules/generator/localentitylimiter/local_entity_limiter.go:74–91  ·  view source on GitHub ↗
(maxEntityF maxEntityFunc, tenant string, limitLogger *tempo_log.RateLimitedLogger)

Source from the content-addressed store, hash-verified

72}
73
74func New(maxEntityF maxEntityFunc, tenant string, limitLogger *tempo_log.RateLimitedLogger) *LocalEntityLimiter {
75 l := &LocalEntityLimiter{
76 tenant: tenant,
77 entityActiveSeries: make(map[uint64]uint32),
78 maxEntityFunc: maxEntityF,
79 limitLogger: limitLogger,
80
81 metricTotalEntitiesLimited: metrics.totalEntitiesLimited.WithLabelValues(tenant),
82 metricActiveEntities: metrics.activeEntities.WithLabelValues(tenant),
83 metricMaxActiveEntities: metrics.maxActiveEntities.WithLabelValues(tenant),
84 metricTotalEntitiesAdded: metrics.totalEntitiesAdded.WithLabelValues(tenant),
85 metricTotalEntitiesRemoved: metrics.totalEntitiesRemoved.WithLabelValues(tenant),
86
87 overflowEntity: registry.OverflowEntity,
88 overflowEntityHash: registry.OverflowEntity.Hash(),
89 }
90 return l
91}
92
93func (l *LocalEntityLimiter) OnAdd(labelHash uint64, seriesCount uint32, lbls labels.Labels) (labels.Labels, uint64) {
94 l.mtx.Lock()

Calls 1

HashMethod · 0.80