From 354eb221035bfc346cd86b04f49a6a3fb5a2cf23 Mon Sep 17 00:00:00 2001 From: Raphael Druon Date: Thu, 20 Jul 2023 07:42:38 -0600 Subject: [PATCH 1/5] Add llite statistics --- src/fixtures/valid/valid.txt | 15 ++ src/ldlm/mod.rs | 6 +- src/lib.rs | 1 + src/llite/mod.rs | 93 +++++++ ...lustre_collector__llite__tests__parse.snap | 236 ++++++++++++++++++ src/parser.rs | 4 +- ...stre_collector__parser__tests__params.snap | 1 + ...arser__tests__valid_fixture_valid.txt.snap | 227 +++++++++++++++++ src/stats_parser.rs | 3 +- src/types.rs | 9 + 10 files changed, 591 insertions(+), 4 deletions(-) create mode 100644 src/llite/mod.rs create mode 100644 src/llite/snapshots/lustre_collector__llite__tests__parse.snap diff --git a/src/fixtures/valid/valid.txt b/src/fixtures/valid/valid.txt index 3f44a11..ba764d2 100644 --- a/src/fixtures/valid/valid.txt +++ b/src/fixtures/valid/valid.txt @@ -328,3 +328,18 @@ req_active 1 samples [reqs] 1 1 1 1 req_timeout 1 samples [secs] 15 15 15 225 reqbuf_avail 3 samples [bufs] 1 1 3 3 ldlm_bl_callback 1 samples [usecs] 16 16 16 256 +llite.ai400x2-ffff9440f1003000.stats= +snapshot_time 1689697369.331040915 secs.nsecs +ioctl 2 samples [reqs] +open 13812423 samples [usec] 1 725287 1027077752 8835364169944 +close 13812423 samples [usec] 47 778498 1320315612 17542973849370 +readdir 12 samples [usec] 0 4647 6715 22456295 +getattr 14812440 samples [usec] 2 320411 1317584841 2110166912709 +unlink 6906208 samples [usec] 117 749323 1386719680 23443327087798 +mkdir 7906554 samples [usec] 104 1529199 20996782592 1837945636486522 +rmdir 6939862 samples [usec] 95 646028 16617944601 635123583760591 +mknod 6906208 samples [usec] 119 775827 1454511094 10119157242014 +statfs 7 samples [usec] 147 197 1236 220284 +inode_permission 251887103 samples [usec] 0 14235 178199279 1102415701 +opencount 13812424 samples [reqs] 1 2 20718632 34531048 +openclosetime 6906208 samples [usec] 2225920 34405427 163169641155255 11416538743473681487 diff --git a/src/ldlm/mod.rs b/src/ldlm/mod.rs index 8af5ccf..29e36fd 100644 --- a/src/ldlm/mod.rs +++ b/src/ldlm/mod.rs @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. use crate::{base_parsers::period, Record}; -use combine::{parser::char::string, ParseError, Parser, Stream}; +use combine::{attempt, parser::char::string, ParseError, Parser, Stream}; mod ldlm_namespace_parser; mod ldlm_service_parser; @@ -22,5 +22,7 @@ where I: Stream, I::Error: ParseError, { - (string(LDLM), period()).with(ldlm_namespace_parser::parse().or(ldlm_service_parser::parse())) + (attempt(string(LDLM)), period()) + .with(ldlm_namespace_parser::parse().or(ldlm_service_parser::parse())) + .message("while parsing ldlm") } diff --git a/src/lib.rs b/src/lib.rs index 5dcadfc..13a2773 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,6 +6,7 @@ mod base_parsers; pub(crate) mod brw_stats_parser; pub mod error; pub(crate) mod ldlm; +pub(crate) mod llite; mod lnetctl_parser; mod mds; pub mod mgs; diff --git a/src/llite/mod.rs b/src/llite/mod.rs new file mode 100644 index 0000000..826acca --- /dev/null +++ b/src/llite/mod.rs @@ -0,0 +1,93 @@ +// Copyright (c) 2023 DDN. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +use crate::{ + base_parsers::{param, period, target}, + stats_parser::stats, + Param, Record, Stat, Target, TargetStats, +}; +use combine::{attempt, choice, parser::char::string, ParseError, Parser, Stream}; + +pub(crate) const LLITE: &str = "llite"; +pub(crate) const STATS: &str = "stats"; + +pub(crate) fn params() -> Vec { + [STATS] + .into_iter() + .map(|x| format!("{LLITE}.*.{x}")) + .collect() +} + +fn target_name() -> impl Parser +where + I: Stream, + I::Error: ParseError, +{ + ( + attempt(string(LLITE)).skip(period()), + target().skip(period()), + ) + .map(|(_, x)| x) + .message("while parsing llite target_name") +} + +enum LliteStat { + Stats(Vec), +} + +fn llite_stat() -> impl Parser +where + I: Stream, + I::Error: ParseError, +{ + choice(((param(STATS), stats().map(LliteStat::Stats)).message("while parsing llite_stat"),)) +} + +pub(crate) fn parse() -> impl Parser +where + I: Stream, + I::Error: ParseError, +{ + (target_name(), llite_stat()) + .map(|(target, (param, value))| match value { + LliteStat::Stats(stats) => TargetStats::Llite(crate::types::LliteStat { + target, + param, + stats, + }), + }) + .map(Record::Target) + .message("while parsing llite") +} + +#[cfg(test)] +mod tests { + use super::*; + use combine::many; + use insta::assert_debug_snapshot; + + #[test] + fn test_parse() { + let x = r#"llite.ai400x2-ffff9440f1003000.stats= +snapshot_time 1689697369.331040915 secs.nsecs +ioctl 2 samples [reqs] +open 13812423 samples [usec] 1 725287 1027077752 8835364169944 +close 13812423 samples [usec] 47 778498 1320315612 17542973849370 +readdir 12 samples [usec] 0 4647 6715 22456295 +getattr 14812440 samples [usec] 2 320411 1317584841 2110166912709 +unlink 6906208 samples [usec] 117 749323 1386719680 23443327087798 +mkdir 7906554 samples [usec] 104 1529199 20996782592 1837945636486522 +rmdir 6939862 samples [usec] 95 646028 16617944601 635123583760591 +mknod 6906208 samples [usec] 119 775827 1454511094 10119157242014 +statfs 7 samples [usec] 147 197 1236 220284 +inode_permission 251887103 samples [usec] 0 14235 178199279 1102415701 +opencount 13812424 samples [reqs] 1 2 20718632 34531048 +openclosetime 6906208 samples [usec] 2225920 34405427 163169641155255 11416538743473681487 +"#; + + let result: (Vec<_>, _) = many(parse()).parse(x).unwrap(); + + assert_debug_snapshot!(result) + } +} diff --git a/src/llite/snapshots/lustre_collector__llite__tests__parse.snap b/src/llite/snapshots/lustre_collector__llite__tests__parse.snap new file mode 100644 index 0000000..e2c12f9 --- /dev/null +++ b/src/llite/snapshots/lustre_collector__llite__tests__parse.snap @@ -0,0 +1,236 @@ +--- +source: src/llite/mod.rs +expression: result +--- +( + [ + Target( + Llite( + LliteStat { + target: Target( + "ai400x2-ffff9440f1003000", + ), + param: Param( + "stats", + ), + stats: [ + Stat { + name: "ioctl", + units: "reqs", + samples: 2, + min: None, + max: None, + sum: None, + sumsquare: None, + }, + Stat { + name: "open", + units: "usec", + samples: 13812423, + min: Some( + 1, + ), + max: Some( + 725287, + ), + sum: Some( + 1027077752, + ), + sumsquare: Some( + 8835364169944, + ), + }, + Stat { + name: "close", + units: "usec", + samples: 13812423, + min: Some( + 47, + ), + max: Some( + 778498, + ), + sum: Some( + 1320315612, + ), + sumsquare: Some( + 17542973849370, + ), + }, + Stat { + name: "readdir", + units: "usec", + samples: 12, + min: Some( + 0, + ), + max: Some( + 4647, + ), + sum: Some( + 6715, + ), + sumsquare: Some( + 22456295, + ), + }, + Stat { + name: "getattr", + units: "usec", + samples: 14812440, + min: Some( + 2, + ), + max: Some( + 320411, + ), + sum: Some( + 1317584841, + ), + sumsquare: Some( + 2110166912709, + ), + }, + Stat { + name: "unlink", + units: "usec", + samples: 6906208, + min: Some( + 117, + ), + max: Some( + 749323, + ), + sum: Some( + 1386719680, + ), + sumsquare: Some( + 23443327087798, + ), + }, + Stat { + name: "mkdir", + units: "usec", + samples: 7906554, + min: Some( + 104, + ), + max: Some( + 1529199, + ), + sum: Some( + 20996782592, + ), + sumsquare: Some( + 1837945636486522, + ), + }, + Stat { + name: "rmdir", + units: "usec", + samples: 6939862, + min: Some( + 95, + ), + max: Some( + 646028, + ), + sum: Some( + 16617944601, + ), + sumsquare: Some( + 635123583760591, + ), + }, + Stat { + name: "mknod", + units: "usec", + samples: 6906208, + min: Some( + 119, + ), + max: Some( + 775827, + ), + sum: Some( + 1454511094, + ), + sumsquare: Some( + 10119157242014, + ), + }, + Stat { + name: "statfs", + units: "usec", + samples: 7, + min: Some( + 147, + ), + max: Some( + 197, + ), + sum: Some( + 1236, + ), + sumsquare: Some( + 220284, + ), + }, + Stat { + name: "inode_permission", + units: "usec", + samples: 251887103, + min: Some( + 0, + ), + max: Some( + 14235, + ), + sum: Some( + 178199279, + ), + sumsquare: Some( + 1102415701, + ), + }, + Stat { + name: "opencount", + units: "reqs", + samples: 13812424, + min: Some( + 1, + ), + max: Some( + 2, + ), + sum: Some( + 20718632, + ), + sumsquare: Some( + 34531048, + ), + }, + Stat { + name: "openclosetime", + units: "usec", + samples: 6906208, + min: Some( + 2225920, + ), + max: Some( + 34405427, + ), + sum: Some( + 163169641155255, + ), + sumsquare: Some( + 11416538743473681487, + ), + }, + ], + }, + ), + ), + ], + "", +) diff --git a/src/parser.rs b/src/parser.rs index f25b744..5a82d2f 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. use crate::{ - ldlm, + ldlm, llite, mds::{client_count_parser, mds_parser}, mgs::mgs_parser, osd_parser, oss, top_level_parser, @@ -21,6 +21,7 @@ pub fn params() -> Vec { .chain(oss::params()) .chain(mds_parser::params()) .chain(ldlm::params()) + .chain(llite::params()) .collect() } @@ -37,6 +38,7 @@ where mds_parser::parse().map(|x| vec![x]), oss::parse().map(|x| vec![x]), ldlm::parse().map(|x| vec![x]), + llite::parse().map(|x| vec![x]), ))) .map(|xs: Vec<_>| xs.into_iter().flatten().collect()) } diff --git a/src/snapshots/lustre_collector__parser__tests__params.snap b/src/snapshots/lustre_collector__parser__tests__params.snap index ff27958..2586743 100644 --- a/src/snapshots/lustre_collector__parser__tests__params.snap +++ b/src/snapshots/lustre_collector__parser__tests__params.snap @@ -49,4 +49,5 @@ expression: params() "ldlm.namespaces.{mdt-,filter-}*.resource_count", "ldlm.services.ldlm_canceld.stats", "ldlm.services.ldlm_cbd.stats", + "llite.*.stats", ] diff --git a/src/snapshots/lustre_collector__parser__tests__valid_fixture_valid.txt.snap b/src/snapshots/lustre_collector__parser__tests__valid_fixture_valid.txt.snap index 448d920..7daa2f2 100644 --- a/src/snapshots/lustre_collector__parser__tests__valid_fixture_valid.txt.snap +++ b/src/snapshots/lustre_collector__parser__tests__valid_fixture_valid.txt.snap @@ -2629,6 +2629,233 @@ expression: result ], ), ), + Target( + Llite( + LliteStat { + target: Target( + "ai400x2-ffff9440f1003000", + ), + param: Param( + "stats", + ), + stats: [ + Stat { + name: "ioctl", + units: "reqs", + samples: 2, + min: None, + max: None, + sum: None, + sumsquare: None, + }, + Stat { + name: "open", + units: "usec", + samples: 13812423, + min: Some( + 1, + ), + max: Some( + 725287, + ), + sum: Some( + 1027077752, + ), + sumsquare: Some( + 8835364169944, + ), + }, + Stat { + name: "close", + units: "usec", + samples: 13812423, + min: Some( + 47, + ), + max: Some( + 778498, + ), + sum: Some( + 1320315612, + ), + sumsquare: Some( + 17542973849370, + ), + }, + Stat { + name: "readdir", + units: "usec", + samples: 12, + min: Some( + 0, + ), + max: Some( + 4647, + ), + sum: Some( + 6715, + ), + sumsquare: Some( + 22456295, + ), + }, + Stat { + name: "getattr", + units: "usec", + samples: 14812440, + min: Some( + 2, + ), + max: Some( + 320411, + ), + sum: Some( + 1317584841, + ), + sumsquare: Some( + 2110166912709, + ), + }, + Stat { + name: "unlink", + units: "usec", + samples: 6906208, + min: Some( + 117, + ), + max: Some( + 749323, + ), + sum: Some( + 1386719680, + ), + sumsquare: Some( + 23443327087798, + ), + }, + Stat { + name: "mkdir", + units: "usec", + samples: 7906554, + min: Some( + 104, + ), + max: Some( + 1529199, + ), + sum: Some( + 20996782592, + ), + sumsquare: Some( + 1837945636486522, + ), + }, + Stat { + name: "rmdir", + units: "usec", + samples: 6939862, + min: Some( + 95, + ), + max: Some( + 646028, + ), + sum: Some( + 16617944601, + ), + sumsquare: Some( + 635123583760591, + ), + }, + Stat { + name: "mknod", + units: "usec", + samples: 6906208, + min: Some( + 119, + ), + max: Some( + 775827, + ), + sum: Some( + 1454511094, + ), + sumsquare: Some( + 10119157242014, + ), + }, + Stat { + name: "statfs", + units: "usec", + samples: 7, + min: Some( + 147, + ), + max: Some( + 197, + ), + sum: Some( + 1236, + ), + sumsquare: Some( + 220284, + ), + }, + Stat { + name: "inode_permission", + units: "usec", + samples: 251887103, + min: Some( + 0, + ), + max: Some( + 14235, + ), + sum: Some( + 178199279, + ), + sumsquare: Some( + 1102415701, + ), + }, + Stat { + name: "opencount", + units: "reqs", + samples: 13812424, + min: Some( + 1, + ), + max: Some( + 2, + ), + sum: Some( + 20718632, + ), + sumsquare: Some( + 34531048, + ), + }, + Stat { + name: "openclosetime", + units: "usec", + samples: 6906208, + min: Some( + 2225920, + ), + max: Some( + 34405427, + ), + sum: Some( + 163169641155255, + ), + sumsquare: Some( + 11416538743473681487, + ), + }, + ], + }, + ), + ), ], "", ) diff --git a/src/stats_parser.rs b/src/stats_parser.rs index 0dcc961..fa9fb94 100644 --- a/src/stats_parser.rs +++ b/src/stats_parser.rs @@ -5,6 +5,7 @@ use crate::{ base_parsers::{digits, not_words, word}, ldlm::LDLM, + llite::LLITE, oss::oss_parser::OST, time::time_triple, types::Stat, @@ -27,7 +28,7 @@ where I::Error: ParseError, { ( - not_words(&["obdfilter", "mgs", "mdt", LDLM, OST]).skip(spaces()), + not_words(&["obdfilter", "mgs", "mdt", LDLM, OST, LLITE]).skip(spaces()), digits(), spaces().with(string("samples")), spaces().with(between(token('['), token(']'), word())), diff --git a/src/types.rs b/src/types.rs index ed63236..e243b47 100644 --- a/src/types.rs +++ b/src/types.rs @@ -377,6 +377,14 @@ pub struct OssStat { pub stats: Vec, } +#[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] +/// Stats from parsing `llite.*.stats` +pub struct LliteStat { + pub target: Target, + pub param: Param, + pub stats: Vec, +} + #[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] /// Stats specific to a LNet Nid. pub struct LNetStat { @@ -521,6 +529,7 @@ pub enum TargetStats { RecoveryConnectedClients(TargetStat), RecoveryCompletedClients(TargetStat), RecoveryEvictedClients(TargetStat), + Llite(LliteStat), } #[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] From fdb989490024c2f7e91c472be961b742b461b1b6 Mon Sep 17 00:00:00 2001 From: Raphael Druon Date: Mon, 18 Mar 2024 12:05:08 +0100 Subject: [PATCH 2/5] Add new snapshot --- src/fixtures/valid/llite_client.txt | 28 + src/fixtures/valid/valid.txt | 15 - ...ollector__parser__tests__node_output2.snap | 2842 ----------------- ...tests__valid_fixture_llite_client.txt.snap | 404 +++ ...arser__tests__valid_fixture_valid.txt.snap | 227 -- .../lustre_collector__tests__params.snap | 2 +- 6 files changed, 433 insertions(+), 3085 deletions(-) create mode 100644 src/fixtures/valid/llite_client.txt delete mode 100644 src/snapshots/lustre_collector__parser__tests__node_output2.snap create mode 100644 src/snapshots/lustre_collector__parser__tests__valid_fixture_llite_client.txt.snap diff --git a/src/fixtures/valid/llite_client.txt b/src/fixtures/valid/llite_client.txt new file mode 100644 index 0000000..6c2a964 --- /dev/null +++ b/src/fixtures/valid/llite_client.txt @@ -0,0 +1,28 @@ +memused=35721854085 +memused_max=41220347397 +lnet_memused=22228358 +health_check=healthy +ldlm.services.ldlm_cbd.stats= +snapshot_time 1710759783.270541554 secs.nsecs +req_waittime 41083956 samples [usecs] 1 33890 255153949 6336801119 +req_qdepth 41083956 samples [reqs] 0 7 429581 432557 +req_active 41083956 samples [reqs] 1 14 53101359 86233965 +req_timeout 41083956 samples [secs] 15 15 616259340 9243890100 +reqbuf_avail 87745428 samples [bufs] 0 3 80539671 80656909 +ldlm_bl_callback 41083956 samples [usecs] 1 1623 446351106 6062478214 +llite.ai400x2-ff47bce9ca35d800.stats= +snapshot_time 1710759783.271040288 secs.nsecs +ioctl 114 samples [reqs] +open 35955554 samples [usecs] 0 172939 3393651645 8836730033307 +close 35955554 samples [usecs] 63 194037 5402095148 11956065309788 +readdir 60 samples [usecs] 0 2242 34741 52343869 +getattr 35955647 samples [usecs] 0 85505 2317024138 904252691326 +unlink 17977752 samples [usecs] 107 148413 3846291010 6948473454642 +mkdir 17987059 samples [usecs] 104 1306648 23731812831 644644512447919 +rmdir 17987079 samples [usecs] 95 1478009 37000527306 744761005599966 +mknod 17977752 samples [usecs] 119 193901 4144162753 7852936850197 +statfs 17864 samples [usecs] 0 88480 10257950 80137794724 +setxattr 1 samples [usecs] 8760 8760 8760 76737600 +inode_permission 629305628 samples [usecs] 0 147014 196719589 76130795547 +opencount 35955576 samples [reqs] 1 2 40433335 49388853 +openclosetime 17977772 samples [usecs] 34302 20804335332 4185265858629453 2084188699388296969 diff --git a/src/fixtures/valid/valid.txt b/src/fixtures/valid/valid.txt index ba764d2..3f44a11 100644 --- a/src/fixtures/valid/valid.txt +++ b/src/fixtures/valid/valid.txt @@ -328,18 +328,3 @@ req_active 1 samples [reqs] 1 1 1 1 req_timeout 1 samples [secs] 15 15 15 225 reqbuf_avail 3 samples [bufs] 1 1 3 3 ldlm_bl_callback 1 samples [usecs] 16 16 16 256 -llite.ai400x2-ffff9440f1003000.stats= -snapshot_time 1689697369.331040915 secs.nsecs -ioctl 2 samples [reqs] -open 13812423 samples [usec] 1 725287 1027077752 8835364169944 -close 13812423 samples [usec] 47 778498 1320315612 17542973849370 -readdir 12 samples [usec] 0 4647 6715 22456295 -getattr 14812440 samples [usec] 2 320411 1317584841 2110166912709 -unlink 6906208 samples [usec] 117 749323 1386719680 23443327087798 -mkdir 7906554 samples [usec] 104 1529199 20996782592 1837945636486522 -rmdir 6939862 samples [usec] 95 646028 16617944601 635123583760591 -mknod 6906208 samples [usec] 119 775827 1454511094 10119157242014 -statfs 7 samples [usec] 147 197 1236 220284 -inode_permission 251887103 samples [usec] 0 14235 178199279 1102415701 -opencount 13812424 samples [reqs] 1 2 20718632 34531048 -openclosetime 6906208 samples [usec] 2225920 34405427 163169641155255 11416538743473681487 diff --git a/src/snapshots/lustre_collector__parser__tests__node_output2.snap b/src/snapshots/lustre_collector__parser__tests__node_output2.snap deleted file mode 100644 index 92f29f0..0000000 --- a/src/snapshots/lustre_collector__parser__tests__node_output2.snap +++ /dev/null @@ -1,2842 +0,0 @@ ---- -source: src/parser.rs -expression: result ---- -( - [ - Host( - Memused( - HostStat { - param: Param( - "memused", - ), - value: 1428667814, - }, - ), - ), - Host( - MemusedMax( - HostStat { - param: Param( - "memused_max", - ), - value: 1431117162, - }, - ), - ), - Host( - LNetMemUsed( - HostStat { - param: Param( - "lnet_memused", - ), - value: 179561964, - }, - ), - ), - Host( - HealthCheck( - HostStat { - param: Param( - "health_check", - ), - value: HealthCheckStat { - healthy: true, - targets: [], - }, - }, - ), - ), - Target( - ConnectedClients( - TargetStat { - kind: Mdt, - param: Param( - "connected_clients", - ), - target: Target( - "testfs-MDT0000", - ), - value: 1, - }, - ), - ), - Target( - FilesFree( - TargetStat { - kind: Mgt, - param: Param( - "filesfree", - ), - target: Target( - "MGS", - ), - value: 130871, - }, - ), - ), - Target( - FilesFree( - TargetStat { - kind: Mdt, - param: Param( - "filesfree", - ), - target: Target( - "testfs-MDT0000", - ), - value: 257722634, - }, - ), - ), - Target( - FilesFree( - TargetStat { - kind: Ost, - param: Param( - "filesfree", - ), - target: Target( - "testfs-OST0000", - ), - value: 274726412, - }, - ), - ), - Target( - FilesFree( - TargetStat { - kind: Ost, - param: Param( - "filesfree", - ), - target: Target( - "testfs-OST0001", - ), - value: 274726412, - }, - ), - ), - Target( - FilesTotal( - TargetStat { - kind: Mgt, - param: Param( - "filestotal", - ), - target: Target( - "MGS", - ), - value: 131072, - }, - ), - ), - Target( - FilesTotal( - TargetStat { - kind: Mdt, - param: Param( - "filestotal", - ), - target: Target( - "testfs-MDT0000", - ), - value: 257722920, - }, - ), - ), - Target( - FilesTotal( - TargetStat { - kind: Ost, - param: Param( - "filestotal", - ), - target: Target( - "testfs-OST0000", - ), - value: 274726912, - }, - ), - ), - Target( - FilesTotal( - TargetStat { - kind: Ost, - param: Param( - "filestotal", - ), - target: Target( - "testfs-OST0001", - ), - value: 274726912, - }, - ), - ), - Target( - FsType( - TargetStat { - kind: Mgt, - param: Param( - "fstype", - ), - target: Target( - "MGS", - ), - value: "ldiskfs", - }, - ), - ), - Target( - FsType( - TargetStat { - kind: Mdt, - param: Param( - "fstype", - ), - target: Target( - "testfs-MDT0000", - ), - value: "ldiskfs", - }, - ), - ), - Target( - FsType( - TargetStat { - kind: Ost, - param: Param( - "fstype", - ), - target: Target( - "testfs-OST0000", - ), - value: "ldiskfs", - }, - ), - ), - Target( - FsType( - TargetStat { - kind: Ost, - param: Param( - "fstype", - ), - target: Target( - "testfs-OST0001", - ), - value: "ldiskfs", - }, - ), - ), - Target( - KBytesAvail( - TargetStat { - kind: Mgt, - param: Param( - "kbytesavail", - ), - target: Target( - "MGS", - ), - value: 1873816, - }, - ), - ), - Target( - KBytesAvail( - TargetStat { - kind: Mdt, - param: Param( - "kbytesavail", - ), - target: Target( - "testfs-MDT0000", - ), - value: 359762008, - }, - ), - ), - Target( - KBytesAvail( - TargetStat { - kind: Ost, - param: Param( - "kbytesavail", - ), - target: Target( - "testfs-OST0000", - ), - value: 34398756288, - }, - ), - ), - Target( - KBytesAvail( - TargetStat { - kind: Ost, - param: Param( - "kbytesavail", - ), - target: Target( - "testfs-OST0001", - ), - value: 34398756288, - }, - ), - ), - Target( - KBytesFree( - TargetStat { - kind: Mgt, - param: Param( - "kbytesfree", - ), - target: Target( - "MGS", - ), - value: 1978672, - }, - ), - ), - Target( - KBytesFree( - TargetStat { - kind: Mdt, - param: Param( - "kbytesfree", - ), - target: Target( - "testfs-MDT0000", - ), - value: 366204132, - }, - ), - ), - Target( - KBytesFree( - TargetStat { - kind: Ost, - param: Param( - "kbytesfree", - ), - target: Target( - "testfs-OST0000", - ), - value: 34750423116, - }, - ), - ), - Target( - KBytesFree( - TargetStat { - kind: Ost, - param: Param( - "kbytesfree", - ), - target: Target( - "testfs-OST0001", - ), - value: 34750423116, - }, - ), - ), - Target( - KBytesTotal( - TargetStat { - kind: Mgt, - param: Param( - "kbytestotal", - ), - target: Target( - "MGS", - ), - value: 1980036, - }, - ), - ), - Target( - KBytesTotal( - TargetStat { - kind: Mdt, - param: Param( - "kbytestotal", - ), - target: Target( - "testfs-MDT0000", - ), - value: 366222772, - }, - ), - ), - Target( - KBytesTotal( - TargetStat { - kind: Ost, - param: Param( - "kbytestotal", - ), - target: Target( - "testfs-OST0000", - ), - value: 34750424936, - }, - ), - ), - Target( - KBytesTotal( - TargetStat { - kind: Ost, - param: Param( - "kbytestotal", - ), - target: Target( - "testfs-OST0001", - ), - value: 34750424936, - }, - ), - ), - Target( - BrwStats( - TargetStat { - kind: Mgt, - param: Param( - "brw_stats", - ), - target: Target( - "MGS", - ), - value: [ - BrwStats { - name: "pages", - unit: "rpcs", - buckets: [], - }, - BrwStats { - name: "discont_pages", - unit: "rpcs", - buckets: [], - }, - BrwStats { - name: "discont_blocks", - unit: "rpcs", - buckets: [], - }, - BrwStats { - name: "dio_frags", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "rpc_hist", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "io_time", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "disk_iosize", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "block_maps_msec", - unit: "maps", - buckets: [], - }, - ], - }, - ), - ), - Target( - BrwStats( - TargetStat { - kind: Mdt, - param: Param( - "brw_stats", - ), - target: Target( - "testfs-MDT0000", - ), - value: [ - BrwStats { - name: "pages", - unit: "rpcs", - buckets: [], - }, - BrwStats { - name: "discont_pages", - unit: "rpcs", - buckets: [], - }, - BrwStats { - name: "discont_blocks", - unit: "rpcs", - buckets: [], - }, - BrwStats { - name: "dio_frags", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "rpc_hist", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "io_time", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "disk_iosize", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "block_maps_msec", - unit: "maps", - buckets: [], - }, - ], - }, - ), - ), - Target( - BrwStats( - TargetStat { - kind: Ost, - param: Param( - "brw_stats", - ), - target: Target( - "testfs-OST0000", - ), - value: [ - BrwStats { - name: "pages", - unit: "rpcs", - buckets: [], - }, - BrwStats { - name: "discont_pages", - unit: "rpcs", - buckets: [], - }, - BrwStats { - name: "discont_blocks", - unit: "rpcs", - buckets: [], - }, - BrwStats { - name: "dio_frags", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "rpc_hist", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "io_time", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "disk_iosize", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "block_maps_msec", - unit: "maps", - buckets: [], - }, - ], - }, - ), - ), - Target( - BrwStats( - TargetStat { - kind: Ost, - param: Param( - "brw_stats", - ), - target: Target( - "testfs-OST0001", - ), - value: [ - BrwStats { - name: "pages", - unit: "rpcs", - buckets: [], - }, - BrwStats { - name: "discont_pages", - unit: "rpcs", - buckets: [], - }, - BrwStats { - name: "discont_blocks", - unit: "rpcs", - buckets: [], - }, - BrwStats { - name: "dio_frags", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "rpc_hist", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "io_time", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "disk_iosize", - unit: "ios", - buckets: [], - }, - BrwStats { - name: "block_maps_msec", - unit: "maps", - buckets: [], - }, - ], - }, - ), - ), - Target( - ConnectedClients( - TargetStat { - kind: Mdt, - param: Param( - "connected_clients", - ), - target: Target( - "testfs-MDT0000", - ), - value: 1, - }, - ), - ), - Target( - Stats( - TargetStat { - kind: Mgt, - param: Param( - "stats", - ), - target: Target( - "MGS", - ), - value: [ - Stat { - name: "req_waittime", - units: "usecs", - samples: 2401, - min: Some( - 8, - ), - max: Some( - 47029, - ), - sum: Some( - 275681, - ), - sumsquare: Some( - 5985183985, - ), - }, - Stat { - name: "req_qdepth", - units: "reqs", - samples: 2401, - min: Some( - 0, - ), - max: Some( - 0, - ), - sum: Some( - 0, - ), - sumsquare: Some( - 0, - ), - }, - Stat { - name: "req_active", - units: "reqs", - samples: 2401, - min: Some( - 1, - ), - max: Some( - 3, - ), - sum: Some( - 2425, - ), - sumsquare: Some( - 2475, - ), - }, - Stat { - name: "req_timeout", - units: "secs", - samples: 2401, - min: Some( - 1, - ), - max: Some( - 10, - ), - sum: Some( - 2410, - ), - sumsquare: Some( - 2500, - ), - }, - Stat { - name: "reqbuf_avail", - units: "bufs", - samples: 6560, - min: Some( - 61, - ), - max: Some( - 64, - ), - sum: Some( - 414962, - ), - sumsquare: Some( - 26250410, - ), - }, - Stat { - name: "ldlm_plain_enqueue", - units: "reqs", - samples: 59, - min: Some( - 1, - ), - max: Some( - 1, - ), - sum: Some( - 59, - ), - sumsquare: Some( - 59, - ), - }, - Stat { - name: "mgs_connect", - units: "usecs", - samples: 4, - min: Some( - 40, - ), - max: Some( - 63, - ), - sum: Some( - 204, - ), - sumsquare: Some( - 10670, - ), - }, - Stat { - name: "mgs_target_reg", - units: "usecs", - samples: 24, - min: Some( - 12, - ), - max: Some( - 691, - ), - sum: Some( - 4172, - ), - sumsquare: Some( - 1491574, - ), - }, - Stat { - name: "mgs_config_read", - units: "usecs", - samples: 12, - min: Some( - 26, - ), - max: Some( - 439, - ), - sum: Some( - 1406, - ), - sumsquare: Some( - 295580, - ), - }, - Stat { - name: "obd_ping", - units: "usecs", - samples: 2121, - min: Some( - 6, - ), - max: Some( - 47006, - ), - sum: Some( - 147929, - ), - sumsquare: Some( - 3631971991, - ), - }, - Stat { - name: "llog_origin_handle_open", - units: "usecs", - samples: 42, - min: Some( - 6, - ), - max: Some( - 50, - ), - sum: Some( - 677, - ), - sumsquare: Some( - 14905, - ), - }, - Stat { - name: "llog_origin_handle_next_block", - units: "usecs", - samples: 101, - min: Some( - 6, - ), - max: Some( - 259, - ), - sum: Some( - 2656, - ), - sumsquare: Some( - 169606, - ), - }, - Stat { - name: "llog_origin_handle_read_header", - units: "usecs", - samples: 38, - min: Some( - 7, - ), - max: Some( - 190, - ), - sum: Some( - 1271, - ), - sumsquare: Some( - 93967, - ), - }, - ], - }, - ), - ), - Target( - ThreadsMax( - TargetStat { - kind: Mgt, - param: Param( - "threads_max", - ), - target: Target( - "MGS", - ), - value: 32, - }, - ), - ), - Target( - ThreadsMin( - TargetStat { - kind: Mgt, - param: Param( - "threads_min", - ), - target: Target( - "MGS", - ), - value: 3, - }, - ), - ), - Target( - ThreadsStarted( - TargetStat { - kind: Mgt, - param: Param( - "threads_started", - ), - target: Target( - "MGS", - ), - value: 4, - }, - ), - ), - Target( - NumExports( - TargetStat { - kind: Mgt, - param: Param( - "num_exports", - ), - target: Target( - "MGS", - ), - value: 4, - }, - ), - ), - Target( - JobStatsOst( - TargetStat { - kind: Ost, - param: Param( - "job_stats", - ), - target: Target( - "testfs-OST0000", - ), - value: None, - }, - ), - ), - Target( - JobStatsOst( - TargetStat { - kind: Ost, - param: Param( - "job_stats", - ), - target: Target( - "testfs-OST0001", - ), - value: None, - }, - ), - ), - Target( - Stats( - TargetStat { - kind: Ost, - param: Param( - "stats", - ), - target: Target( - "testfs-OST0000", - ), - value: [ - Stat { - name: "create", - units: "usecs", - samples: 8, - min: Some( - 1, - ), - max: Some( - 1201, - ), - sum: Some( - 2230, - ), - sumsquare: Some( - 1751346, - ), - }, - Stat { - name: "statfs", - units: "usecs", - samples: 9714, - min: Some( - 0, - ), - max: Some( - 27, - ), - sum: Some( - 26301, - ), - sumsquare: Some( - 156187, - ), - }, - Stat { - name: "get_info", - units: "usecs", - samples: 4, - min: Some( - 872, - ), - max: Some( - 1999, - ), - sum: Some( - 4718, - ), - sumsquare: Some( - 6464074, - ), - }, - ], - }, - ), - ), - Target( - Stats( - TargetStat { - kind: Ost, - param: Param( - "stats", - ), - target: Target( - "testfs-OST0001", - ), - value: [ - Stat { - name: "create", - units: "usecs", - samples: 8, - min: Some( - 1, - ), - max: Some( - 1673, - ), - sum: Some( - 2685, - ), - sumsquare: Some( - 3107485, - ), - }, - Stat { - name: "statfs", - units: "usecs", - samples: 9714, - min: Some( - 0, - ), - max: Some( - 27, - ), - sum: Some( - 26831, - ), - sumsquare: Some( - 166481, - ), - }, - Stat { - name: "get_info", - units: "usecs", - samples: 4, - min: Some( - 1009, - ), - max: Some( - 1724, - ), - sum: Some( - 5464, - ), - sumsquare: Some( - 7883602, - ), - }, - ], - }, - ), - ), - Target( - NumExports( - TargetStat { - kind: Ost, - param: Param( - "num_exports", - ), - target: Target( - "testfs-OST0000", - ), - value: 4, - }, - ), - ), - Target( - NumExports( - TargetStat { - kind: Ost, - param: Param( - "num_exports", - ), - target: Target( - "testfs-OST0001", - ), - value: 4, - }, - ), - ), - Target( - TotDirty( - TargetStat { - kind: Ost, - param: Param( - "tot_dirty", - ), - target: Target( - "testfs-OST0000", - ), - value: 0, - }, - ), - ), - Target( - TotDirty( - TargetStat { - kind: Ost, - param: Param( - "tot_dirty", - ), - target: Target( - "testfs-OST0001", - ), - value: 0, - }, - ), - ), - Target( - TotGranted( - TargetStat { - kind: Ost, - param: Param( - "tot_granted", - ), - target: Target( - "testfs-OST0000", - ), - value: 276416, - }, - ), - ), - Target( - TotGranted( - TargetStat { - kind: Ost, - param: Param( - "tot_granted", - ), - target: Target( - "testfs-OST0001", - ), - value: 276416, - }, - ), - ), - Target( - TotPending( - TargetStat { - kind: Ost, - param: Param( - "tot_pending", - ), - target: Target( - "testfs-OST0000", - ), - value: 0, - }, - ), - ), - Target( - TotPending( - TargetStat { - kind: Ost, - param: Param( - "tot_pending", - ), - target: Target( - "testfs-OST0001", - ), - value: 0, - }, - ), - ), - Target( - Oss( - OssStat { - param: Param( - "ost", - ), - stats: [ - Stat { - name: "req_waittime", - units: "usecs", - samples: 42, - min: Some( - 9, - ), - max: Some( - 76, - ), - sum: Some( - 1159, - ), - sumsquare: Some( - 37619, - ), - }, - Stat { - name: "req_qdepth", - units: "reqs", - samples: 42, - min: Some( - 0, - ), - max: Some( - 0, - ), - sum: Some( - 0, - ), - sumsquare: Some( - 0, - ), - }, - Stat { - name: "req_active", - units: "reqs", - samples: 42, - min: Some( - 1, - ), - max: Some( - 2, - ), - sum: Some( - 51, - ), - sumsquare: Some( - 69, - ), - }, - Stat { - name: "req_timeout", - units: "secs", - samples: 42, - min: Some( - 1, - ), - max: Some( - 10, - ), - sum: Some( - 96, - ), - sumsquare: Some( - 636, - ), - }, - Stat { - name: "reqbuf_avail", - units: "bufs", - samples: 96, - min: Some( - 64, - ), - max: Some( - 64, - ), - sum: Some( - 6144, - ), - sumsquare: Some( - 393216, - ), - }, - Stat { - name: "ost_create", - units: "usecs", - samples: 16, - min: Some( - 6, - ), - max: Some( - 1693, - ), - sum: Some( - 5130, - ), - sumsquare: Some( - 5041288, - ), - }, - Stat { - name: "ost_get_info", - units: "usecs", - samples: 8, - min: Some( - 890, - ), - max: Some( - 2014, - ), - sum: Some( - 10289, - ), - sumsquare: Some( - 14624345, - ), - }, - Stat { - name: "ost_connect", - units: "usecs", - samples: 10, - min: Some( - 40, - ), - max: Some( - 799, - ), - sum: Some( - 1324, - ), - sumsquare: Some( - 673562, - ), - }, - Stat { - name: "ost_disconnect", - units: "usecs", - samples: 2, - min: Some( - 51, - ), - max: Some( - 54, - ), - sum: Some( - 105, - ), - sumsquare: Some( - 5517, - ), - }, - Stat { - name: "obd_ping", - units: "usecs", - samples: 6, - min: Some( - 16, - ), - max: Some( - 37, - ), - sum: Some( - 166, - ), - sumsquare: Some( - 4920, - ), - }, - ], - }, - ), - ), - Target( - Oss( - OssStat { - param: Param( - "ost_io", - ), - stats: [], - }, - ), - ), - Target( - Oss( - OssStat { - param: Param( - "ost_create", - ), - stats: [ - Stat { - name: "req_waittime", - units: "usecs", - samples: 19428, - min: Some( - 7, - ), - max: Some( - 47856, - ), - sum: Some( - 2170021, - ), - sumsquare: Some( - 33504364513, - ), - }, - Stat { - name: "req_qdepth", - units: "reqs", - samples: 19428, - min: Some( - 0, - ), - max: Some( - 1, - ), - sum: Some( - 14, - ), - sumsquare: Some( - 14, - ), - }, - Stat { - name: "req_active", - units: "reqs", - samples: 19428, - min: Some( - 1, - ), - max: Some( - 2, - ), - sum: Some( - 22581, - ), - sumsquare: Some( - 28887, - ), - }, - Stat { - name: "req_timeout", - units: "secs", - samples: 19428, - min: Some( - 1, - ), - max: Some( - 31, - ), - sum: Some( - 20142, - ), - sumsquare: Some( - 41142, - ), - }, - Stat { - name: "reqbuf_avail", - units: "bufs", - samples: 50071, - min: Some( - 63, - ), - max: Some( - 64, - ), - sum: Some( - 3203764, - ), - sumsquare: Some( - 204991756, - ), - }, - Stat { - name: "ost_statfs", - units: "usecs", - samples: 19428, - min: Some( - 3, - ), - max: Some( - 47562, - ), - sum: Some( - 907024, - ), - sumsquare: Some( - 13525897792, - ), - }, - ], - }, - ), - ), - Target( - Oss( - OssStat { - param: Param( - "ost_out", - ), - stats: [ - Stat { - name: "req_waittime", - units: "usecs", - samples: 7306, - min: Some( - 8, - ), - max: Some( - 31307, - ), - sum: Some( - 572613, - ), - sumsquare: Some( - 6070930167, - ), - }, - Stat { - name: "req_qdepth", - units: "reqs", - samples: 7306, - min: Some( - 0, - ), - max: Some( - 0, - ), - sum: Some( - 0, - ), - sumsquare: Some( - 0, - ), - }, - Stat { - name: "req_active", - units: "reqs", - samples: 7306, - min: Some( - 1, - ), - max: Some( - 2, - ), - sum: Some( - 7307, - ), - sumsquare: Some( - 7309, - ), - }, - Stat { - name: "req_timeout", - units: "secs", - samples: 7306, - min: Some( - 1, - ), - max: Some( - 10, - ), - sum: Some( - 8146, - ), - sumsquare: Some( - 12100, - ), - }, - Stat { - name: "reqbuf_avail", - units: "bufs", - samples: 20590, - min: Some( - 63, - ), - max: Some( - 64, - ), - sum: Some( - 1317624, - ), - sumsquare: Some( - 84319368, - ), - }, - Stat { - name: "mds_connect", - units: "usecs", - samples: 10, - min: Some( - 11, - ), - max: Some( - 7319, - ), - sum: Some( - 7685, - ), - sumsquare: Some( - 53586307, - ), - }, - Stat { - name: "mds_statfs", - units: "usecs", - samples: 7284, - min: Some( - 4, - ), - max: Some( - 66, - ), - sum: Some( - 180765, - ), - sumsquare: Some( - 5025495, - ), - }, - Stat { - name: "obd_ping", - units: "usecs", - samples: 3, - min: Some( - 10, - ), - max: Some( - 14, - ), - sum: Some( - 37, - ), - sumsquare: Some( - 465, - ), - }, - Stat { - name: "out_update", - units: "usecs", - samples: 9, - min: Some( - 9, - ), - max: Some( - 103, - ), - sum: Some( - 382, - ), - sumsquare: Some( - 25354, - ), - }, - ], - }, - ), - ), - Target( - Oss( - OssStat { - param: Param( - "ost_seq", - ), - stats: [ - Stat { - name: "req_waittime", - units: "usecs", - samples: 26, - min: Some( - 20, - ), - max: Some( - 4013, - ), - sum: Some( - 7178, - ), - sumsquare: Some( - 21315024, - ), - }, - Stat { - name: "req_qdepth", - units: "reqs", - samples: 26, - min: Some( - 0, - ), - max: Some( - 0, - ), - sum: Some( - 0, - ), - sumsquare: Some( - 0, - ), - }, - Stat { - name: "req_active", - units: "reqs", - samples: 26, - min: Some( - 1, - ), - max: Some( - 2, - ), - sum: Some( - 30, - ), - sumsquare: Some( - 38, - ), - }, - Stat { - name: "req_timeout", - units: "secs", - samples: 26, - min: Some( - 1, - ), - max: Some( - 10, - ), - sum: Some( - 71, - ), - sumsquare: Some( - 521, - ), - }, - Stat { - name: "reqbuf_avail", - units: "bufs", - samples: 65, - min: Some( - 64, - ), - max: Some( - 64, - ), - sum: Some( - 4160, - ), - sumsquare: Some( - 266240, - ), - }, - Stat { - name: "seq_query", - units: "usecs", - samples: 26, - min: Some( - 9, - ), - max: Some( - 4057, - ), - sum: Some( - 16420, - ), - sumsquare: Some( - 57794128, - ), - }, - ], - }, - ), - ), - Target( - JobStatsMdt( - TargetStat { - kind: Mdt, - param: Param( - "job_stats", - ), - target: Target( - "testfs-MDT0000", - ), - value: Some( - [ - JobStatMdt { - job_id: "dd.0", - snapshot_time: UnsignedLustreTimestamp( - 1701093009, - ), - start_time: None, - elapsed_time: None, - open: BytesStat { - samples: 1, - unit: "usecs", - min: 185, - max: 185, - sum: 185, - }, - close: BytesStat { - samples: 1, - unit: "usecs", - min: 51, - max: 51, - sum: 51, - }, - mknod: BytesStat { - samples: 1, - unit: "usecs", - min: 170, - max: 170, - sum: 170, - }, - link: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - unlink: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - mkdir: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - rmdir: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - rename: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - getattr: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - setattr: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - getxattr: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - setxattr: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - statfs: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - sync: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - samedir_rename: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - crossdir_rename: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - read_bytes: BytesStat { - samples: 0, - unit: "bytes", - min: 0, - max: 0, - sum: 0, - }, - write_bytes: BytesStat { - samples: 0, - unit: "bytes", - min: 0, - max: 0, - sum: 0, - }, - punch: BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - parallel_rename_dir: Some( - BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - ), - parallel_rename_file: Some( - BytesStat { - samples: 0, - unit: "usecs", - min: 0, - max: 0, - sum: 0, - }, - ), - }, - ], - ), - }, - ), - ), - Target( - Stats( - TargetStat { - kind: Mdt, - param: Param( - "md_stats", - ), - target: Target( - "testfs-MDT0000", - ), - value: [ - Stat { - name: "open", - units: "usecs", - samples: 4, - min: Some( - 62, - ), - max: Some( - 392, - ), - sum: Some( - 794, - ), - sumsquare: Some( - 215758, - ), - }, - Stat { - name: "close", - units: "usecs", - samples: 5, - min: Some( - 26, - ), - max: Some( - 51, - ), - sum: Some( - 175, - ), - sumsquare: Some( - 6707, - ), - }, - Stat { - name: "mknod", - units: "usecs", - samples: 3, - min: Some( - 146, - ), - max: Some( - 376, - ), - sum: Some( - 692, - ), - sumsquare: Some( - 191592, - ), - }, - Stat { - name: "unlink", - units: "usecs", - samples: 2, - min: Some( - 108, - ), - max: Some( - 118, - ), - sum: Some( - 226, - ), - sumsquare: Some( - 25588, - ), - }, - Stat { - name: "getattr", - units: "usecs", - samples: 9, - min: Some( - 6, - ), - max: Some( - 23, - ), - sum: Some( - 142, - ), - sumsquare: Some( - 2390, - ), - }, - Stat { - name: "setattr", - units: "usecs", - samples: 2, - min: Some( - 41, - ), - max: Some( - 64, - ), - sum: Some( - 105, - ), - sumsquare: Some( - 5777, - ), - }, - Stat { - name: "getxattr", - units: "usecs", - samples: 1, - min: Some( - 16, - ), - max: Some( - 16, - ), - sum: Some( - 16, - ), - sumsquare: Some( - 256, - ), - }, - Stat { - name: "statfs", - units: "usecs", - samples: 7286, - min: Some( - 0, - ), - max: Some( - 33, - ), - sum: Some( - 44145, - ), - sumsquare: Some( - 370781, - ), - }, - ], - }, - ), - ), - Target( - NumExports( - TargetStat { - kind: Mdt, - param: Param( - "num_exports", - ), - target: Target( - "testfs-MDT0000", - ), - value: 16, - }, - ), - ), - Target( - ContendedLocks( - TargetStat { - kind: Mdt, - param: Param( - "contended_locks", - ), - target: Target( - "testfs-MDT0000", - ), - value: 32, - }, - ), - ), - Target( - ContendedLocks( - TargetStat { - kind: Ost, - param: Param( - "contended_locks", - ), - target: Target( - "testfs-OST0000", - ), - value: 32, - }, - ), - ), - Target( - ContendedLocks( - TargetStat { - kind: Ost, - param: Param( - "contended_locks", - ), - target: Target( - "testfs-OST0001", - ), - value: 32, - }, - ), - ), - Target( - ContentionSeconds( - TargetStat { - kind: Mdt, - param: Param( - "contention_seconds", - ), - target: Target( - "testfs-MDT0000", - ), - value: 2, - }, - ), - ), - Target( - ContentionSeconds( - TargetStat { - kind: Ost, - param: Param( - "contention_seconds", - ), - target: Target( - "testfs-OST0000", - ), - value: 2, - }, - ), - ), - Target( - ContentionSeconds( - TargetStat { - kind: Ost, - param: Param( - "contention_seconds", - ), - target: Target( - "testfs-OST0001", - ), - value: 2, - }, - ), - ), - Target( - CtimeAgeLimit( - TargetStat { - kind: Mdt, - param: Param( - "ctime_age_limit", - ), - target: Target( - "testfs-MDT0000", - ), - value: 10, - }, - ), - ), - Target( - CtimeAgeLimit( - TargetStat { - kind: Ost, - param: Param( - "ctime_age_limit", - ), - target: Target( - "testfs-OST0000", - ), - value: 10, - }, - ), - ), - Target( - CtimeAgeLimit( - TargetStat { - kind: Ost, - param: Param( - "ctime_age_limit", - ), - target: Target( - "testfs-OST0001", - ), - value: 10, - }, - ), - ), - Target( - EarlyLockCancel( - TargetStat { - kind: Mdt, - param: Param( - "early_lock_cancel", - ), - target: Target( - "testfs-MDT0000", - ), - value: 0, - }, - ), - ), - Target( - EarlyLockCancel( - TargetStat { - kind: Ost, - param: Param( - "early_lock_cancel", - ), - target: Target( - "testfs-OST0000", - ), - value: 0, - }, - ), - ), - Target( - EarlyLockCancel( - TargetStat { - kind: Ost, - param: Param( - "early_lock_cancel", - ), - target: Target( - "testfs-OST0001", - ), - value: 0, - }, - ), - ), - Target( - LockCount( - TargetStat { - kind: Mdt, - param: Param( - "lock_count", - ), - target: Target( - "testfs-MDT0000", - ), - value: 1, - }, - ), - ), - Target( - LockCount( - TargetStat { - kind: Ost, - param: Param( - "lock_count", - ), - target: Target( - "testfs-OST0000", - ), - value: 0, - }, - ), - ), - Target( - LockCount( - TargetStat { - kind: Ost, - param: Param( - "lock_count", - ), - target: Target( - "testfs-OST0001", - ), - value: 0, - }, - ), - ), - Target( - LockTimeouts( - TargetStat { - kind: Mdt, - param: Param( - "lock_timeouts", - ), - target: Target( - "testfs-MDT0000", - ), - value: 0, - }, - ), - ), - Target( - LockTimeouts( - TargetStat { - kind: Ost, - param: Param( - "lock_timeouts", - ), - target: Target( - "testfs-OST0000", - ), - value: 0, - }, - ), - ), - Target( - LockTimeouts( - TargetStat { - kind: Ost, - param: Param( - "lock_timeouts", - ), - target: Target( - "testfs-OST0001", - ), - value: 0, - }, - ), - ), - Target( - LockUnusedCount( - TargetStat { - kind: Mdt, - param: Param( - "lock_unused_count", - ), - target: Target( - "testfs-MDT0000", - ), - value: 0, - }, - ), - ), - Target( - LockUnusedCount( - TargetStat { - kind: Ost, - param: Param( - "lock_unused_count", - ), - target: Target( - "testfs-OST0000", - ), - value: 0, - }, - ), - ), - Target( - LockUnusedCount( - TargetStat { - kind: Ost, - param: Param( - "lock_unused_count", - ), - target: Target( - "testfs-OST0001", - ), - value: 0, - }, - ), - ), - Target( - LruMaxAge( - TargetStat { - kind: Mdt, - param: Param( - "lru_max_age", - ), - target: Target( - "testfs-MDT0000", - ), - value: 3900000, - }, - ), - ), - Target( - LruMaxAge( - TargetStat { - kind: Ost, - param: Param( - "lru_max_age", - ), - target: Target( - "testfs-OST0000", - ), - value: 3900000, - }, - ), - ), - Target( - LruMaxAge( - TargetStat { - kind: Ost, - param: Param( - "lru_max_age", - ), - target: Target( - "testfs-OST0001", - ), - value: 3900000, - }, - ), - ), - Target( - LruSize( - TargetStat { - kind: Mdt, - param: Param( - "lru_size", - ), - target: Target( - "testfs-MDT0000", - ), - value: 2400, - }, - ), - ), - Target( - LruSize( - TargetStat { - kind: Ost, - param: Param( - "lru_size", - ), - target: Target( - "testfs-OST0000", - ), - value: 2400, - }, - ), - ), - Target( - LruSize( - TargetStat { - kind: Ost, - param: Param( - "lru_size", - ), - target: Target( - "testfs-OST0001", - ), - value: 2400, - }, - ), - ), - Target( - MaxNolockBytes( - TargetStat { - kind: Mdt, - param: Param( - "max_nolock_bytes", - ), - target: Target( - "testfs-MDT0000", - ), - value: 0, - }, - ), - ), - Target( - MaxNolockBytes( - TargetStat { - kind: Ost, - param: Param( - "max_nolock_bytes", - ), - target: Target( - "testfs-OST0000", - ), - value: 0, - }, - ), - ), - Target( - MaxNolockBytes( - TargetStat { - kind: Ost, - param: Param( - "max_nolock_bytes", - ), - target: Target( - "testfs-OST0001", - ), - value: 0, - }, - ), - ), - Target( - MaxParallelAst( - TargetStat { - kind: Mdt, - param: Param( - "max_parallel_ast", - ), - target: Target( - "testfs-MDT0000", - ), - value: 1024, - }, - ), - ), - Target( - MaxParallelAst( - TargetStat { - kind: Ost, - param: Param( - "max_parallel_ast", - ), - target: Target( - "testfs-OST0000", - ), - value: 1024, - }, - ), - ), - Target( - MaxParallelAst( - TargetStat { - kind: Ost, - param: Param( - "max_parallel_ast", - ), - target: Target( - "testfs-OST0001", - ), - value: 1024, - }, - ), - ), - Target( - ResourceCount( - TargetStat { - kind: Mdt, - param: Param( - "resource_count", - ), - target: Target( - "testfs-MDT0000", - ), - value: 1, - }, - ), - ), - Target( - ResourceCount( - TargetStat { - kind: Ost, - param: Param( - "resource_count", - ), - target: Target( - "testfs-OST0000", - ), - value: 0, - }, - ), - ), - Target( - ResourceCount( - TargetStat { - kind: Ost, - param: Param( - "resource_count", - ), - target: Target( - "testfs-OST0001", - ), - value: 0, - }, - ), - ), - LustreService( - LdlmCanceld( - [ - Stat { - name: "req_waittime", - units: "usecs", - samples: 5, - min: Some( - 23, - ), - max: Some( - 35, - ), - sum: Some( - 138, - ), - sumsquare: Some( - 3890, - ), - }, - Stat { - name: "req_qdepth", - units: "reqs", - samples: 5, - min: Some( - 0, - ), - max: Some( - 0, - ), - sum: Some( - 0, - ), - sumsquare: Some( - 0, - ), - }, - Stat { - name: "req_active", - units: "reqs", - samples: 5, - min: Some( - 1, - ), - max: Some( - 1, - ), - sum: Some( - 5, - ), - sumsquare: Some( - 5, - ), - }, - Stat { - name: "req_timeout", - units: "secs", - samples: 5, - min: Some( - 1, - ), - max: Some( - 10, - ), - sum: Some( - 32, - ), - sumsquare: Some( - 302, - ), - }, - Stat { - name: "reqbuf_avail", - units: "bufs", - samples: 14, - min: Some( - 64, - ), - max: Some( - 64, - ), - sum: Some( - 896, - ), - sumsquare: Some( - 57344, - ), - }, - Stat { - name: "ldlm_cancel", - units: "usecs", - samples: 5, - min: Some( - 11, - ), - max: Some( - 45, - ), - sum: Some( - 118, - ), - sumsquare: Some( - 3480, - ), - }, - ], - ), - ), - LustreService( - LdlmCbd( - [ - Stat { - name: "req_waittime", - units: "usecs", - samples: 3, - min: Some( - 34, - ), - max: Some( - 42, - ), - sum: Some( - 117, - ), - sumsquare: Some( - 4601, - ), - }, - Stat { - name: "req_qdepth", - units: "reqs", - samples: 3, - min: Some( - 0, - ), - max: Some( - 0, - ), - sum: Some( - 0, - ), - sumsquare: Some( - 0, - ), - }, - Stat { - name: "req_active", - units: "reqs", - samples: 3, - min: Some( - 1, - ), - max: Some( - 1, - ), - sum: Some( - 3, - ), - sumsquare: Some( - 3, - ), - }, - Stat { - name: "req_timeout", - units: "secs", - samples: 3, - min: Some( - 1, - ), - max: Some( - 10, - ), - sum: Some( - 12, - ), - sumsquare: Some( - 102, - ), - }, - Stat { - name: "reqbuf_avail", - units: "bufs", - samples: 9, - min: Some( - 1, - ), - max: Some( - 1, - ), - sum: Some( - 9, - ), - sumsquare: Some( - 9, - ), - }, - Stat { - name: "ldlm_bl_callback", - units: "usecs", - samples: 3, - min: Some( - 17, - ), - max: Some( - 25, - ), - sum: Some( - 61, - ), - sumsquare: Some( - 1275, - ), - }, - ], - ), - ), - ], - "", -) diff --git a/src/snapshots/lustre_collector__parser__tests__valid_fixture_llite_client.txt.snap b/src/snapshots/lustre_collector__parser__tests__valid_fixture_llite_client.txt.snap new file mode 100644 index 0000000..fd5d5d4 --- /dev/null +++ b/src/snapshots/lustre_collector__parser__tests__valid_fixture_llite_client.txt.snap @@ -0,0 +1,404 @@ +--- +source: src/parser.rs +expression: result +--- +( + [ + Host( + Memused( + HostStat { + param: Param( + "memused", + ), + value: 35721854085, + }, + ), + ), + Host( + MemusedMax( + HostStat { + param: Param( + "memused_max", + ), + value: 41220347397, + }, + ), + ), + Host( + LNetMemUsed( + HostStat { + param: Param( + "lnet_memused", + ), + value: 22228358, + }, + ), + ), + Host( + HealthCheck( + HostStat { + param: Param( + "health_check", + ), + value: HealthCheckStat { + healthy: true, + targets: [], + }, + }, + ), + ), + LustreService( + LdlmCbd( + [ + Stat { + name: "req_waittime", + units: "usecs", + samples: 41083956, + min: Some( + 1, + ), + max: Some( + 33890, + ), + sum: Some( + 255153949, + ), + sumsquare: Some( + 6336801119, + ), + }, + Stat { + name: "req_qdepth", + units: "reqs", + samples: 41083956, + min: Some( + 0, + ), + max: Some( + 7, + ), + sum: Some( + 429581, + ), + sumsquare: Some( + 432557, + ), + }, + Stat { + name: "req_active", + units: "reqs", + samples: 41083956, + min: Some( + 1, + ), + max: Some( + 14, + ), + sum: Some( + 53101359, + ), + sumsquare: Some( + 86233965, + ), + }, + Stat { + name: "req_timeout", + units: "secs", + samples: 41083956, + min: Some( + 15, + ), + max: Some( + 15, + ), + sum: Some( + 616259340, + ), + sumsquare: Some( + 9243890100, + ), + }, + Stat { + name: "reqbuf_avail", + units: "bufs", + samples: 87745428, + min: Some( + 0, + ), + max: Some( + 3, + ), + sum: Some( + 80539671, + ), + sumsquare: Some( + 80656909, + ), + }, + Stat { + name: "ldlm_bl_callback", + units: "usecs", + samples: 41083956, + min: Some( + 1, + ), + max: Some( + 1623, + ), + sum: Some( + 446351106, + ), + sumsquare: Some( + 6062478214, + ), + }, + ], + ), + ), + Target( + Llite( + LliteStat { + target: Target( + "ai400x2-ff47bce9ca35d800", + ), + param: Param( + "stats", + ), + stats: [ + Stat { + name: "ioctl", + units: "reqs", + samples: 114, + min: None, + max: None, + sum: None, + sumsquare: None, + }, + Stat { + name: "open", + units: "usecs", + samples: 35955554, + min: Some( + 0, + ), + max: Some( + 172939, + ), + sum: Some( + 3393651645, + ), + sumsquare: Some( + 8836730033307, + ), + }, + Stat { + name: "close", + units: "usecs", + samples: 35955554, + min: Some( + 63, + ), + max: Some( + 194037, + ), + sum: Some( + 5402095148, + ), + sumsquare: Some( + 11956065309788, + ), + }, + Stat { + name: "readdir", + units: "usecs", + samples: 60, + min: Some( + 0, + ), + max: Some( + 2242, + ), + sum: Some( + 34741, + ), + sumsquare: Some( + 52343869, + ), + }, + Stat { + name: "getattr", + units: "usecs", + samples: 35955647, + min: Some( + 0, + ), + max: Some( + 85505, + ), + sum: Some( + 2317024138, + ), + sumsquare: Some( + 904252691326, + ), + }, + Stat { + name: "unlink", + units: "usecs", + samples: 17977752, + min: Some( + 107, + ), + max: Some( + 148413, + ), + sum: Some( + 3846291010, + ), + sumsquare: Some( + 6948473454642, + ), + }, + Stat { + name: "mkdir", + units: "usecs", + samples: 17987059, + min: Some( + 104, + ), + max: Some( + 1306648, + ), + sum: Some( + 23731812831, + ), + sumsquare: Some( + 644644512447919, + ), + }, + Stat { + name: "rmdir", + units: "usecs", + samples: 17987079, + min: Some( + 95, + ), + max: Some( + 1478009, + ), + sum: Some( + 37000527306, + ), + sumsquare: Some( + 744761005599966, + ), + }, + Stat { + name: "mknod", + units: "usecs", + samples: 17977752, + min: Some( + 119, + ), + max: Some( + 193901, + ), + sum: Some( + 4144162753, + ), + sumsquare: Some( + 7852936850197, + ), + }, + Stat { + name: "statfs", + units: "usecs", + samples: 17864, + min: Some( + 0, + ), + max: Some( + 88480, + ), + sum: Some( + 10257950, + ), + sumsquare: Some( + 80137794724, + ), + }, + Stat { + name: "setxattr", + units: "usecs", + samples: 1, + min: Some( + 8760, + ), + max: Some( + 8760, + ), + sum: Some( + 8760, + ), + sumsquare: Some( + 76737600, + ), + }, + Stat { + name: "inode_permission", + units: "usecs", + samples: 629305628, + min: Some( + 0, + ), + max: Some( + 147014, + ), + sum: Some( + 196719589, + ), + sumsquare: Some( + 76130795547, + ), + }, + Stat { + name: "opencount", + units: "reqs", + samples: 35955576, + min: Some( + 1, + ), + max: Some( + 2, + ), + sum: Some( + 40433335, + ), + sumsquare: Some( + 49388853, + ), + }, + Stat { + name: "openclosetime", + units: "usecs", + samples: 17977772, + min: Some( + 34302, + ), + max: Some( + 20804335332, + ), + sum: Some( + 4185265858629453, + ), + sumsquare: Some( + 2084188699388296969, + ), + }, + ], + }, + ), + ), + ], + "", +) diff --git a/src/snapshots/lustre_collector__parser__tests__valid_fixture_valid.txt.snap b/src/snapshots/lustre_collector__parser__tests__valid_fixture_valid.txt.snap index 7daa2f2..448d920 100644 --- a/src/snapshots/lustre_collector__parser__tests__valid_fixture_valid.txt.snap +++ b/src/snapshots/lustre_collector__parser__tests__valid_fixture_valid.txt.snap @@ -2629,233 +2629,6 @@ expression: result ], ), ), - Target( - Llite( - LliteStat { - target: Target( - "ai400x2-ffff9440f1003000", - ), - param: Param( - "stats", - ), - stats: [ - Stat { - name: "ioctl", - units: "reqs", - samples: 2, - min: None, - max: None, - sum: None, - sumsquare: None, - }, - Stat { - name: "open", - units: "usec", - samples: 13812423, - min: Some( - 1, - ), - max: Some( - 725287, - ), - sum: Some( - 1027077752, - ), - sumsquare: Some( - 8835364169944, - ), - }, - Stat { - name: "close", - units: "usec", - samples: 13812423, - min: Some( - 47, - ), - max: Some( - 778498, - ), - sum: Some( - 1320315612, - ), - sumsquare: Some( - 17542973849370, - ), - }, - Stat { - name: "readdir", - units: "usec", - samples: 12, - min: Some( - 0, - ), - max: Some( - 4647, - ), - sum: Some( - 6715, - ), - sumsquare: Some( - 22456295, - ), - }, - Stat { - name: "getattr", - units: "usec", - samples: 14812440, - min: Some( - 2, - ), - max: Some( - 320411, - ), - sum: Some( - 1317584841, - ), - sumsquare: Some( - 2110166912709, - ), - }, - Stat { - name: "unlink", - units: "usec", - samples: 6906208, - min: Some( - 117, - ), - max: Some( - 749323, - ), - sum: Some( - 1386719680, - ), - sumsquare: Some( - 23443327087798, - ), - }, - Stat { - name: "mkdir", - units: "usec", - samples: 7906554, - min: Some( - 104, - ), - max: Some( - 1529199, - ), - sum: Some( - 20996782592, - ), - sumsquare: Some( - 1837945636486522, - ), - }, - Stat { - name: "rmdir", - units: "usec", - samples: 6939862, - min: Some( - 95, - ), - max: Some( - 646028, - ), - sum: Some( - 16617944601, - ), - sumsquare: Some( - 635123583760591, - ), - }, - Stat { - name: "mknod", - units: "usec", - samples: 6906208, - min: Some( - 119, - ), - max: Some( - 775827, - ), - sum: Some( - 1454511094, - ), - sumsquare: Some( - 10119157242014, - ), - }, - Stat { - name: "statfs", - units: "usec", - samples: 7, - min: Some( - 147, - ), - max: Some( - 197, - ), - sum: Some( - 1236, - ), - sumsquare: Some( - 220284, - ), - }, - Stat { - name: "inode_permission", - units: "usec", - samples: 251887103, - min: Some( - 0, - ), - max: Some( - 14235, - ), - sum: Some( - 178199279, - ), - sumsquare: Some( - 1102415701, - ), - }, - Stat { - name: "opencount", - units: "reqs", - samples: 13812424, - min: Some( - 1, - ), - max: Some( - 2, - ), - sum: Some( - 20718632, - ), - sumsquare: Some( - 34531048, - ), - }, - Stat { - name: "openclosetime", - units: "usec", - samples: 6906208, - min: Some( - 2225920, - ), - max: Some( - 34405427, - ), - sum: Some( - 163169641155255, - ), - sumsquare: Some( - 11416538743473681487, - ), - }, - ], - }, - ), - ), ], "", ) diff --git a/src/snapshots/lustre_collector__tests__params.snap b/src/snapshots/lustre_collector__tests__params.snap index b89e4c9..4700075 100644 --- a/src/snapshots/lustre_collector__tests__params.snap +++ b/src/snapshots/lustre_collector__tests__params.snap @@ -2,4 +2,4 @@ source: src/lib.rs expression: "xs.join(\" \")" --- -memused memused_max lnet_memused health_check mdt.*.exports.*.uuid osd-*.*.filesfree osd-*.*.filestotal osd-*.*.fstype osd-*.*.kbytesavail osd-*.*.kbytesfree osd-*.*.kbytestotal osd-*.*.brw_stats mdt.*.exports.*.uuid mgs.*.mgs.stats mgs.*.mgs.threads_max mgs.*.mgs.threads_min mgs.*.mgs.threads_started mgs.*.num_exports obdfilter.*OST*.job_stats obdfilter.*OST*.stats obdfilter.*OST*.num_exports obdfilter.*OST*.tot_dirty obdfilter.*OST*.tot_granted obdfilter.*OST*.tot_pending ost.OSS.ost.stats ost.OSS.ost_io.stats ost.OSS.ost_create.stats ost.OSS.ost_out.stats ost.OSS.ost_seq.stats mdt.*.job_stats mdt.*.md_stats mdt.*MDT*.num_exports ldlm.namespaces.{mdt-,filter-}*.contended_locks ldlm.namespaces.{mdt-,filter-}*.contention_seconds ldlm.namespaces.{mdt-,filter-}*.ctime_age_limit ldlm.namespaces.{mdt-,filter-}*.early_lock_cancel ldlm.namespaces.{mdt-,filter-}*.lock_count ldlm.namespaces.{mdt-,filter-}*.lock_timeouts ldlm.namespaces.{mdt-,filter-}*.lock_unused_count ldlm.namespaces.{mdt-,filter-}*.lru_max_age ldlm.namespaces.{mdt-,filter-}*.lru_size ldlm.namespaces.{mdt-,filter-}*.max_nolock_bytes ldlm.namespaces.{mdt-,filter-}*.max_parallel_ast ldlm.namespaces.{mdt-,filter-}*.resource_count ldlm.services.ldlm_canceld.stats ldlm.services.ldlm_cbd.stats +memused memused_max lnet_memused health_check mdt.*.exports.*.uuid osd-*.*.filesfree osd-*.*.filestotal osd-*.*.fstype osd-*.*.kbytesavail osd-*.*.kbytesfree osd-*.*.kbytestotal osd-*.*.brw_stats mdt.*.exports.*.uuid mgs.*.mgs.stats mgs.*.mgs.threads_max mgs.*.mgs.threads_min mgs.*.mgs.threads_started mgs.*.num_exports obdfilter.*OST*.job_stats obdfilter.*OST*.stats obdfilter.*OST*.num_exports obdfilter.*OST*.tot_dirty obdfilter.*OST*.tot_granted obdfilter.*OST*.tot_pending ost.OSS.ost.stats ost.OSS.ost_io.stats ost.OSS.ost_create.stats ost.OSS.ost_out.stats ost.OSS.ost_seq.stats mdt.*.job_stats mdt.*.md_stats mdt.*MDT*.num_exports ldlm.namespaces.{mdt-,filter-}*.contended_locks ldlm.namespaces.{mdt-,filter-}*.contention_seconds ldlm.namespaces.{mdt-,filter-}*.ctime_age_limit ldlm.namespaces.{mdt-,filter-}*.early_lock_cancel ldlm.namespaces.{mdt-,filter-}*.lock_count ldlm.namespaces.{mdt-,filter-}*.lock_timeouts ldlm.namespaces.{mdt-,filter-}*.lock_unused_count ldlm.namespaces.{mdt-,filter-}*.lru_max_age ldlm.namespaces.{mdt-,filter-}*.lru_size ldlm.namespaces.{mdt-,filter-}*.max_nolock_bytes ldlm.namespaces.{mdt-,filter-}*.max_parallel_ast ldlm.namespaces.{mdt-,filter-}*.resource_count ldlm.services.ldlm_canceld.stats ldlm.services.ldlm_cbd.stats llite.*.stats From a6d607f0efe8016db5efc1cd188d10c9a02c8144 Mon Sep 17 00:00:00 2001 From: Raphael Druon Date: Mon, 18 Mar 2024 15:00:26 +0100 Subject: [PATCH 3/5] Address comments --- Cargo.toml | 2 +- .../client}/llite_client.txt | 0 src/ldlm/mod.rs | 2 +- src/llite/mod.rs | 6 ++--- src/parser.rs | 23 +++++++++++-------- ...tre-2-14-0__client__llite_client.txt.snap} | 0 6 files changed, 19 insertions(+), 14 deletions(-) rename src/fixtures/valid/{ => lustre-2-14-0/client}/llite_client.txt (100%) rename src/snapshots/{lustre_collector__parser__tests__valid_fixture_llite_client.txt.snap => lustre_collector__parser__tests__valid_fixture_lustre-2-14-0__client__llite_client.txt.snap} (100%) diff --git a/Cargo.toml b/Cargo.toml index a1983df..fdb5c38 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ tracing = "0.1" tracing-subscriber = "0.3" [dev-dependencies] -include_dir = {version = "0.7", features = ["glob"]} +include_dir = {version = "0.7", features = ["glob"]} insta = "1" [profile.release] diff --git a/src/fixtures/valid/llite_client.txt b/src/fixtures/valid/lustre-2-14-0/client/llite_client.txt similarity index 100% rename from src/fixtures/valid/llite_client.txt rename to src/fixtures/valid/lustre-2-14-0/client/llite_client.txt diff --git a/src/ldlm/mod.rs b/src/ldlm/mod.rs index 29e36fd..f896c95 100644 --- a/src/ldlm/mod.rs +++ b/src/ldlm/mod.rs @@ -1,4 +1,4 @@ -// Copyright (c) 2023 DDN. All rights reserved. +// Copyright (c) 2024 DDN. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. diff --git a/src/llite/mod.rs b/src/llite/mod.rs index 826acca..295d04b 100644 --- a/src/llite/mod.rs +++ b/src/llite/mod.rs @@ -7,7 +7,7 @@ use crate::{ stats_parser::stats, Param, Record, Stat, Target, TargetStats, }; -use combine::{attempt, choice, parser::char::string, ParseError, Parser, Stream}; +use combine::{parser::char::string, ParseError, Parser, Stream}; pub(crate) const LLITE: &str = "llite"; pub(crate) const STATS: &str = "stats"; @@ -25,7 +25,7 @@ where I::Error: ParseError, { ( - attempt(string(LLITE)).skip(period()), + string(LLITE).skip(period()), target().skip(period()), ) .map(|(_, x)| x) @@ -41,7 +41,7 @@ where I: Stream, I::Error: ParseError, { - choice(((param(STATS), stats().map(LliteStat::Stats)).message("while parsing llite_stat"),)) + (param(STATS), stats().map(LliteStat::Stats)).message("while parsing llite_stat") } pub(crate) fn parse() -> impl Parser diff --git a/src/parser.rs b/src/parser.rs index 5a82d2f..2e33fa5 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -50,21 +50,26 @@ mod tests { use include_dir::{include_dir, Dir}; use insta::assert_debug_snapshot; - static VALID_FIXTURES: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/src/fixtures/valid"); + static VALID_FIXTURES: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/src/fixtures/valid/"); #[test] fn test_valid_fixtures() { - for file in VALID_FIXTURES.files() { - let name = file.path().file_name().unwrap().to_string_lossy(); + for dir in VALID_FIXTURES.find("*").unwrap() { + match dir { + include_dir::DirEntry::Dir(_) => {}, + include_dir::DirEntry::File(file) => { + let name = file.path().to_string_lossy(); - let contents = file.contents_utf8().unwrap(); + let contents = file.contents_utf8().unwrap(); - let result = parse() - .easy_parse(contents) - .map_err(|err| err.map_position(|p| p.translate_position(contents))) - .unwrap(); + let result = parse() + .easy_parse(contents) + .map_err(|err| err.map_position(|p| p.translate_position(contents))) + .unwrap(); - assert_debug_snapshot!(format!("valid_fixture_{name}"), result); + assert_debug_snapshot!(format!("valid_fixture_{name}"), result); + } + } } } diff --git a/src/snapshots/lustre_collector__parser__tests__valid_fixture_llite_client.txt.snap b/src/snapshots/lustre_collector__parser__tests__valid_fixture_lustre-2-14-0__client__llite_client.txt.snap similarity index 100% rename from src/snapshots/lustre_collector__parser__tests__valid_fixture_llite_client.txt.snap rename to src/snapshots/lustre_collector__parser__tests__valid_fixture_lustre-2-14-0__client__llite_client.txt.snap From f02eb7ccb829d04e0905fd0f353bc93c63255596 Mon Sep 17 00:00:00 2001 From: Andy Breuhan Date: Tue, 23 Apr 2024 13:31:43 +0200 Subject: [PATCH 4/5] fixed cargo fmt issues. --- src/llite/mod.rs | 5 +---- src/parser.rs | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/llite/mod.rs b/src/llite/mod.rs index 295d04b..4cc624a 100644 --- a/src/llite/mod.rs +++ b/src/llite/mod.rs @@ -24,10 +24,7 @@ where I: Stream, I::Error: ParseError, { - ( - string(LLITE).skip(period()), - target().skip(period()), - ) + (string(LLITE).skip(period()), target().skip(period())) .map(|(_, x)| x) .message("while parsing llite target_name") } diff --git a/src/parser.rs b/src/parser.rs index 2e33fa5..67f21b4 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -56,7 +56,7 @@ mod tests { fn test_valid_fixtures() { for dir in VALID_FIXTURES.find("*").unwrap() { match dir { - include_dir::DirEntry::Dir(_) => {}, + include_dir::DirEntry::Dir(_) => {} include_dir::DirEntry::File(file) => { let name = file.path().to_string_lossy(); From d0b537445173c19146c5986497719e31686588fb Mon Sep 17 00:00:00 2001 From: Joe Grund Date: Tue, 7 May 2024 10:48:29 -0400 Subject: [PATCH 5/5] Bump deps Signed-off-by: Joe Grund --- src/ldlm/ldlm_service_parser.rs | 2 +- src/llite/mod.rs | 2 +- src/oss/mod.rs | 2 +- src/oss/oss_parser.rs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ldlm/ldlm_service_parser.rs b/src/ldlm/ldlm_service_parser.rs index 925cb24..e1d583c 100644 --- a/src/ldlm/ldlm_service_parser.rs +++ b/src/ldlm/ldlm_service_parser.rs @@ -1,4 +1,4 @@ -// Copyright (c) 2023 DDN. All rights reserved. +// Copyright (c) 2024 DDN. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. diff --git a/src/llite/mod.rs b/src/llite/mod.rs index 4cc624a..a2fe169 100644 --- a/src/llite/mod.rs +++ b/src/llite/mod.rs @@ -1,4 +1,4 @@ -// Copyright (c) 2023 DDN. All rights reserved. +// Copyright (c) 2024 DDN. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. diff --git a/src/oss/mod.rs b/src/oss/mod.rs index 19fee0f..636e299 100644 --- a/src/oss/mod.rs +++ b/src/oss/mod.rs @@ -1,4 +1,4 @@ -// Copyright (c) 2023 DDN. All rights reserved. +// Copyright (c) 2024 DDN. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. diff --git a/src/oss/oss_parser.rs b/src/oss/oss_parser.rs index 8713db2..e1e5e7d 100644 --- a/src/oss/oss_parser.rs +++ b/src/oss/oss_parser.rs @@ -1,4 +1,4 @@ -// Copyright (c) 2023 DDN. All rights reserved. +// Copyright (c) 2024 DDN. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file.