Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion cmd/prometheus/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -954,6 +954,7 @@ func main() {

queryEngine = promql.NewEngine(opts)

ruleQueryOffset := time.Duration(cfgFile.GlobalConfig.RuleQueryOffset)
ruleManager = rules.NewManager(&rules.ManagerOptions{
Appendable: adapter, // PP_CHANGES.md: rebuild on cpp
Queryable: adapter, // PP_CHANGES.md: rebuild on cpp
Expand All @@ -969,7 +970,7 @@ func main() {
MaxConcurrentEvals: cfg.maxConcurrentEvals,
ConcurrentEvalsEnabled: cfg.enableConcurrentRuleEval,
DefaultRuleQueryOffset: func() time.Duration {
return time.Duration(cfgFile.GlobalConfig.RuleQueryOffset)
return ruleQueryOffset
},
})
}
Expand Down
10 changes: 6 additions & 4 deletions pp-pkg/storage/appender.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ type TimeSeriesAppender struct {
adapter *Adapter
state *cppbridge.StateV2
batch *timeSeriesBatch
lsb *model.LabelSetBuilder
}

func newTimeSeriesAppender(
Expand All @@ -45,7 +46,8 @@ func newTimeSeriesAppender(
ctx: ctx,
adapter: adapter,
state: state,
batch: &timeSeriesBatch{},
batch: &timeSeriesBatch{timeSeries: make([]model.TimeSeries, 0, 10)},
lsb: model.NewLabelSetBuilderSize(10),
}
}

Expand All @@ -56,13 +58,13 @@ func (a *TimeSeriesAppender) Append(
t int64,
v float64,
) (storage.SeriesRef, error) {
lsb := model.NewLabelSetBuilder()
a.lsb.Reset()
l.Range(func(label labels.Label) {
lsb.Add(label.Name, label.Value)
a.lsb.Add(label.Name, label.Value)
})

a.batch.timeSeries = append(a.batch.timeSeries, model.TimeSeries{
LabelSet: lsb.Build(),
LabelSet: a.lsb.Build(),
Timestamp: uint64(t), // #nosec G115 // no overflow
Value: v,
})
Expand Down
2 changes: 1 addition & 1 deletion pp/go/cppbridge/metrics.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package cppbridge

import (
"github.com/golang/protobuf/proto"
dto "github.com/prometheus/client_model/go"
"google.golang.org/protobuf/proto"
)

func CppMetrics(f func(metric *dto.Metric) bool) {
Expand Down
7 changes: 7 additions & 0 deletions pp/go/model/labelset.go
Original file line number Diff line number Diff line change
Expand Up @@ -454,6 +454,13 @@ func NewLabelSetBuilder() *LabelSetBuilder {
}
}

// NewLabelSetBuilderSize is a constructor with container size.
func NewLabelSetBuilderSize(size int) *LabelSetBuilder {
return &LabelSetBuilder{
pairs: make(map[string]string, size),
}
}

// Build label set
func (builder *LabelSetBuilder) Build() LabelSet {
return LabelSetFromMap(builder.pairs)
Expand Down
2 changes: 1 addition & 1 deletion promql/engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -722,7 +722,7 @@ func (ng *Engine) execEvalStmt(ctx context.Context, query *query, s *parser.Eval
setOffsetForAtModifier(timeMilliseconds(s.Start), s.Expr)
evalSpanTimer, ctxInnerEval := query.stats.GetSpanTimer(ctx, stats.InnerEvalTime, ng.metrics.queryInnerEval)
// Instant evaluation. This is executed as a range evaluation with one step.
if s.Start == s.End && s.Interval == 0 {
if s.Start.Equal(s.End) && s.Interval == 0 {
start := timeMilliseconds(s.Start)
evaluator := &evaluator{
startTimestamp: start,
Expand Down
Loading
Loading