Skip to content

Commit 7d79cf0

Browse files
authored
Count the number of rate-limited samples in distributor_samples_in_total (#5714)
* Count the number of rate-limited samples in distributor_samples_in_total Signed-off-by: Xiaochao Dong (@damnever) <[email protected]> * Update changelog Signed-off-by: Xiaochao Dong (@damnever) <[email protected]> --------- Signed-off-by: Xiaochao Dong (@damnever) <[email protected]>
1 parent 86af904 commit 7d79cf0

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* [CHANGE] Store Gateway: Add a new fastcache based inmemory index cache. #5619
66
* [CHANGE] Index Cache: Multi level cache backfilling operation becomes async. Added `-blocks-storage.bucket-store.index-cache.multilevel.max-async-concurrency` and `-blocks-storage.bucket-store.index-cache.multilevel.max-async-buffer-size` configs and metric `cortex_store_multilevel_index_cache_backfill_dropped_items_total` for number of dropped items. #5661
77
* [CHANGE] Ingester: Disable uploading compacted blocks and overlapping compaction in ingester. #5735
8+
* [CHANGE] Distributor: Count the number of rate-limited samples in `distributor_samples_in_total`. #5714
89
* [FEATURE] Ingester: Add per-tenant new metric `cortex_ingester_tsdb_data_replay_duration_seconds`. #5477
910
* [FEATURE] Query Frontend/Scheduler: Add query priority support. #5605
1011
* [FEATURE] Tracing: Add `kuberesolver` to resolve endpoints address with `kubernetes://` prefix as Kubernetes service. #5731

pkg/distributor/distributor.go

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -583,21 +583,9 @@ func (d *Distributor) Push(ctx context.Context, req *cortexpb.WriteRequest) (*co
583583
inflight := d.inflightPushRequests.Inc()
584584
defer d.inflightPushRequests.Dec()
585585

586-
if d.cfg.InstanceLimits.MaxInflightPushRequests > 0 && inflight > int64(d.cfg.InstanceLimits.MaxInflightPushRequests) {
587-
return nil, errTooManyInflightPushRequests
588-
}
589-
590-
if d.cfg.InstanceLimits.MaxIngestionRate > 0 {
591-
if rate := d.ingestionRate.Rate(); rate >= d.cfg.InstanceLimits.MaxIngestionRate {
592-
return nil, errMaxSamplesPushRateLimitReached
593-
}
594-
}
595-
596586
now := time.Now()
597587
d.activeUsers.UpdateUserTimestamp(userID, now)
598588

599-
removeReplica := false
600-
601589
numSamples := 0
602590
numExemplars := 0
603591
for _, ts := range req.Timeseries {
@@ -610,6 +598,17 @@ func (d *Distributor) Push(ctx context.Context, req *cortexpb.WriteRequest) (*co
610598
// Count the total number of metadata in.
611599
d.incomingMetadata.WithLabelValues(userID).Add(float64(len(req.Metadata)))
612600

601+
if d.cfg.InstanceLimits.MaxInflightPushRequests > 0 && inflight > int64(d.cfg.InstanceLimits.MaxInflightPushRequests) {
602+
return nil, errTooManyInflightPushRequests
603+
}
604+
605+
if d.cfg.InstanceLimits.MaxIngestionRate > 0 {
606+
if rate := d.ingestionRate.Rate(); rate >= d.cfg.InstanceLimits.MaxIngestionRate {
607+
return nil, errMaxSamplesPushRateLimitReached
608+
}
609+
}
610+
611+
removeReplica := false
613612
// Cache user limit with overrides so we spend less CPU doing locking. See issue #4904
614613
limits := d.limits.GetOverridesForUser(userID)
615614

0 commit comments

Comments
 (0)