Skip to content

Round cache start/end - #1998

Merged
prymitive merged 1 commit into
mainfrom
cache
Oct 8, 2026
Merged

prymitive merged 1 commit into
mainfrom
cache

Conversation

@prymitive

Copy link
Copy Markdown
Collaborator

No description provided.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pull request was validated by pint.

❗ Problems found.

Severity Number of problems
Information 5
Stats

Stat Value
Version v0.89.1-1-g5f66bcca
Number of rules parsed 22
Number of rules checked 22
Number of problems found 5
Number of offline checks 5
Number of online checks 0
Checks duration 4ms

Problems

Information: problem reported by config rule (rule/report)
  ---> .github/pint/rules/reject.yml:4-10 -> `Bad Label Key` [+4 duplicates]
4 |   - alert: Bad Label Key
               ^^^^^^^^^^^^^ Rules in this file are intentionally broken for testing.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (bd2fef8) to head (5f66bcc).

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #1998   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          115       115           
  Lines        13884     13880    -4     
=========================================
- Hits         13884     13880    -4     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown

Benchmark diff:

goos: linux
goarch: amd64
pkg: github.com/cloudflare/pint/cmd/pint
cpu: AMD EPYC 9V74 80-Core Processor                
                             │   old.txt    │               new.txt               │
                             │    sec/op    │    sec/op     vs base               │
GlobFinder                     40.10m ± ∞ ¹   41.13m ± ∞ ¹   +2.56% (p=0.002 n=6)
GitFinder                      590.7m ± ∞ ¹   596.2m ± ∞ ¹        ~ (p=0.394 n=6)
Check/alerts/absent            65.83µ ± ∞ ¹   65.79µ ± ∞ ¹        ~ (p=0.699 n=6)
Check/alerts/count             13.18m ± ∞ ¹   11.24m ± ∞ ¹  -14.71% (p=0.002 n=6)
Check/rule/label               1.400m ± ∞ ¹   1.307m ± ∞ ¹   -6.65% (p=0.004 n=6)
Check/promql/regexp            1.448m ± ∞ ¹   1.385m ± ∞ ¹        ~ (p=0.065 n=6)
Check/promql/nan               2.604m ± ∞ ¹   2.579m ± ∞ ¹   -0.93% (p=0.041 n=6)
Check/promql/series             1.175 ± ∞ ¹    1.187 ± ∞ ¹        ~ (p=0.394 n=6)
Check/rule/duplicate           15.69m ± ∞ ¹   15.91m ± ∞ ¹   +1.38% (p=0.002 n=6)
Check/labels/conflict          2.166m ± ∞ ¹   2.132m ± ∞ ¹   -1.57% (p=0.004 n=6)
Check/promql/features          86.89µ ± ∞ ¹   86.19µ ± ∞ ¹   -0.81% (p=0.004 n=6)
Check/alerts/annotation        545.2µ ± ∞ ¹   535.9µ ± ∞ ¹        ~ (p=0.065 n=6)
Check/promql/syntax            11.92µ ± ∞ ¹   12.04µ ± ∞ ¹        ~ (p=0.180 n=6)
Check/alerts/for               149.5µ ± ∞ ¹   143.9µ ± ∞ ¹   -3.70% (p=0.002 n=6)
Check/alerts/comparison        33.64µ ± ∞ ¹   33.51µ ± ∞ ¹        ~ (p=0.589 n=6)
Check/group/interval           4.805µ ± ∞ ¹   4.502µ ± ∞ ¹   -6.30% (p=0.002 n=6)
Check/promql/vector_matching   19.87m ± ∞ ¹   19.09m ± ∞ ¹   -3.91% (p=0.002 n=6)
Check/alerts/external_labels   48.09m ± ∞ ¹   48.26m ± ∞ ¹        ~ (p=0.699 n=6)
Check/rule/reject              157.3µ ± ∞ ¹   160.8µ ± ∞ ¹   +2.23% (p=0.002 n=6)
Check/query/cost               17.50m ± ∞ ¹   17.73m ± ∞ ¹   +1.31% (p=0.002 n=6)
Check/alerts/template          241.6m ± ∞ ¹   244.1m ± ∞ ¹        ~ (p=0.310 n=6)
Check/promql/fragile           96.17µ ± ∞ ¹   92.85µ ± ∞ ¹        ~ (p=0.180 n=6)
Check/promql/impossible        91.56µ ± ∞ ¹   92.03µ ± ∞ ¹   +0.51% (p=0.015 n=6)
Check/promql/offset            3.211m ± ∞ ¹   3.265m ± ∞ ¹        ~ (p=0.818 n=6)
Check/promql/range_query       3.170m ± ∞ ¹   3.089m ± ∞ ¹   -2.57% (p=0.015 n=6)
Check/promql/counter           3.124m ± ∞ ¹   3.071m ± ∞ ¹        ~ (p=0.093 n=6)
Check/rule/dependency          22.45m ± ∞ ¹   22.16m ± ∞ ¹        ~ (p=0.065 n=6)
Check/promql/rate              6.085m ± ∞ ¹   6.068m ± ∞ ¹        ~ (p=0.937 n=6)
RuleIsIdentical                15.21m ± ∞ ¹   15.24m ± ∞ ¹        ~ (p=1.000 n=6)
GetChecksForEntry              219.4m ± ∞ ¹   211.7m ± ∞ ¹   -3.51% (p=0.004 n=6)
geomean                        2.647m         2.607m         -1.52%
¹ need >= 8 samples for confidence interval at level 0.99

                             │    old.txt    │                new.txt                │
                             │     B/op      │     B/op       vs base                │
GlobFinder                     12.77Mi ± ∞ ¹   12.77Mi ± ∞ ¹       ~ (p=0.623 n=6)
GitFinder                      25.93Mi ± ∞ ¹   25.93Mi ± ∞ ¹       ~ (p=0.455 n=6)
Check/alerts/absent            3.812Ki ± ∞ ¹   3.812Ki ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/alerts/count             1.475Mi ± ∞ ¹   1.379Mi ± ∞ ¹  -6.52% (p=0.002 n=6)
Check/rule/label               685.7Ki ± ∞ ¹   685.7Ki ± ∞ ¹       ~ (p=1.000 n=6)
Check/promql/regexp            477.6Ki ± ∞ ¹   477.6Ki ± ∞ ¹       ~ (p=0.061 n=6)
Check/promql/nan               191.6Ki ± ∞ ¹   191.6Ki ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/series            98.53Mi ± ∞ ¹   98.53Mi ± ∞ ¹       ~ (p=1.000 n=6)
Check/rule/duplicate             0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/labels/conflict          275.8Ki ± ∞ ¹   275.8Ki ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/features            0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/alerts/annotation          0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/syntax              0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/alerts/for               88.41Ki ± ∞ ¹   88.41Ki ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/alerts/comparison          352.0 ± ∞ ¹     352.0 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/group/interval             0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/vector_matching   8.204Mi ± ∞ ¹   8.204Mi ± ∞ ¹       ~ (p=0.240 n=6)
Check/alerts/external_labels   18.67Mi ± ∞ ¹   18.67Mi ± ∞ ¹  +0.00% (p=0.002 n=6)
Check/rule/reject                0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/query/cost               525.0Ki ± ∞ ¹   525.0Ki ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/alerts/template          113.1Mi ± ∞ ¹   113.1Mi ± ∞ ¹  +0.00% (p=0.002 n=6)
Check/promql/fragile           15.50Ki ± ∞ ¹   15.50Ki ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/impossible          704.0 ± ∞ ¹     704.0 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/offset            418.5Ki ± ∞ ¹   418.5Ki ± ∞ ¹  +0.00% (p=0.048 n=6)
Check/promql/range_query       418.0Ki ± ∞ ¹   418.0Ki ± ∞ ¹  +0.00% (p=0.002 n=6)
Check/promql/counter           455.1Ki ± ∞ ¹   455.1Ki ± ∞ ¹  +0.00% (p=0.002 n=6)
Check/rule/dependency          15.90Mi ± ∞ ¹   15.90Mi ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/rate              406.6Ki ± ∞ ¹   406.6Ki ± ∞ ¹       ~ (p=1.000 n=6) ²
RuleIsIdentical                  0.000 ± ∞ ¹     0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
GetChecksForEntry              100.1Mi ± ∞ ¹   100.1Mi ± ∞ ¹  -0.00% (p=0.002 n=6)
geomean                                    ³                  -0.22%               ³
¹ need >= 8 samples for confidence interval at level 0.99
² all samples are equal
³ summaries must be >0 to compute geomean

                             │   old.txt    │               new.txt                │
                             │  allocs/op   │  allocs/op    vs base                │
