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

zalando / skipper / 15733076233 / 1
78%
master: 78%

Build:
DEFAULT BRANCH: master
Ran 18 Jun 2025 12:56PM UTC
Files 280
Run time 13s
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

18 Jun 2025 12:40PM UTC coverage: 77.726% (+0.003%) from 77.723%
15733076233.1

push

github

web-flow
Enabling OPA AST optimizations in Skipper to store AST values in in-memory store (#3514)

**Context:**
With https://github.com/open-policy-agent/opa/pull/7125 Open Policy
Agent introduced an option to read AST values from in-memory storage
instead of interfaces/slices.

When enabled it is expected to improve latency as this removes the time
spent converting raw data values to AST during policy evaluation. The
memory footprint of the store will increase, as processed AST values
would take more space in memory than the corresponding raw data values,
but overall memory usage of OPA might remain more stable over time, as
pre-converted data is shared across evaluations and isn't recomputed for
each evaluation.

With this PR, the option
`enable-open-policy-agent-data-preprocessing-optimization` is supported
as a Skipper configuration at OPA registry level. In other words, when
enabled it will be enabled for all the OPA systems running within the
same Skipper ingress.

### Benchmark test results show huge improvments

A 1000 run of the benchmark comparison.

For the simple policy,
<img width="805" alt="image" src="https://github.com/user-attachments/assets/b4a71b03-ed10-440f-bcd5-05a3e9d3dbaf" />

<google-sheets-html-origin><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}-->
  | ns/op _default | ns/op _optimized | B/op _default | B/op _optimized | allocs/op _default | allocs/op _optimized
-- | -- | -- | -- | -- | -- | --
Median | 24727.5 | 25016 | 18945 | 18961 | 308 | 309
Average | 26727.107 | 27058.068 | 18945.996 | 18961.234 | 308 | 309
P99 | 37737.5 | 39558.05 | 18951 | 18967 | 308 | 309
Max | 44914 | 49197 | 18953 | 18968 | 308 | 309
Min | 23375 | 23899 | 18945 | 18961 | 308 | 309
Deviation | 3703.249928 | 3840.160723 | 1.550609038 | 0.9110840104 | 0 | 0


For the slightly complex policy,
<img width="778" alt="image" src="https://github.com/user-attachments/assets/c5cd93d2-38cc-47ef-b6b4-f31cad91c461" />

**Complex Policy**
<google-... (continued)

23313 of 29994 relevant lines covered (77.73%)

101361.58 hits per line

Source Files on job 15733076233.1
  • Tree
  • List 280
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 15733076233
  • 91c0bae0 on github
  • Prev Job for on master (#15730233173.1)
  • Next Job for on master (#15734771733.1)
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