Skip to content

Commit

Permalink
Code review comments
Browse files Browse the repository at this point in the history
Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>
  • Loading branch information
fpetkovski committed Feb 8, 2023
1 parent 5adea48 commit 6dcec87
Show file tree
Hide file tree
Showing 7 changed files with 16 additions and 16 deletions.
4 changes: 2 additions & 2 deletions cmd/thanos/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ func registerQuery(app *extkingpin.App) {
queryTelemetrySamplesQuantiles := cmd.Flag("query.telemetry.request-samples-quantiles", "The quantiles for exporting metrics about the samples count quantiles.").Default("100", "1000", "10000", "100000", "1000000").Int64List()
queryTelemetrySeriesQuantiles := cmd.Flag("query.telemetry.request-series-seconds-quantiles", "The quantiles for exporting metrics about the series count quantiles.").Default("10", "100", "1000", "10000", "100000").Int64List()

var storeRateLimits store.SelectLimits
var storeRateLimits store.SeriesSelectLimits
storeRateLimits.RegisterFlags(cmd)

cmd.Setup(func(g *run.Group, logger log.Logger, reg *prometheus.Registry, tracer opentracing.Tracer, _ <-chan struct{}, _ bool) error {
Expand Down Expand Up @@ -401,7 +401,7 @@ func runQuery(
queryTelemetrySamplesQuantiles []int64,
queryTelemetrySeriesQuantiles []int64,
promqlEngine promqlEngineType,
storeRateLimits store.SelectLimits,
storeRateLimits store.SeriesSelectLimits,
) error {
if alertQueryURL == "" {
lastColon := strings.LastIndex(httpBindAddr, ":")
Expand Down
2 changes: 1 addition & 1 deletion cmd/thanos/receive.go
Original file line number Diff line number Diff line change
Expand Up @@ -800,7 +800,7 @@ type receiveConfig struct {
relabelConfigPath *extflag.PathOrContent

writeLimitsConfig *extflag.PathOrContent
storeRateLimits store.SelectLimits
storeRateLimits store.SeriesSelectLimits
}

func (rc *receiveConfig) registerFlag(cmd extkingpin.FlagClause) {
Expand Down
2 changes: 1 addition & 1 deletion cmd/thanos/rule.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ type ruleConfig struct {
dataDir string
lset labels.Labels
ignoredLabelNames []string
storeRateLimits store.SelectLimits
storeRateLimits store.SeriesSelectLimits
}

func (rc *ruleConfig) registerFlag(cmd extkingpin.FlagClause) {
Expand Down
2 changes: 1 addition & 1 deletion cmd/thanos/sidecar.go
Original file line number Diff line number Diff line change
Expand Up @@ -484,7 +484,7 @@ type sidecarConfig struct {
objStore extflag.PathOrContent
shipper shipperConfig
limitMinTime thanosmodel.TimeOrDurationValue
storeRateLimits store.SelectLimits
storeRateLimits store.SeriesSelectLimits
}

func (sc *sidecarConfig) registerFlag(cmd extkingpin.FlagClause) {
Expand Down
2 changes: 1 addition & 1 deletion cmd/thanos/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ type storeConfig struct {
indexCacheSizeBytes units.Base2Bytes
chunkPoolSize units.Base2Bytes
seriesBatchSize int
storeRateLimits store.SelectLimits
storeRateLimits store.SeriesSelectLimits
maxDownloadedBytes units.Base2Bytes
maxConcurrency int
component component.StoreAPI
Expand Down
8 changes: 4 additions & 4 deletions pkg/store/limiter.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,13 +100,13 @@ func NewBytesLimiterFactory(limit units.Base2Bytes) BytesLimiterFactory {
}
}

// SelectLimits are limits applied against individual Series calls.
type SelectLimits struct {
// SeriesSelectLimits are limits applied against individual Series calls.
type SeriesSelectLimits struct {
SeriesPerRequest uint64
SamplesPerRequest uint64
}

func (l *SelectLimits) RegisterFlags(cmd extkingpin.FlagClause) {
func (l *SeriesSelectLimits) RegisterFlags(cmd extkingpin.FlagClause) {
cmd.Flag("store.grpc.series-limit", "The maximum series allowed for a single Series request. The Series call fails if this limit is exceeded. 0 means no limit.").Default("0").Uint64Var(&l.SeriesPerRequest)
cmd.Flag("store.grpc.samples-limit", "The maximum samples allowed for a single Series request, The Series call fails if this limit is exceeded. 0 means no limit. NOTE: For efficiency the limit is internally implemented as 'chunks limit' considering each chunk contains a maximum of 120 samples.").Default("0").Uint64Var(&l.SamplesPerRequest)
}
Expand All @@ -122,7 +122,7 @@ type limitedStoreServer struct {
}

// NewRateLimitedStoreServer creates a new limitedStoreServer.
func NewRateLimitedStoreServer(store storepb.StoreServer, reg prometheus.Registerer, rateLimits SelectLimits) storepb.StoreServer {
func NewRateLimitedStoreServer(store storepb.StoreServer, reg prometheus.Registerer, rateLimits SeriesSelectLimits) storepb.StoreServer {
return &limitedStoreServer{
StoreServer: store,
newSeriesLimiter: NewSeriesLimiterFactory(rateLimits.SeriesPerRequest),
Expand Down
12 changes: 6 additions & 6 deletions pkg/store/limiter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,29 +43,29 @@ func TestRateLimitedServer(t *testing.T) {
}
tests := []struct {
name string
limits SelectLimits
limits SeriesSelectLimits
series []*storepb.SeriesResponse
err string
}{
{
name: "no limits",
limits: SelectLimits{
limits: SeriesSelectLimits{
SeriesPerRequest: 0,
SamplesPerRequest: 0,
},
series: series,
},
{
name: "series bellow limit",
limits: SelectLimits{
limits: SeriesSelectLimits{
SeriesPerRequest: 3,
SamplesPerRequest: 0,
},
series: series,
},
{
name: "series over limit",
limits: SelectLimits{
limits: SeriesSelectLimits{
SeriesPerRequest: 2,
SamplesPerRequest: 0,
},
Expand All @@ -74,15 +74,15 @@ func TestRateLimitedServer(t *testing.T) {
},
{
name: "chunks bellow limit",
limits: SelectLimits{
limits: SeriesSelectLimits{
SeriesPerRequest: 0,
SamplesPerRequest: uint64(3 * numSamples * MaxSamplesPerChunk),
},
series: series,
},
{
name: "chunks over limit",
limits: SelectLimits{
limits: SeriesSelectLimits{
SeriesPerRequest: 0,
SamplesPerRequest: 50,
},
Expand Down

0 comments on commit 6dcec87

Please sign in to comment.