GlobFinder                     197.8k ± ∞ ¹   197.8k ± ∞ ¹       ~ (p=1.000 n=6)
GitFinder                      244.4k ± ∞ ¹   244.4k ± ∞ ¹       ~ (p=0.123 n=6)
Check/alerts/absent             76.00 ± ∞ ¹    76.00 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/alerts/count             33.63k ± ∞ ¹   32.44k ± ∞ ¹  -3.55% (p=0.002 n=6)
Check/rule/label               11.45k ± ∞ ¹   11.45k ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/regexp            8.587k ± ∞ ¹   8.587k ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/nan               3.652k ± ∞ ¹   3.652k ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/series            1.418M ± ∞ ¹   1.418M ± ∞ ¹       ~ (p=1.000 n=6)
Check/rule/duplicate            0.000 ± ∞ ¹    0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/labels/conflict          5.724k ± ∞ ¹   5.724k ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/features           0.000 ± ∞ ¹    0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/alerts/annotation         0.000 ± ∞ ¹    0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/syntax             0.000 ± ∞ ¹    0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/alerts/for               1.476k ± ∞ ¹   1.476k ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/alerts/comparison         4.000 ± ∞ ¹    4.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/group/interval            0.000 ± ∞ ¹    0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/vector_matching   92.03k ± ∞ ¹   92.03k ± ∞ ¹       ~ (p=0.924 n=6)
Check/alerts/external_labels   321.8k ± ∞ ¹   321.8k ± ∞ ¹  +0.00% (p=0.002 n=6)
Check/rule/reject               0.000 ± ∞ ¹    0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/query/cost               7.624k ± ∞ ¹   7.624k ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/alerts/template          1.046M ± ∞ ¹   1.046M ± ∞ ¹  +0.00% (p=0.002 n=6)
Check/promql/fragile            246.0 ± ∞ ¹    246.0 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/impossible         5.000 ± ∞ ¹    5.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/offset            12.42k ± ∞ ¹   12.42k ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/range_query       12.41k ± ∞ ¹   12.41k ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/counter           24.14k ± ∞ ¹   24.14k ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/rule/dependency          7.632k ± ∞ ¹   7.632k ± ∞ ¹       ~ (p=1.000 n=6) ²
Check/promql/rate              8.858k ± ∞ ¹   8.858k ± ∞ ¹       ~ (p=1.000 n=6) ²
RuleIsIdentical                 0.000 ± ∞ ¹    0.000 ± ∞ ¹       ~ (p=1.000 n=6) ²
GetChecksForEntry              1.645M ± ∞ ¹   1.645M ± ∞ ¹  -0.00% (p=0.002 n=6)
geomean                                   ³                 -0.12%               ³
¹ need >= 8 samples for confidence interval at level 0.99
² all samples are equal
³ summaries must be >0 to compute geomean

pkg: github.com/cloudflare/pint/internal/diags
                           │   old.txt    │              new.txt               │
                           │    sec/op    │    sec/op     vs base              │
InjectDiagnosticsLongExpr    8.898µ ± ∞ ¹   8.842µ ± ∞ ¹       ~ (p=0.310 n=6)
InjectDiagnosticsShortExpr   1.227µ ± ∞ ¹   1.226µ ± ∞ ¹       ~ (p=0.965 n=6)
geomean                      3.304µ         3.292µ        -0.36%
¹ need >= 8 samples for confidence interval at level 0.99

                           │    old.txt    │                new.txt                │
                           │     B/op      │     B/op       vs base                │
