Skip to content

Conversation

@gaurangtapase
Copy link
Contributor

@gaurangtapase gaurangtapase commented Jan 7, 2026

This pull request fixes the the parsing output of recovery status of multiple targets by using top level parser for all of the function calls.

Signed-off-by: Gaurang Tapase <gtapase@ddn.com>
@gaurangtapase gaurangtapase requested a review from breuhan January 7, 2026 03:22
@github-actions
Copy link

github-actions bot commented Jan 7, 2026

🐰 Bencher Report

Branchgtapase/fix-recovery-multiple-targets
Testbedci-runner
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
nanoseconds (ns)
(Result Δ%)
Lower Boundary
nanoseconds (ns)
(Limit %)
Upper Boundary
nanoseconds (ns)
(Limit %)
parse_benchmarks/combine_performance📈 view plot
🚷 view threshold
128,950,000.00 ns
(-54.38%)Baseline: 282,656,000.00 ns
-736,237,513.01 ns
(-570.95%)
1,301,549,513.01 ns
(9.91%)
🐰 View full continuous benchmarking report in Bencher

@gaurangtapase gaurangtapase requested a review from johnsonw January 7, 2026 03:22
@github-actions
Copy link

github-actions bot commented Jan 7, 2026

🐰 Bencher Report

Branchgtapase/fix-recovery-multiple-targets
Testbedci-runner

⚠️ WARNING: No Threshold found!

Without a Threshold, no Alerts will ever be generated.

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-thresholds flag.

Click to view all benchmark results
Benchmarkavg_runtime_rss_mibMeasure (MiB)avg_runtime_virtual_mibMeasure (MiB)end_rss_mibMeasure (MiB)end_virtual_mibMeasure (MiB)memory_growth_mibMeasure (MiB)peak_over_start_rss_ratioMeasure (units)peak_over_start_virtual_ratioMeasure (units)peak_rss_mibBenchmark Result
Measure (MiB)
(Result Δ%)
Lower Boundary
Measure (MiB)
(Limit %)
Upper Boundary
Measure (MiB)
(Limit %)
peak_virtual_mibMeasure (MiB)start_rss_mibMeasure (MiB)start_virtual_mibMeasure (MiB)virtual_growth_mibMeasure (MiB)
scrape_allocations📈 view plot
⚠️ NO THRESHOLD
43.75 MiB📈 view plot
⚠️ NO THRESHOLD
861.83 MiB📈 view plot
⚠️ NO THRESHOLD
43.81 MiB📈 view plot
⚠️ NO THRESHOLD
861.89 MiB📈 view plot
⚠️ NO THRESHOLD
0.34 MiB📈 view plot
⚠️ NO THRESHOLD
1.03 units📈 view plot
⚠️ NO THRESHOLD
1.01 units📈 view plot
🚷 view threshold
46.12 MiB
(-45.66%)Baseline: 84.87 MiB
-142.08 MiB
(-308.08%)
311.82 MiB
(14.79%)
📈 view plot
⚠️ NO THRESHOLD
878.82 MiB📈 view plot
⚠️ NO THRESHOLD
43.47 MiB📈 view plot
⚠️ NO THRESHOLD
856.54 MiB📈 view plot
⚠️ NO THRESHOLD
5.35 MiB
🐰 View full continuous benchmarking report in Bencher

Signed-off-by: Gaurang Tapase <gtapase@ddn.com>
@gaurangtapase gaurangtapase self-assigned this Jan 7, 2026
@codecov
Copy link

