Skip to content

Commit

Permalink
Remove support for X-PromQL HTTP headers
Browse files Browse the repository at this point in the history
The new X-SquirrelDB headers should be used instead.
  • Loading branch information
ozon2 committed Jan 20, 2023
1 parent 776d362 commit 898473e
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 31 deletions.
2 changes: 1 addition & 1 deletion api/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import (
const (
httpServerShutdownTimeout = 10 * time.Second

// A read sample limit is already implemented dynamically with the header X-PromQL-Max-Evaluated-Points.
// A read sample limit is already implemented dynamically with the header X-SquirrelDB-Max-Evaluated-Points.
remoteReadSampleLimit = 0 // No limit
remoteReadMaxBytesInFrame = 1048576 // 1 MiB (Prometheus default)
)
Expand Down
20 changes: 0 additions & 20 deletions api/promql/queryable.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,6 @@ func (s Store) newQuerierFromHeaders(ctx context.Context, mint, maxt int64) (que
}

value := r.Header.Get(types.HeaderForcedMatcher)
if value == "" {
value = r.Header.Get(types.HeaderForcedMatcherOld)
}

if value != "" {
part := strings.SplitN(value, "=", 2)
if len(part) != 2 {
Expand Down Expand Up @@ -128,10 +124,6 @@ func (s Store) newQuerierFromHeaders(ctx context.Context, mint, maxt int64) (que
maxEvaluatedSeries := s.DefaultMaxEvaluatedSeries

maxEvaluatedSeriesText := r.Header.Get(types.HeaderMaxEvaluatedSeries)
if maxEvaluatedSeriesText == "" {
maxEvaluatedSeriesText = r.Header.Get(types.HeaderMaxEvaluatedSeriesOld)
}

if maxEvaluatedSeriesText != "" {
tmp, err := strconv.ParseUint(maxEvaluatedSeriesText, 10, 32)
if err != nil {
Expand All @@ -149,10 +141,6 @@ func (s Store) newQuerierFromHeaders(ctx context.Context, mint, maxt int64) (que
maxEvaluatedPoints := s.DefaultMaxEvaluatedPoints

maxEvaluatedPointsText := r.Header.Get(types.HeaderMaxEvaluatedPoints)
if maxEvaluatedPointsText == "" {
maxEvaluatedPointsText = r.Header.Get(types.HeaderMaxEvaluatedPointsOld)
}

if maxEvaluatedPointsText != "" {
tmp, err := strconv.ParseUint(maxEvaluatedPointsText, 10, 64)
if err != nil {
Expand All @@ -177,10 +165,6 @@ func (s Store) newQuerierFromHeaders(ctx context.Context, mint, maxt int64) (que
}

value = r.Header.Get(types.HeaderForcePreAggregated)
if value == "" {
value = r.Header.Get(types.HeaderForcePreAggregatedOld)
}

if value != "" {
tmp, err := strconv.ParseBool(value)
if err != nil {
Expand All @@ -191,10 +175,6 @@ func (s Store) newQuerierFromHeaders(ctx context.Context, mint, maxt int64) (que
}

value = r.Header.Get(types.HeaderForceRaw)
if value == "" {
value = r.Header.Get(types.HeaderForceRawOld)
}

if value != "" {
tmp, err := strconv.ParseBool(value)
if err != nil {
Expand Down
15 changes: 5 additions & 10 deletions types/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,25 +134,20 @@ func WrapContext(ctx context.Context, r *http.Request) context.Context {
// HTTP headers available to dynamically change settings on PromQL and remote read.
const (
// Add one matcher to limit the evaluated series.
HeaderForcedMatcher = "X-SquirrelDB-Forced-Matcher"
HeaderForcedMatcherOld = "X-PromQL-Forced-Matcher"
HeaderForcedMatcher = "X-SquirrelDB-Forced-Matcher"
// Limit the number of series that can be evaluated by a request.
// A limit of 0 means unlimited.
HeaderMaxEvaluatedSeries = "X-SquirrelDB-Max-Evaluated-Series"
HeaderMaxEvaluatedSeriesOld = "X-PromQL-Max-Evaluated-Series"
HeaderMaxEvaluatedSeries = "X-SquirrelDB-Max-Evaluated-Series"
// Limit the number of points that can be evaluated by a request.
// A limit of 0 means unlimited.
HeaderMaxEvaluatedPoints = "X-SquirrelDB-Max-Evaluated-Points"
HeaderMaxEvaluatedPointsOld = "X-PromQL-Max-Evaluated-Points"
HeaderMaxEvaluatedPoints = "X-SquirrelDB-Max-Evaluated-Points"
// Force using pre-aggregated data instead of raw points. Default for
// query is raw data. Default for query_range depends on step value.
HeaderForcePreAggregated = "X-SquirrelDB-ForcePreAggregated"
HeaderForcePreAggregatedOld = "X-PromQL-ForcePreAggregated"
HeaderForcePreAggregated = "X-SquirrelDB-ForcePreAggregated"
// Force using raw data instead of pre-aggregated points. If both ForcePreAggregated
// and ForceRaw are true, ForceRaw has priority. Default for query is raw data.
// Default for query_range depends on step value.
HeaderForceRaw = "X-SquirrelDB-ForceRaw"
HeaderForceRawOld = "X-PromQL-ForceRaw"
HeaderForceRaw = "X-SquirrelDB-ForceRaw"
// Only match metrics from this tenant. Metrics written with this header
// are associated to this tenant (a tenant label is added to the metric labels).
HeaderTenant = "X-SquirrelDB-Tenant"
Expand Down

0 comments on commit 898473e

Please sign in to comment.