InjectDiagnosticsLongExpr    3.578Ki ± ∞ ¹   3.578Ki ± ∞ ¹       ~ (p=1.000 n=6) ²
InjectDiagnosticsShortExpr     304.0 ± ∞ ¹     304.0 ± ∞ ¹       ~ (p=1.000 n=6) ²
geomean                      1.031Ki         1.031Ki        +0.00%
¹ need >= 8 samples for confidence interval at level 0.99
² all samples are equal

                           │   old.txt   │               new.txt               │
                           │  allocs/op  │  allocs/op   vs base                │
InjectDiagnosticsLongExpr    39.00 ± ∞ ¹   39.00 ± ∞ ¹       ~ (p=1.000 n=6) ²
InjectDiagnosticsShortExpr   13.00 ± ∞ ¹   13.00 ± ∞ ¹       ~ (p=1.000 n=6) ²
geomean                      22.52         22.52        +0.00%
¹ need >= 8 samples for confidence interval at level 0.99
² all samples are equal

pkg: github.com/cloudflare/pint/internal/parser
      │   old.txt    │              new.txt               │
      │    sec/op    │    sec/op     vs base              │
Parse   18.88m ± ∞ ¹   17.98m ± ∞ ¹  -4.79% (p=0.002 n=6)
¹ need >= 8 samples for confidence interval at level 0.99

      │    old.txt    │            new.txt             │
      │     B/op      │     B/op       vs base         │
Parse   6.385Mi ± ∞ ¹   6.385Mi ± ∞ ¹  ~ (p=0.790 n=6)
¹ need >= 8 samples for confidence interval at level 0.99

      │   old.txt    │            new.txt            │
      │  allocs/op   │  allocs/op    vs base         │
Parse   102.8k ± ∞ ¹   102.8k ± ∞ ¹  ~ (p=1.000 n=6)
¹ need >= 8 samples for confidence interval at level 0.99

pkg: github.com/cloudflare/pint/internal/parser/source
             │   old.txt    │              new.txt               │
             │    sec/op    │    sec/op     vs base              │
LabelsSource   1.076m ± ∞ ¹   1.058m ± ∞ ¹  -1.59% (p=0.002 n=6)
¹ need >= 8 samples for confidence interval at level 0.99

             │    old.txt    │            new.txt             │
             │     B/op      │     B/op       vs base         │
LabelsSource   753.9Ki ± ∞ ¹   753.9Ki ± ∞ ¹  ~ (p=0.532 n=6)
¹ need >= 8 samples for confidence interval at level 0.99

             │   old.txt    │             new.txt             │
             │  allocs/op   │  allocs/op    vs base           │
LabelsSource   7.370k ± ∞ ¹   7.370k ± ∞ ¹  ~ (p=1.000 n=6) ²
¹ need >= 8 samples for confidence interval at level 0.99
² all samples are equal

pkg: github.com/cloudflare/pint/internal/promapi
                  │   old.txt    │            new.txt            │
                  │    sec/op    │    sec/op     vs base         │
QueryCacheOnlySet   120.2n ± ∞ ¹   113.6n ± ∞ ¹  ~ (p=1.000 n=6)
¹ need >= 8 samples for confidence interval at level 0.99

                  │   old.txt   │            new.txt             │
                  │    B/op     │    B/op      vs base           │
QueryCacheOnlySet   64.00 ± ∞ ¹   64.00 ± ∞ ¹  ~ (p=1.000 n=6) ²
¹ need >= 8 samples for confidence interval at level 0.99
² all samples are equal

                  │   old.txt   │            new.txt             │
                  │  allocs/op  │  allocs/op   vs base           │
QueryCacheOnlySet   1.000 ± ∞ ¹   1.000 ± ∞ ¹  ~ (p=1.000 n=6) ²
¹ need >= 8 samples for confidence interval at level 0.99
² all samples are equal

@prymitive
prymitive merged commit 226fe83 into main Oct 8, 2026
20 checks passed
@prymitive
prymitive deleted the cache branch October 8, 2026 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants