• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

zalando / skipper / 17288249731
78%

Build:
DEFAULT BRANCH: master
Ran 28 Aug 2025 07:12AM UTC
Jobs 1
Files 282
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Aug 2025 06:55AM UTC coverage: 77.672% (+0.02%) from 77.655%
17288249731

push

github

web-flow
Optimize: jwt regexp predicates (#3600)

optimize: JWT regexp based predicates

Context:
Normally clients reuse their tokens so we can easily cache the matching
result by token for each predicate.
This will speedup significantly FabricGateway matching lookups.

Adds a sync.Map that we use to perform a cache lookup of the wire string
to the result.
A new type `registry` is used to cleanup all entries every hour. For
simplicity we do not track timestamps. Tested by a benchmark to cleanup
every Millisecond and the result does not change significantly, so we
should not care about the recreation of the cache once in a while.

Benchmarks for benchstat comparision ran with count 20
```
goos: darwin
goarch: arm64
pkg: github.com/zalando/skipper/predicates/auth
cpu: Apple M2
                        │    old.txt    │               new.txt               │
                        │    sec/op     │   sec/op     vs base                │
JWTPayloadAllKVRegexp     4079.00n ± 1%   45.59n ± 0%  -98.88% (p=0.000 n=20)
JWTPayloadAllKVRegexp-2   3600.00n ± 0%   45.57n ± 0%  -98.73% (p=0.000 n=20)
JWTPayloadAllKVRegexp-4   3607.00n ± 0%   45.59n ± 0%  -98.74% (p=0.000 n=20)
JWTPayloadAllKVRegexp-8   3603.00n ± 0%   45.70n ± 0%  -98.73% (p=0.000 n=20)
geomean                     3.717µ        45.61n       -98.77%

                        │   old.txt    │                  new.txt                  │
                        │     B/op     │     B/op      vs base                     │
JWTPayloadAllKVRegexp     2.250Ki ± 0%   0.000Ki ± 0%  -100.00% (p=0.000 n=20)
JWTPayloadAllKVRegexp-2   2.250Ki ± 0%   0.000Ki ± 0%  -100.00% (p=0.000 n=20)
JWTPayloadAllKVRegexp-4   2.250Ki ± 0%   0.000Ki ± 0%  -100.00% (p=0.000 n=20)
JWTPayloadAllKVRegexp-8   2.250Ki ± 0%   0.000Ki ± 0%  -100.00% (p=0.000 n=20)
geomean                   2.250Ki                      ?                       ¹ ²
¹ summaries must be >0 to compute geomean
² ratios must be >0 to compute geomean

                     ... (continued)

33 of 45 new or added lines in 1 file covered. (73.33%)

20 existing lines in 4 files now uncovered.

23519 of 30280 relevant lines covered (77.67%)

101554.02 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
12
88.89
-5.8% predicates/auth/jwt.go

Uncovered Existing Lines

Lines Coverage ∆ File
2
95.54
-1.79% eskipfile/watch.go
2
2.33
-0.06% filters/filtertest/filtertest.go
3
0.0
0.0% filters/filters.go
13
80.83
0.49% proxy/context.go
Jobs
ID Job ID Ran Files Coverage
1 17288249731.1 28 Aug 2025 07:12AM UTC 282
77.67
GitHub Action Run
Source Files on build 17288249731
  • Tree
  • List 282
  • Changed 6
  • Source Changed 5
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #17288249731
  • 3e4f0bcc on github
  • Prev Build on master (#17240299241)
  • Next Build on master (#17373019729)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc