Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/limits/frontend/limits.go

28 lines
852 B

package frontend
// Limits contains all limits enforced by the limits frontend.
type Limits interface {
IngestionRateBytes(userID string) float64
IngestionBurstSizeBytes(userID string) int
MaxGlobalStreamsPerUser(userID string) int
}
// rateLimitsAdapter implements the dskit.RateLimiterStrategy interface. We use
// it to load per-tenant rate limits into dskit.RateLimiter.
type rateLimitsAdapter struct {
limits Limits
}
func newRateLimitsAdapter(limits Limits) *rateLimitsAdapter {
return &rateLimitsAdapter{limits: limits}
}
// Limit implements dskit.RateLimiterStrategy.
func (s *rateLimitsAdapter) Limit(tenantID string) float64 {
return s.limits.IngestionRateBytes(tenantID)
}
// Burst implements dskit.RateLimiterStrategy.
func (s *rateLimitsAdapter) Burst(tenantID string) int {
return s.limits.IngestionBurstSizeBytes(tenantID)
}