Skip to content

Commit 5ab1d79

Browse files
julietshenclaudecassidyjames
authored
Add osprey-stress CLI (closes #324) (#367)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Cassidy James Blaede <cassidyjames@roost.tools>
1 parent f7fc4ca commit 5ab1d79

5 files changed

Lines changed: 753 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ For more information about each release including git tags and artifacts, see [R
2424
- Per-action health metrics in the executor ([#191](https://github.com/roostorg/osprey/pull/191) by [@cmttt](https://github.com/cmttt))
2525
- Option to suppress cached errors to reduce metric bloat ([#180](https://github.com/roostorg/osprey/pull/180) by [@lithium-powered](https://github.com/lithium-powered))
2626
- Experimental asyncio-native worker with metrics and engine/coordinator improvements ([#341](https://github.com/roostorg/osprey/pull/341) by [@cmttt](https://github.com/cmttt))
27+
- `osprey-stress` CLI: closed-loop stress harness that produces synthetic events at a configurable rate, observes their `ExecutionResult`s on the output topic, and reports drop rate and p50/p95/p99 latency, exiting non-zero on threshold breach so it can gate CI on pipeline health ([#367](https://github.com/roostorg/osprey/pull/367) by [@julietshen](https://github.com/julietshen), closes [#324](https://github.com/roostorg/osprey/issues/324))
2728

2829
### Changed
2930

@@ -38,6 +39,7 @@ For more information about each release including git tags and artifacts, see [R
3839
- Tolerate malformed URI escapes in `EntityWithPopover` UI component ([#377](https://github.com/roostorg/osprey/pull/377) by [@julietshen](https://github.com/julietshen))
3940
- Add retention limits to Kafka topics to prevent unbounded disk growth ([#249](https://github.com/roostorg/osprey/pull/249) by [@VINODvoid](https://github.com/VINODvoid))
4041
- Fix failed UDF query ([#233](https://github.com/roostorg/osprey/pull/233) by [@chimosky](https://github.com/chimosky))
42+
- Force a visible scrollbar on the event-stream virtualized list, which was relying on the OS auto-hide default and was easy to miss ([#367](https://github.com/roostorg/osprey/pull/367) by [@julietshen](https://github.com/julietshen))
4143

4244
## [1.0.1] - 2026-02-27
4345

osprey_ui/src/components/event_stream/EventStream.module.css

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,34 @@
1818
outline: none;
1919
}
2020

21+
/* react-virtualized renders a scrolling div with class `ReactVirtualized__List`.
22+
On macOS the default scrollbar auto-hides until you're actively scrolling,
23+
which makes it hard to skim long result sets — flagged in PR #367. Force a
24+
thin always-visible bar in the theme colors. */
25+
.virtualizedList :global(.ReactVirtualized__List) {
26+
scrollbar-width: thin;
27+
scrollbar-color: var(--text-light-secondary) var(--background-secondary);
28+
}
29+
30+
.virtualizedList :global(.ReactVirtualized__List)::-webkit-scrollbar {
31+
width: 10px;
32+
height: 10px;
33+
}
34+
35+
.virtualizedList :global(.ReactVirtualized__List)::-webkit-scrollbar-track {
36+
background: var(--background-secondary);
37+
}
38+
39+
.virtualizedList :global(.ReactVirtualized__List)::-webkit-scrollbar-thumb {
40+
background-color: var(--text-light-secondary);
41+
border-radius: 5px;
42+
border: 2px solid var(--background-secondary);
43+
}
44+
45+
.virtualizedList :global(.ReactVirtualized__List)::-webkit-scrollbar-thumb:hover {
46+
background-color: var(--text-light-primary);
47+
}
48+
2149
.iconText {
2250
margin-right: 8px;
2351
}

osprey_worker/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ dependencies = [
1414
]
1515
[project.scripts]
1616
osprey-cli = "osprey.worker.lib.cli:cli"
17+
osprey-stress = "osprey.worker.stress.cli:main"
1718

1819
[project.entry-points."osprey_plugin"]
1920
stdlib = "osprey.worker._stdlibplugin"

0 commit comments

Comments
 (0)