Tejun Heo
9e3b4e6db0
scx_stats: A bit of cleanups and renames
2024-08-23 09:09:02 -10:00
Tejun Heo
8c8912ccea
Merge branch 'main' into htejun/scx_rusty
2024-08-23 07:50:23 -10:00
Tejun Heo
70ba4cb9ef
scx_stats: Fix multiple labels handling in scxstats_to_openmetrics.py
...
OM labels() was called with an array which is then incorrectly interpreted
as a single label. Unpack it to list of arguments. While at it, make error
reporting a bit more robust.
2024-08-23 04:56:30 -10:00
Tejun Heo
4678476ca7
scx_stats_derive: Each _AssScxStastMeta assertion should have an unique ID
2024-08-22 13:53:27 -10:00
Tejun Heo
4d1f0639d8
Version: v1.0.3
2024-08-21 06:42:11 -10:00
Tejun Heo
4e859d067e
scx_stats/scripts/scxstats_to_openmetrics: Retry connection
...
It now retries until told to exit. This is a bit easier to use and matches
`scx_layered --monitor`.
2024-08-19 12:52:57 -10:00
Tejun Heo
6cba8d786a
scx_stats: server: open_ops must be kept throughout a client session
...
open_ops tracks which ops have been opened by the client session; however,
it was being created on each handle_request() making every request to open
each time. Fix it by moving it to the caller.
2024-08-19 08:38:13 -10:00
Tejun Heo
17a460c179
scx_stats: ScxStatsOps fields must be public
2024-08-19 07:51:05 -10:00
Tejun Heo
27c530e17e
scx_stats: Add missing trait exports
2024-08-19 07:16:43 -10:00
Tejun Heo
1e89184ba7
scx_stats: server: s/Tx/Req/ and s/Rx/Res/ for clarity
2024-08-19 07:11:26 -10:00
Tejun Heo
4d88c9aec7
scx_stats: Add channel arguments to open and close ops too
2024-08-19 06:56:14 -10:00
Tejun Heo
a77fe372d6
scx_stats: Make server shutdown when connection is dropped and add communication channel
...
This will make implementing connection sessions easier where each stats
client connection maintains a set of states.
2024-08-19 06:23:16 -10:00
Tejun Heo
689d380db1
scx_stats: Implement ScxStatsServer::add_stats_ops()
...
This allows stats reader to maintain persistent states per connection.
2024-08-16 13:24:17 -10:00
Tejun Heo
da2e014d15
scx_stats: Add more documentation on user attributes in README
2024-08-16 09:11:23 -10:00
Tejun Heo
3a688cfde7
scx_stats: Add support for no-value user attributes and a bunch of other changes
...
- Allow no-value user attributes which are automatically assigned "true"
when specified.
- Make "top" attribute string "true" instead of bool true for consistency.
Testing for existence is always enough for value-less attributes.
- Don't drop leading "_" from user attribute names when storing in dicts.
Dropping makes things more confusing.
- Add "_om_skip" to scx_layered fields which don't jive well with OM.
scxstats_to_openmetrics.py is updated accordignly and no longer generates
warnings on those fields.
- Examples and README updated accordingly.
2024-08-16 07:52:02 -10:00
Tejun Heo
870a262713
scx_stats: Add scripts/scxstats_to_openmetrics.py
...
This is a generic tool to pipe from scx_stats to OpenMetrics. This is a
barebone implmentation and the current output may not match what scx_layered
was outputting before. Will be updated later.
2024-08-15 22:51:22 -10:00
Tejun Heo
ea453e51d3
scx_stats: Rename "all" attribute to "top" and clean up examples a bit
2024-08-15 21:24:55 -10:00
Tejun Heo
6a5d6f7c27
scx_stats: Replace field_prefix attribute with '_' prefixed user attributes
2024-08-15 19:09:59 -10:00
Tejun Heo
f7c5a598bc
scx_stats: Store ScxStatsMeta in BTreeMap instead of Vec
...
This makes the metadata easier to use.
2024-08-15 18:32:53 -10:00
Tejun Heo
834ce62b95
scx_stats: Fields ScxStatsMeta should be a BTreeMap not vec
...
Also simplify trait bound assertion.
2024-08-15 18:21:19 -10:00
Tejun Heo
f345e83c05
scx_stats: Replace om_prefix field attribute with field_prefix struct attribute
...
And strongly distinguish between field and struct attributes while parsing.
2024-08-15 18:05:24 -10:00
Tejun Heo
a9922deaa2
scx_stats: Add "all" attribute and rename metadata type strings
2024-08-15 14:50:00 -10:00
Tejun Heo
ebc1a89c34
scx_stats: s/stat/stats/ stragglers
2024-08-15 14:00:00 -10:00
Tejun Heo
bafd67b568
scx_stats: Fix parsing for multiple stat attributes
...
The code was assuming single attribute per #[stat()] block. Update it so
that there can be multiple comma separated attributes in a single block.
2024-08-15 13:46:20 -10:00
Tejun Heo
db0ddbe249
scx_utils: Add support for om_prefix
stat attribute
...
This will be used to build generic bridge to openmetrics.
2024-08-15 13:08:44 -10:00
Tejun Heo
ba2e0be899
scx_stats: Add .gitignore
2024-08-15 12:31:04 -10:00
Tejun Heo
0b9c8b5cbd
scx_stats: Update versions to 0.2.0 to republish
2024-08-15 12:29:27 -10:00
Tejun Heo
d6ef2c2a1f
scx_stats: Synchronize crate dependency versions
2024-08-15 12:28:29 -10:00
Tejun Heo
d037fcd223
scx_stats: Drop version from Cargo.toml::dev-dependencies
...
Otherwise, the cyclic dependency prevents publishing.
2024-08-15 12:26:17 -10:00
Tejun Heo
ec51c567fe
scx_stats: Adding missing license
tag in Cargo.toml's
2024-08-15 12:23:46 -10:00
Tejun Heo
47c774d011
scx_stats: Add README and cleanup examples
2024-08-15 12:17:30 -10:00
Tejun Heo
616285baa8
scx_stats: Add package metadata
2024-08-15 11:09:26 -10:00
Tejun Heo
17afc72479
scx_stats: Rename cleanups
...
- s/stat/stats/ on several stragglers.
- Rename traits so that they are more distinctive from struct and other
names and follow the convention.
2024-08-15 06:24:56 -10:00
Tejun Heo
8aae9a5de2
scx_stats: s/scx_stat/scx_stats/
...
Use plural form which is more widespread and also used in scheduler
implementations. No functional changes.
2024-08-15 05:31:34 -10:00