EHT-1396: Expand lustre_connected_clients to track OST and MGT exports#126
EHT-1396: Expand lustre_connected_clients to track OST and MGT exports#126ydande wants to merge 12 commits into
Conversation
|
| Branch | ydande/EHT-1396 |
| Testbed | ci-runner |
⚠️ WARNING: No Threshold found!Without a Threshold, no Alerts will ever be generated.
- LL Hit Rate (hits (%))
- DLmr (misses (reads))
- DLmw (misses (writes))
- I1 Miss Rate (misses (%))
- Dw (writes)
- ILmr (misses (reads))
- Total read+write (reads/writes)
- L1 Hits (hits)
- LL Miss Rate (misses (%))
- RAM Hit Rate (hits (%))
- LLd Miss Rate (misses (%))
- D1mw (misses (writes))
- LLi Miss Rate (misses (%))
- Dr (reads)
- D1 Miss Rate (misses (%))
- I1mr (misses (reads))
- L1 Hit Rate (hits (%))
- LL Hits (hits)
- RAM Hits (hits)
- D1mr (misses (reads))
- Estimated Cycles (cycles)
Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the--ci-only-thresholdsflag.
Click to view all benchmark results
| Benchmark | D1 Miss Rate | misses (%) | D1mr | misses (reads) x 1e3 | D1mw | misses (writes) x 1e3 | DLmr | misses (reads) | DLmw | misses (writes) x 1e3 | Dr | reads x 1e6 | Dw | writes x 1e6 | Estimated Cycles | cycles x 1e6 | I1 Miss Rate | misses (%) | I1mr | misses (reads) x 1e3 | ILmr | misses (reads) | Instructions | Benchmark Result instructions x 1e6 (Result Δ%) | Lower Boundary instructions x 1e6 (Limit %) | Upper Boundary instructions x 1e6 (Limit %) | L1 Hit Rate | hits (%) | L1 Hits | hits x 1e6 | LL Hit Rate | hits (%) | LL Hits | hits x 1e3 | LL Miss Rate | misses (%) | LLd Miss Rate | misses (%) | LLi Miss Rate | misses (%) | RAM Hit Rate | hits (%) | RAM Hits | hits x 1e3 | Total read+write | reads/writes x 1e6 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| lustre_metrics::memory_benches::bench_encode_lustre_metrics with_setup:generate_records() | 📈 view plot | 0.91 % | 📈 view plot | 24.92 reads x 1e3 | 📈 view plot | 9.00 writes x 1e3 | 📈 view plot | 120.00 reads | 📈 view plot | 6.49 writes x 1e3 | 📈 view plot | 2.48 x 1e6 | 📈 view plot | 1.24 x 1e6 | 📈 view plot | 14.86 x 1e6 | 📈 view plot | 0.01 % | 📈 view plot | 1.05 reads x 1e3 | 📈 view plot | 888.00 reads | 📈 view plot 🚷 view threshold | 10.78 x 1e6(-16.35%)Baseline: 12.88 x 1e6 | 3.33 x 1e6 (30.88%) | 22.44 x 1e6 (48.03%) | 📈 view plot | 99.76 % | 📈 view plot | 14.46 x 1e6 | 📈 view plot | 0.19 % | 📈 view plot | 27.46 x 1e3 | 📈 view plot | 0.05 % | 📈 view plot | 0.18 % | 📈 view plot | 0.01 % | 📈 view plot | 0.05 % | 📈 view plot | 7.50 x 1e3 | 📈 view plot | 14.50 x 1e6 |
|
| Branch | ydande/EHT-1396 |
| Testbed | ci-runner |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result nanoseconds (ns) (Result Δ%) | Lower Boundary nanoseconds (ns) (Limit %) | Upper Boundary nanoseconds (ns) (Limit %) |
|---|---|---|---|---|
| parse_benchmarks/combine_performance | 📈 view plot 🚷 view threshold | 128,760,000.00 ns(-42.04%)Baseline: 222,135,200.00 ns | -554,982,258.62 ns (-431.02%) | 999,252,658.62 ns (12.89%) |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #126 +/- ##
==========================================
+ Coverage 94.40% 94.58% +0.18%
==========================================
Files 44 44
Lines 5681 5875 +194
Branches 5681 5875 +194
==========================================
+ Hits 5363 5557 +194
Misses 245 245
Partials 73 73
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
b70d7ad to
f954301
Compare
Extend the existing client count parser to support OST and MGT targets in addition to the existing MDT support. Changes: - Update client_count_parser to parse obdfilter.*OST*.exports.*.uuid - Add support for parsing mgs.MGS.exports.*.uuid - Maintain existing MDT client counting functionality - Use component="ost" and component="mgt" labels to distinguish targets - Handle production UUID formats with inline UUIDs in export names - Add TargetVariant enum (Mdt, Ost, Mgt) for target type handling - Add comprehensive test coverage for all three target types All 18 client count tests pass successfully.
f954301 to
c004055
Compare
After Git LFS installation, the regular snapshots were updated to remove BRW stats metrics that are no longer generated by the test fixtures. The OTEL snapshots need to be updated to match the regular snapshots (with the otel_scope_name label added). Updated snapshots: - lustrefs_exporter__routes__tests__jobstats_with_stderr_output.otelsnap - lustrefs_exporter__routes__tests__metrics_endpoint_is_idempotent.otelsnap
- Add documentation comments to target_kind, parse, interface_clients, mdt_interface, ost_interface, and mgt_interface functions - Change target_kind() to use match with guards instead of if-else - Update HELP text for lustre_connected_clients metric to explain MDT/OST/MGT differences - Remove Ord/PartialOrd from TargetVariant enum - Update all snapshot files with new HELP text
These snapshot files were no longer referenced by any tests. The tests have been migrated to use inline snapshots instead. This fixes the CI failure in the 'Stale Snapshots' check.
These 8 snapshot files are genuinely unreferenced because their tests were converted to use inline snapshots (using @r###...### syntax) in commit 7c48d6a. Tests affected (all using inline snapshots): - test_export_param - test_no_interface_clients - test_interface_clients - test_multiple_interface_clients - test_ost_interface - test_ost_interface_clients - test_mgt_interface - test_mgt_interface_clients All 128 tests still pass.
4d3cfc0 to
cf2d97b
Compare
|
Search for all occurences of |
breuhan
left a comment
There was a problem hiding this comment.
Snaps have a lot of removed lines
…nces - Add obdfilter.*.exports.*.uuid and mgs.MGS.exports.*.uuid to test commands - Remove 'Trevis-158' references from test names and comments - Rename tests to generic names (test_multiline_uuid_format, test_mixed_targets_with_multiline_uuid) - Update snapshots with new OST/MGT metrics (quota, health, memory, LDLM, disk I/O) - Update OTEL snapshots for compatibility All 129 tests passing. Fixes: EHT-1396
- Regenerate OTEL snapshots with otel_scope_name="lustre" label - Ensures OTEL format compatibility with prometheus-client fork
Thanks! I've updated all 7 JSON test files with the new OST/MGT UUID parameters. The snapshots now include all the additional metrics. |
Thanks for catching this! I've regenerated all snapshots with the new UUID parameters. |
Overview
Extends the existing
lustre_connected_clientsmetric to track client connections across all three Lustre target types: MDT (Metadata Targets), OST (Object Storage Targets), and MGT (Management Target).Previous behavior: Only tracked MDT client connections
New behavior: Tracks MDT, OST, and MGT client connections with proper
componentlabelsChanges Summary
client_count_parserto parseobdfilter.*OST*.exports.*.uuidfor OST targetsmgs.MGS.exports.*.uuidfor MGT targetsmdt.*MDT*.exports.*.uuid)component="ost"andcomponent="mgt"labels to distinguish target typesTargetVariantenum (Mdt, Ost, Mgt) for target type classificationDev Testing
Tested on Trevis:
All 8 nodes deployed successfully
All 3 component types working
OST client tracking validated: