Comment fixes

Signed-off-by: Tobias Guggenmos <tguggenm@redhat.com>
This commit is contained in:
Tobias Guggenmos 2020-02-03 19:23:07 +01:00
parent 454ba12676
commit 6c00f2ffcb
7 changed files with 42 additions and 38 deletions

View file

@ -125,7 +125,7 @@ type Query interface {
Exec(ctx context.Context) *Result Exec(ctx context.Context) *Result
// Close recovers memory used by the query result. // Close recovers memory used by the query result.
Close() Close()
// parser.Statement returns the parsed statement of the query. // Statement returns the parsed statement of the query.
Statement() parser.Statement Statement() parser.Statement
// Stats returns statistics about the lifetime of the query. // Stats returns statistics about the lifetime of the query.
Stats() *stats.QueryTimers Stats() *stats.QueryTimers
@ -139,7 +139,7 @@ type query struct {
queryable storage.Queryable queryable storage.Queryable
// The original query string. // The original query string.
q string q string
// parser.Statement of the parsed query. // Statement of the parsed query.
stmt parser.Statement stmt parser.Statement
// Timer stats for the query execution. // Timer stats for the query execution.
stats *stats.QueryTimers stats *stats.QueryTimers
@ -156,7 +156,7 @@ type queryCtx int
var queryOrigin queryCtx var queryOrigin queryCtx
// parser.Statement implements the Query interface. // Statement implements the Query interface.
func (q *query) Statement() parser.Statement { func (q *query) Statement() parser.Statement {
return q.stmt return q.stmt
} }
@ -416,7 +416,7 @@ func (ng *Engine) newTestQuery(f func(context.Context) error) Query {
// exec executes the query. // exec executes the query.
// //
// At this point per query only one parser.EvalStmt is evaluated. Alert and record // At this point per query only one EvalStmt is evaluated. Alert and record
// statements are not handled by the Engine. // statements are not handled by the Engine.
func (ng *Engine) exec(ctx context.Context, q *query) (v parser.Value, w storage.Warnings, err error) { func (ng *Engine) exec(ctx context.Context, q *query) (v parser.Value, w storage.Warnings, err error) {
ng.metrics.currentQueries.Inc() ng.metrics.currentQueries.Inc()
@ -650,8 +650,8 @@ func (ng *Engine) populateSeries(ctx context.Context, q storage.Queryable, s *pa
var warnings storage.Warnings var warnings storage.Warnings
// Whenever a parser.MatrixSelector is evaluated this variable is set to the corresponding range. // Whenever a MatrixSelector is evaluated this variable is set to the corresponding range.
// The evaluation of the parser.VectorSelector inside then evaluates the given range and unsets // The evaluation of the VectorSelector inside then evaluates the given range and unsets
// the variable. // the variable.
var evalRange time.Duration var evalRange time.Duration
@ -997,8 +997,8 @@ func (ev *evaluator) rangeEval(f func([]parser.Value, *EvalNodeHelper) Vector, e
return mat return mat
} }
// evalSubquery evaluates given parser.SubqueryExpr and returns an equivalent // evalSubquery evaluates given SubqueryExpr and returns an equivalent
// evaluated parser.MatrixSelector in its place. Note that the Name and LabelMatchers are not set. // evaluated MatrixSelector in its place. Note that the Name and LabelMatchers are not set.
func (ev *evaluator) evalSubquery(subq *parser.SubqueryExpr) *parser.MatrixSelector { func (ev *evaluator) evalSubquery(subq *parser.SubqueryExpr) *parser.MatrixSelector {
val := ev.eval(subq).(Matrix) val := ev.eval(subq).(Matrix)
vs := &parser.VectorSelector{ vs := &parser.VectorSelector{
@ -1494,7 +1494,7 @@ func (ev *evaluator) matrixIterSlice(it *storage.BufferedSeriesIterator, mint, m
if value.IsStaleNaN(v) { if value.IsStaleNaN(v) {
continue continue
} }
// parser.Values in the buffer are guaranteed to be smaller than maxt. // Values in the buffer are guaranteed to be smaller than maxt.
if t >= mint { if t >= mint {
if ev.currentSamples >= ev.maxSamples { if ev.currentSamples >= ev.maxSamples {
ev.error(ErrTooManySamples(env)) ev.error(ErrTooManySamples(env))

View file

@ -32,9 +32,9 @@ import (
// //
// And then run the tests with the appropriate inputs // And then run the tests with the appropriate inputs
// //
// go-fuzz -bin FuzzParseMetric.zip -workdir fuzz-data/parser.ParseMetric // go-fuzz -bin FuzzParseMetric.zip -workdir fuzz-data/ParseMetric
// //
// Further input samples should go in the folders fuzz-data/parser.ParseMetric/corpus. // Further input samples should go in the folders fuzz-data/ParseMetric/corpus.
// //
// Repeat for FuzzParseOpenMetric, FuzzParseMetricSelector and FuzzParseExpr. // Repeat for FuzzParseOpenMetric, FuzzParseMetricSelector and FuzzParseExpr.

View file

@ -2605,9 +2605,9 @@ const none = math.SmallestNonzeroFloat64
func newSeq(vals ...float64) (res []SequenceValue) { func newSeq(vals ...float64) (res []SequenceValue) {
for _, v := range vals { for _, v := range vals {
if v == none { if v == none {
res = append(res, SequenceValue{omitted: true}) res = append(res, SequenceValue{Omitted: true})
} else { } else {
res = append(res, SequenceValue{value: v}) res = append(res, SequenceValue{Value: v})
} }
} }
return res return res

View file

@ -23,12 +23,13 @@ import (
"github.com/prometheus/prometheus/pkg/labels" "github.com/prometheus/prometheus/pkg/labels"
"github.com/prometheus/prometheus/pkg/timestamp" "github.com/prometheus/prometheus/pkg/timestamp"
"github.com/prometheus/prometheus/promql" "github.com/prometheus/prometheus/promql"
"github.com/prometheus/prometheus/promql/parser"
"github.com/prometheus/prometheus/util/teststorage" "github.com/prometheus/prometheus/util/teststorage"
"github.com/prometheus/prometheus/util/testutil" "github.com/prometheus/prometheus/util/testutil"
) )
func TestAlertingRuleHTMLSnippet(t *testing.T) { func TestAlertingRuleHTMLSnippet(t *testing.T) {
expr, err := promql.ParseExpr(`foo{html="<b>BOLD<b>"}`) expr, err := parser.ParseExpr(`foo{html="<b>BOLD<b>"}`)
testutil.Ok(t, err) testutil.Ok(t, err)
rule := NewAlertingRule("testrule", expr, 0, labels.FromStrings("html", "<b>BOLD</b>"), labels.FromStrings("html", "<b>BOLD</b>"), nil, false, nil) rule := NewAlertingRule("testrule", expr, 0, labels.FromStrings("html", "<b>BOLD</b>"), labels.FromStrings("html", "<b>BOLD</b>"), nil, false, nil)
@ -54,7 +55,7 @@ func TestAlertingRuleLabelsUpdate(t *testing.T) {
testutil.Ok(t, suite.Run()) testutil.Ok(t, suite.Run())
expr, err := promql.ParseExpr(`http_requests < 100`) expr, err := parser.ParseExpr(`http_requests < 100`)
testutil.Ok(t, err) testutil.Ok(t, err)
rule := NewAlertingRule( rule := NewAlertingRule(
@ -156,7 +157,7 @@ func TestAlertingRuleExternalLabelsInTemplate(t *testing.T) {
testutil.Ok(t, suite.Run()) testutil.Ok(t, suite.Run())
expr, err := promql.ParseExpr(`http_requests < 100`) expr, err := parser.ParseExpr(`http_requests < 100`)
testutil.Ok(t, err) testutil.Ok(t, err)
ruleWithoutExternalLabels := NewAlertingRule( ruleWithoutExternalLabels := NewAlertingRule(
@ -248,7 +249,7 @@ func TestAlertingRuleEmptyLabelFromTemplate(t *testing.T) {
testutil.Ok(t, suite.Run()) testutil.Ok(t, suite.Run())
expr, err := promql.ParseExpr(`http_requests < 100`) expr, err := parser.ParseExpr(`http_requests < 100`)
testutil.Ok(t, err) testutil.Ok(t, err)
rule := NewAlertingRule( rule := NewAlertingRule(
@ -310,7 +311,7 @@ func TestAlertingRuleDuplicate(t *testing.T) {
now := time.Now() now := time.Now()
expr, _ := promql.ParseExpr(`vector(0) or label_replace(vector(0),"test","x","","")`) expr, _ := parser.ParseExpr(`vector(0) or label_replace(vector(0),"test","x","","")`)
rule := NewAlertingRule( rule := NewAlertingRule(
"foo", "foo",
expr, expr,

View file

@ -33,6 +33,7 @@ import (
"github.com/prometheus/prometheus/pkg/timestamp" "github.com/prometheus/prometheus/pkg/timestamp"
"github.com/prometheus/prometheus/pkg/value" "github.com/prometheus/prometheus/pkg/value"
"github.com/prometheus/prometheus/promql" "github.com/prometheus/prometheus/promql"
"github.com/prometheus/prometheus/promql/parser"
"github.com/prometheus/prometheus/storage" "github.com/prometheus/prometheus/storage"
"github.com/prometheus/prometheus/util/teststorage" "github.com/prometheus/prometheus/util/teststorage"
"github.com/prometheus/prometheus/util/testutil" "github.com/prometheus/prometheus/util/testutil"
@ -50,7 +51,7 @@ func TestAlertingRule(t *testing.T) {
err = suite.Run() err = suite.Run()
testutil.Ok(t, err) testutil.Ok(t, err)
expr, err := promql.ParseExpr(`http_requests{group="canary", job="app-server"} < 100`) expr, err := parser.ParseExpr(`http_requests{group="canary", job="app-server"} < 100`)
testutil.Ok(t, err) testutil.Ok(t, err)
rule := NewAlertingRule( rule := NewAlertingRule(
@ -191,7 +192,7 @@ func TestForStateAddSamples(t *testing.T) {
err = suite.Run() err = suite.Run()
testutil.Ok(t, err) testutil.Ok(t, err)
expr, err := promql.ParseExpr(`http_requests{group="canary", job="app-server"} < 100`) expr, err := parser.ParseExpr(`http_requests{group="canary", job="app-server"} < 100`)
testutil.Ok(t, err) testutil.Ok(t, err)
rule := NewAlertingRule( rule := NewAlertingRule(
@ -352,7 +353,7 @@ func TestForStateRestore(t *testing.T) {
err = suite.Run() err = suite.Run()
testutil.Ok(t, err) testutil.Ok(t, err)
expr, err := promql.ParseExpr(`http_requests{group="canary", job="app-server"} < 100`) expr, err := parser.ParseExpr(`http_requests{group="canary", job="app-server"} < 100`)
testutil.Ok(t, err) testutil.Ok(t, err)
opts := &ManagerOptions{ opts := &ManagerOptions{
@ -528,7 +529,7 @@ func TestStaleness(t *testing.T) {
Logger: log.NewNopLogger(), Logger: log.NewNopLogger(),
} }
expr, err := promql.ParseExpr("a + 1") expr, err := parser.ParseExpr("a + 1")
testutil.Ok(t, err) testutil.Ok(t, err)
rule := NewRecordingRule("a_plus_one", expr, labels.Labels{}) rule := NewRecordingRule("a_plus_one", expr, labels.Labels{})
group := NewGroup(GroupOptions{ group := NewGroup(GroupOptions{
@ -857,7 +858,7 @@ func TestNotify(t *testing.T) {
ResendDelay: 2 * time.Second, ResendDelay: 2 * time.Second,
} }
expr, err := promql.ParseExpr("a > 1") expr, err := parser.ParseExpr("a > 1")
testutil.Ok(t, err) testutil.Ok(t, err)
rule := NewAlertingRule("aTooHigh", expr, 0, labels.Labels{}, labels.Labels{}, nil, true, log.NewNopLogger()) rule := NewAlertingRule("aTooHigh", expr, 0, labels.Labels{}, labels.Labels{}, nil, true, log.NewNopLogger())
group := NewGroup(GroupOptions{ group := NewGroup(GroupOptions{

View file

@ -22,6 +22,7 @@ import (
"github.com/prometheus/prometheus/pkg/labels" "github.com/prometheus/prometheus/pkg/labels"
"github.com/prometheus/prometheus/pkg/timestamp" "github.com/prometheus/prometheus/pkg/timestamp"
"github.com/prometheus/prometheus/promql" "github.com/prometheus/prometheus/promql"
"github.com/prometheus/prometheus/promql/parser"
"github.com/prometheus/prometheus/util/teststorage" "github.com/prometheus/prometheus/util/teststorage"
"github.com/prometheus/prometheus/util/testutil" "github.com/prometheus/prometheus/util/testutil"
) )
@ -45,13 +46,13 @@ func TestRuleEval(t *testing.T) {
suite := []struct { suite := []struct {
name string name string
expr promql.Expr expr parser.Expr
labels labels.Labels labels labels.Labels
result promql.Vector result promql.Vector
}{ }{
{ {
name: "nolabels", name: "nolabels",
expr: &promql.NumberLiteral{Val: 1}, expr: &parser.NumberLiteral{Val: 1},
labels: labels.Labels{}, labels: labels.Labels{},
result: promql.Vector{promql.Sample{ result: promql.Vector{promql.Sample{
Metric: labels.FromStrings("__name__", "nolabels"), Metric: labels.FromStrings("__name__", "nolabels"),
@ -60,7 +61,7 @@ func TestRuleEval(t *testing.T) {
}, },
{ {
name: "labels", name: "labels",
expr: &promql.NumberLiteral{Val: 1}, expr: &parser.NumberLiteral{Val: 1},
labels: labels.FromStrings("foo", "bar"), labels: labels.FromStrings("foo", "bar"),
result: promql.Vector{promql.Sample{ result: promql.Vector{promql.Sample{
Metric: labels.FromStrings("__name__", "labels", "foo", "bar"), Metric: labels.FromStrings("__name__", "labels", "foo", "bar"),
@ -78,7 +79,7 @@ func TestRuleEval(t *testing.T) {
} }
func TestRecordingRuleHTMLSnippet(t *testing.T) { func TestRecordingRuleHTMLSnippet(t *testing.T) {
expr, err := promql.ParseExpr(`foo{html="<b>BOLD<b>"}`) expr, err := parser.ParseExpr(`foo{html="<b>BOLD<b>"}`)
testutil.Ok(t, err) testutil.Ok(t, err)
rule := NewRecordingRule("testrule", expr, labels.FromStrings("html", "<b>BOLD</b>")) rule := NewRecordingRule("testrule", expr, labels.FromStrings("html", "<b>BOLD</b>"))
@ -110,7 +111,7 @@ func TestRuleEvalDuplicate(t *testing.T) {
now := time.Now() now := time.Now()
expr, _ := promql.ParseExpr(`vector(0) or label_replace(vector(0),"test","x","","")`) expr, _ := parser.ParseExpr(`vector(0) or label_replace(vector(0),"test","x","","")`)
rule := NewRecordingRule("foo", expr, labels.FromStrings("test", "test")) rule := NewRecordingRule("foo", expr, labels.FromStrings("test", "test"))
_, err := rule.Eval(ctx, now, EngineQueryFunc(engine, storage), nil) _, err := rule.Eval(ctx, now, EngineQueryFunc(engine, storage), nil)
testutil.NotOk(t, err) testutil.NotOk(t, err)

View file

@ -48,6 +48,7 @@ import (
"github.com/prometheus/prometheus/pkg/timestamp" "github.com/prometheus/prometheus/pkg/timestamp"
"github.com/prometheus/prometheus/prompb" "github.com/prometheus/prometheus/prompb"
"github.com/prometheus/prometheus/promql" "github.com/prometheus/prometheus/promql"
"github.com/prometheus/prometheus/promql/parser"
"github.com/prometheus/prometheus/rules" "github.com/prometheus/prometheus/rules"
"github.com/prometheus/prometheus/scrape" "github.com/prometheus/prometheus/scrape"
"github.com/prometheus/prometheus/storage" "github.com/prometheus/prometheus/storage"
@ -189,11 +190,11 @@ type rulesRetrieverMock struct {
} }
func (m rulesRetrieverMock) AlertingRules() []*rules.AlertingRule { func (m rulesRetrieverMock) AlertingRules() []*rules.AlertingRule {
expr1, err := promql.ParseExpr(`absent(test_metric3) != 1`) expr1, err := parser.ParseExpr(`absent(test_metric3) != 1`)
if err != nil { if err != nil {
m.testing.Fatalf("unable to parse alert expression: %s", err) m.testing.Fatalf("unable to parse alert expression: %s", err)
} }
expr2, err := promql.ParseExpr(`up == 1`) expr2, err := parser.ParseExpr(`up == 1`)
if err != nil { if err != nil {
m.testing.Fatalf("Unable to parse alert expression: %s", err) m.testing.Fatalf("Unable to parse alert expression: %s", err)
} }
@ -251,7 +252,7 @@ func (m rulesRetrieverMock) RuleGroups() []*rules.Group {
r = append(r, alertrule) r = append(r, alertrule)
} }
recordingExpr, err := promql.ParseExpr(`vector(1)`) recordingExpr, err := parser.ParseExpr(`vector(1)`)
if err != nil { if err != nil {
m.testing.Fatalf("unable to parse alert expression: %s", err) m.testing.Fatalf("unable to parse alert expression: %s", err)
} }
@ -552,7 +553,7 @@ func testEndpoints(t *testing.T, api *API, tr *testTargetRetriever, testLabelAPI
"time": []string{"123.4"}, "time": []string{"123.4"},
}, },
response: &queryData{ response: &queryData{
ResultType: promql.ValueTypeScalar, ResultType: parser.ValueTypeScalar,
Result: promql.Scalar{ Result: promql.Scalar{
V: 2, V: 2,
T: timestamp.FromTime(start.Add(123*time.Second + 400*time.Millisecond)), T: timestamp.FromTime(start.Add(123*time.Second + 400*time.Millisecond)),
@ -566,7 +567,7 @@ func testEndpoints(t *testing.T, api *API, tr *testTargetRetriever, testLabelAPI
"time": []string{"1970-01-01T00:02:03Z"}, "time": []string{"1970-01-01T00:02:03Z"},
}, },
response: &queryData{ response: &queryData{
ResultType: promql.ValueTypeScalar, ResultType: parser.ValueTypeScalar,
Result: promql.Scalar{ Result: promql.Scalar{
V: 0.333, V: 0.333,
T: timestamp.FromTime(start.Add(123 * time.Second)), T: timestamp.FromTime(start.Add(123 * time.Second)),
@ -580,7 +581,7 @@ func testEndpoints(t *testing.T, api *API, tr *testTargetRetriever, testLabelAPI
"time": []string{"1970-01-01T01:02:03+01:00"}, "time": []string{"1970-01-01T01:02:03+01:00"},
}, },
response: &queryData{ response: &queryData{
ResultType: promql.ValueTypeScalar, ResultType: parser.ValueTypeScalar,
Result: promql.Scalar{ Result: promql.Scalar{
V: 0.333, V: 0.333,
T: timestamp.FromTime(start.Add(123 * time.Second)), T: timestamp.FromTime(start.Add(123 * time.Second)),
@ -593,7 +594,7 @@ func testEndpoints(t *testing.T, api *API, tr *testTargetRetriever, testLabelAPI
"query": []string{"0.333"}, "query": []string{"0.333"},
}, },
response: &queryData{ response: &queryData{
ResultType: promql.ValueTypeScalar, ResultType: parser.ValueTypeScalar,
Result: promql.Scalar{ Result: promql.Scalar{
V: 0.333, V: 0.333,
T: timestamp.FromTime(api.now()), T: timestamp.FromTime(api.now()),
@ -609,7 +610,7 @@ func testEndpoints(t *testing.T, api *API, tr *testTargetRetriever, testLabelAPI
"step": []string{"1"}, "step": []string{"1"},
}, },
response: &queryData{ response: &queryData{
ResultType: promql.ValueTypeMatrix, ResultType: parser.ValueTypeMatrix,
Result: promql.Matrix{ Result: promql.Matrix{
promql.Series{ promql.Series{
Points: []promql.Point{ Points: []promql.Point{
@ -2302,7 +2303,7 @@ func TestRespond(t *testing.T) {
}{ }{
{ {
response: &queryData{ response: &queryData{
ResultType: promql.ValueTypeMatrix, ResultType: parser.ValueTypeMatrix,
Result: promql.Matrix{ Result: promql.Matrix{
promql.Series{ promql.Series{
Points: []promql.Point{{V: 1, T: 1000}}, Points: []promql.Point{{V: 1, T: 1000}},
@ -2448,7 +2449,7 @@ func BenchmarkRespond(b *testing.B) {
points = append(points, promql.Point{V: float64(i * 1000000), T: int64(i)}) points = append(points, promql.Point{V: float64(i * 1000000), T: int64(i)})
} }
response := &queryData{ response := &queryData{
ResultType: promql.ValueTypeMatrix, ResultType: parser.ValueTypeMatrix,
Result: promql.Matrix{ Result: promql.Matrix{
promql.Series{ promql.Series{
Points: points, Points: points,