codecov bot commented Jan 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.40%. Comparing base (d8da395) to head (3828c9d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #124      +/-   ##
==========================================
+ Coverage   94.10%   94.40%   +0.29%     
==========================================
  Files          44       44              
  Lines        5669     5681      +12     
  Branches     5669     5681      +12     
==========================================
+ Hits         5335     5363      +28     
+ Misses        265      245      -20     
- Partials       69       73       +4     
Flag Coverage Δ
2_14_0_ddn133 36.50% <0.00%> (-0.12%) ⬇️
2_14_0_ddn145 38.43% <0.00%> (-0.13%) ⬇️
all-tests 94.40% <100.00%> (+0.29%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link

github-actions bot commented Jan 7, 2026

🐰 Bencher Report

Branchgtapase/fix-recovery-multiple-targets
Testbedci-runner

⚠️ WARNING: No Threshold found!

Without a Threshold, no Alerts will ever be generated.

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-thresholds flag.

Click to view all benchmark results
BenchmarkD1 Miss Ratemisses (%)D1mrmisses (reads) x 1e3D1mwmisses (writes) x 1e3DLmrmisses (reads)DLmwmisses (writes) x 1e3Drreads x 1e6Dwwrites x 1e6Estimated Cyclescycles x 1e6I1 Miss Ratemisses (%)I1mrmisses (reads) x 1e3ILmrmisses (reads)InstructionsBenchmark Result
instructions x 1e6
(Result Δ%)
Lower Boundary
instructions x 1e6
(Limit %)
Upper Boundary
instructions x 1e6
(Limit %)
L1 Hit Ratehits (%)L1 Hitshits x 1e6LL Hit Ratehits (%)LL Hitshits x 1e3LL Miss Ratemisses (%)LLd Miss Ratemisses (%)LLi Miss Ratemisses (%)RAM Hit Ratehits (%)RAM Hitshits x 1e3Total read+writereads/writes x 1e6
lustre_metrics::memory_benches::bench_encode_lustre_metrics with_setup:generate_records()📈 view plot
⚠️ NO THRESHOLD
0.92 %📈 view plot
⚠️ NO THRESHOLD
25.04 reads x 1e3📈 view plot
⚠️ NO THRESHOLD
9.09 writes x 1e3📈 view plot
⚠️ NO THRESHOLD
115.00 reads📈 view plot
⚠️ NO THRESHOLD
6.45 writes x 1e3📈 view plot
⚠️ NO THRESHOLD
2.47 x 1e6📈 view plot
⚠️ NO THRESHOLD
1.23 x 1e6📈 view plot
⚠️ NO THRESHOLD
14.81 x 1e6📈 view plot
⚠️ NO THRESHOLD
0.01 %📈 view plot
⚠️ NO THRESHOLD
1.04 reads x 1e3📈 view plot
⚠️ NO THRESHOLD
894.00 reads📈 view plot
🚷 view threshold
10.75 x 1e6
(-23.14%)Baseline: 13.99 x 1e6
2.43 x 1e6
(22.65%)
25.54 x 1e6
(42.10%)
📈 view plot
⚠️ NO THRESHOLD
99.76 %📈 view plot
⚠️ NO THRESHOLD
14.41 x 1e6📈 view plot
⚠️ NO THRESHOLD
0.19 %📈 view plot
⚠️ NO THRESHOLD
27.72 x 1e3📈 view plot
⚠️ NO THRESHOLD
0.05 %📈 view plot
⚠️ NO THRESHOLD
0.18 %📈 view plot
⚠️ NO THRESHOLD
0.01 %📈 view plot
⚠️ NO THRESHOLD
0.05 %📈 view plot
⚠️ NO THRESHOLD
7.45 x 1e3📈 view plot
⚠️ NO THRESHOLD
14.44 x 1e6
🐰 View full continuous benchmarking report in Bencher

ip1981
ip1981 previously approved these changes Jan 7, 2026
Copy link
Contributor

@breuhan breuhan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a demo or brief description?

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request fixes the recovery status parser to correctly handle multiple targets (OSTs and MDTs) in a single output. Previously, the parser only handled a single target; now it uses the many1 combinator to parse one or more targets sequentially.

Key Changes

  • Modified the recovery status parser to use many1 combinator for parsing multiple targets
  • Updated the check_output function signature to accept params as a parameter instead of computing it internally
  • Added a new integration test test_parse_recovery_status_output to verify multiple target parsing

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
lustre-collector/src/recovery_status_parser.rs Wrapped the parser in many1 to handle multiple targets and added flatten operation to combine results
lustre-collector/src/lib.rs Refactored check_output to accept params as argument and added test for multiple target recovery status parsing

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@gaurangtapase
Copy link
Contributor Author

Could you add a demo or brief description?

Done

@gaurangtapase gaurangtapase requested a review from breuhan January 7, 2026 13:57
breuhan
breuhan previously approved these changes Jan 7, 2026
Signed-off-by: Gaurang Tapase <gtapase@ddn.com>
johnsonw
johnsonw previously approved these changes Jan 7, 2026
Copy link
Contributor

@johnsonw johnsonw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy with this approach. Using the top level parser to wrap the component parsers feels like the correct approach here.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…it tests

Signed-off-by: Gaurang Tapase <gtapase@ddn.com>
@gaurangtapase gaurangtapase merged commit 6c4af96 into main Jan 7, 2026
20 checks passed
@gaurangtapase gaurangtapase deleted the gtapase/fix-recovery-multiple-targets branch January 7, 2026 21:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants