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

prisma-risk / tsoracle / 26214488427
95%

Build:
DEFAULT BRANCH: main
Ran 21 May 2026 08:26AM UTC
Jobs 1
Files 30
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

21 May 2026 08:23AM UTC coverage: 93.52%. Remained the same
26214488427

push

github

web-flow
chore(perf): add performance-critical-path guard (#30)

* chore(perf): add performance-critical-path guard

A new CI guard (`scripts/check-critical-path.sh`, exposed as the `critical-path`
job in `.github/workflows/ci.yml`) enforces a small set of source-level rules on
files that sit on the per-request hot path. Files opt in by carrying
`// #[PerformanceCriticalPath]` as their first line — a plain comment marker,
not a proc macro — and the script greps each marked file for banned patterns:
`tracing::info!`/`warn!`/`error!` (and their `_span!` siblings), the bare
`info!`/`warn!`/`error!` shortcut via `use tracing::*`, and `println!`. CI
exports `CRITICAL_PATH_STRICT=1` so any violation fails the build; the script
defaults to warn-only locally to ease the rollout of new banned patterns or new
marker candidates.

Initial marker set covers 4 files:

  - crates/tsoracle-core/src/allocator.rs — window allocator state machine.
  - crates/tsoracle-driver-file/src/lib.rs — single-node fsync-durable driver.
  - crates/tsoracle-driver-openraft/src/lib.rs — openraft-backed driver.
  - crates/tsoracle-client/src/driver.rs — client-side coalescing driver.

`crates/tsoracle-server/src/server.rs` was a candidate but is deliberately
unmarked for now: it has a one-shot `tracing::error!` on the leader-watch death
path that the grep-based guard cannot distinguish from per-request logging.
Marking it is a follow-up after either splitting the request handlers into
their own module or downgrading the death-rattle log.

Two rules from calc-graph's equivalent doc are not duplicated by this guard:

  - "No panics on recoverable paths" is already enforced by the workspace panic
    policy (#28: `clippy::unwrap_used` + `clippy::expect_used` as `warn` with
    `cargo clippy ... -- -D warnings`).
  - "No `std::sync::Mutex` held across an `.await`" is deferred to
    `clippy::await_holding_lock = "deny"` as a follow-up. Clippy's lint is
    precise — it knows the difference between... (continued)

2439 of 2608 relevant lines covered (93.52%)

200989.18 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26214488427.1 21 May 2026 08:26AM UTC 30
93.52
GitHub Action Run
Source Files on build 26214488427
  • Tree
  • List 30
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26214488427
  • ddfbe47a on github
  • Prev Build on main (#26214097441)
  • Next Build on main (#26214876741)
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