diff --git a/Cargo.lock b/Cargo.lock index 6833021..912782c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -827,7 +827,7 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lustre_collector" -version = "0.9.1" +version = "0.9.2" dependencies = [ "clap", "combine", @@ -843,7 +843,7 @@ dependencies = [ [[package]] name = "lustrefs-exporter" -version = "0.9.1" +version = "0.9.2" dependencies = [ "axum", "clap", diff --git a/Cargo.toml b/Cargo.toml index c584151..f137a63 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ resolver = "2" authors = ["EMF Team "] edition = "2021" license = "MIT" -version = "0.9.1" +version = "0.9.2" [workspace.lints.rust] unreachable_pub = "deny" diff --git a/lustrefs-exporter/debian/changelog b/lustrefs-exporter/debian/changelog index 382ef08..42fbe22 100644 --- a/lustrefs-exporter/debian/changelog +++ b/lustrefs-exporter/debian/changelog @@ -1,4 +1,4 @@ -prometheus-lustrefs-exporter (0.9.1-0.1) unstable; urgency=medium +prometheus-lustrefs-exporter (0.9.2-0.1) unstable; urgency=medium * New release. diff --git a/lustrefs-exporter/fixtures/jobstats_only/2.14.0_164.txt b/lustrefs-exporter/fixtures/jobstats_only/2.14.0_164.txt new file mode 100644 index 0000000..03918c3 --- /dev/null +++ b/lustrefs-exporter/fixtures/jobstats_only/2.14.0_164.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b29b4bde4a76ae920546cf398ca2de3244c82b613e95bfe0b6ad6f0b89eb0b8f +size 42206 diff --git a/lustrefs-exporter/lustrefs_exporter.spec b/lustrefs-exporter/lustrefs_exporter.spec index 6760750..d171dc9 100644 --- a/lustrefs-exporter/lustrefs_exporter.spec +++ b/lustrefs-exporter/lustrefs_exporter.spec @@ -1,5 +1,5 @@ Name: lustrefs_exporter -Version: 0.9.1 +Version: 0.9.2 Release: 1%{?dist} Summary: prometheus exporter for lustre License: MIT diff --git a/lustrefs-exporter/src/jobstats.rs b/lustrefs-exporter/src/jobstats.rs index 0462e8c..3b095a6 100644 --- a/lustrefs-exporter/src/jobstats.rs +++ b/lustrefs-exporter/src/jobstats.rs @@ -134,6 +134,9 @@ pub fn jobstats_stream( let x = tokio::task::spawn_blocking(move || { let mut state = State::Empty; + // Send a new line to make sure we are printing stats with a separating empty line + _ = tx.blocking_send("\n".to_compact_string()); + for line in f.lines() { let r = handle_line(&tx, line.map_err(Error::Io), state); @@ -335,7 +338,7 @@ pub mod tests { fut.await.unwrap(); - assert_eq!(cnt, 21_147_876); + assert_eq!(cnt, 21_147_876 + 1); } #[tokio::test(flavor = "multi_thread")] @@ -354,7 +357,7 @@ pub mod tests { fut.await.unwrap(); - assert_eq!(cnt, 5_310_036); + assert_eq!(cnt, 5_310_036 + 1); } #[tokio::test(flavor = "multi_thread")] @@ -373,7 +376,7 @@ pub mod tests { fut.await.unwrap(); - assert_eq!(cnt, 1_728); + assert_eq!(cnt, 1_728 + 1); } const JOBSTAT_JOB: &str = r#" @@ -421,6 +424,7 @@ job_stats:{}"#, 4 + // 4 metrics per write_bytes 10) // 10 metrics for "getattr" | "setattr" | "punch" | "sync" | "destroy" | "create" | "statfs" | "get_info" | "set_info" | "quotactl" * 10 + + 1 ); } @@ -440,6 +444,25 @@ job_stats:{}"#, fut.await.unwrap(); - assert_eq!(cnt, 108); + assert_eq!(cnt, 108 + 1); + } + + #[tokio::test(flavor = "multi_thread")] + async fn parse_2_14_0_164_jobstats() { + let f = File::open("fixtures/jobstats_only/2.14.0_164.txt").unwrap(); + + let f = BufReader::with_capacity(128 * 1_024, f); + + let (fut, mut rx) = jobstats_stream(f); + + let mut output = r#"previous_stat{foo="bar"} 0"#.to_string(); + + while let Some(x) = rx.recv().await { + output.push_str(x.as_str()); + } + + fut.await.unwrap(); + + insta::assert_snapshot!(output); } } diff --git a/lustrefs-exporter/src/main.rs b/lustrefs-exporter/src/main.rs index c7fb64f..5850e73 100644 --- a/lustrefs-exporter/src/main.rs +++ b/lustrefs-exporter/src/main.rs @@ -187,7 +187,7 @@ async fn scrape(Query(params): Query) -> Result, Error> { let body = if let Some(stream) = jobstats { let merged = - tokio_stream::StreamExt::merge(stream, tokio_stream::once(Ok(lustre_stats.into()))); + tokio_stream::StreamExt::chain(tokio_stream::once(Ok(lustre_stats.into())), stream); Body::from_stream(merged) } else { diff --git a/lustrefs-exporter/src/snapshots/lustrefs_exporter__jobstats__tests__parse_2_14_0_164_jobstats.snap b/lustrefs-exporter/src/snapshots/lustrefs_exporter__jobstats__tests__parse_2_14_0_164_jobstats.snap new file mode 100644 index 0000000..66f04db --- /dev/null +++ b/lustrefs-exporter/src/snapshots/lustrefs_exporter__jobstats__tests__parse_2_14_0_164_jobstats.snap @@ -0,0 +1,293 @@ +--- +source: lustrefs-exporter/src/jobstats.rs +expression: output +--- +previous_stat{foo="bar"} 0 +lustre_job_stats_total{operation="open",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="close",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="mknod",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="link",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="unlink",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="mkdir",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="rmdir",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="rename",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="getattr",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="setattr",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="getxattr",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="setxattr",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="statfs",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 326 +lustre_job_stats_total{operation="sync",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="samedir_rename",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="parallel_rename_file",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="parallel_rename_dir",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="crossdir_rename",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="read",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="write",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="read_bytes",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="write_bytes",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="punch",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="migrate",component="mdt",target="es01a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="open",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 4 +lustre_job_stats_total{operation="close",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 4 +lustre_job_stats_total{operation="mknod",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 4 +lustre_job_stats_total{operation="link",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="unlink",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 3 +lustre_job_stats_total{operation="mkdir",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rmdir",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rename",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getattr",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 7 +lustre_job_stats_total{operation="setattr",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="getxattr",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="setxattr",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="statfs",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="sync",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 3 +lustre_job_stats_total{operation="samedir_rename",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_file",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_dir",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="crossdir_rename",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read_bytes",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write_bytes",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="punch",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="migrate",component="mdt",target="es01a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="open",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="close",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mknod",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="link",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="unlink",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mkdir",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rmdir",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rename",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getattr",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="setattr",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getxattr",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="setxattr",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="statfs",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="sync",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="samedir_rename",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_file",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_dir",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="crossdir_rename",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read_bytes",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write_bytes",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="punch",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="migrate",component="mdt",target="es01a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="open",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 123 +lustre_job_stats_total{operation="close",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 122 +lustre_job_stats_total{operation="mknod",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="link",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="unlink",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mkdir",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rmdir",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rename",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getattr",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 120 +lustre_job_stats_total{operation="setattr",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="getxattr",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="setxattr",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="statfs",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="sync",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="samedir_rename",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_file",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_dir",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="crossdir_rename",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read_bytes",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write_bytes",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="punch",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="migrate",component="mdt",target="es01a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="open",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="close",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mknod",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="link",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="unlink",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mkdir",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rmdir",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rename",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getattr",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 2 +lustre_job_stats_total{operation="setattr",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getxattr",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="setxattr",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="statfs",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 2 +lustre_job_stats_total{operation="sync",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="samedir_rename",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_file",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_dir",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="crossdir_rename",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read_bytes",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write_bytes",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="punch",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="migrate",component="mdt",target="es01a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="open",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="close",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="mknod",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="link",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="unlink",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="mkdir",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="rmdir",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="rename",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="getattr",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="setattr",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="getxattr",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="setxattr",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="statfs",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 326 +lustre_job_stats_total{operation="sync",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="samedir_rename",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="parallel_rename_file",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="parallel_rename_dir",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="crossdir_rename",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="read",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="write",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="read_bytes",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="write_bytes",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="punch",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="migrate",component="mdt",target="es02a-MDT0000",jobid="node_exporter:989:es-2-virt3-co"} 0 +lustre_job_stats_total{operation="open",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="close",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mknod",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="link",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="unlink",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mkdir",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rmdir",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rename",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getattr",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="setattr",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getxattr",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="setxattr",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="statfs",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 2 +lustre_job_stats_total{operation="sync",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="samedir_rename",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_file",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_dir",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="crossdir_rename",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read_bytes",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write_bytes",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="punch",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="migrate",component="mdt",target="es02a-MDT0000",jobid="df:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="open",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 11 +lustre_job_stats_total{operation="close",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 11 +lustre_job_stats_total{operation="mknod",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 9 +lustre_job_stats_total{operation="link",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="unlink",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 8 +lustre_job_stats_total{operation="mkdir",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rmdir",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rename",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="getattr",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 24 +lustre_job_stats_total{operation="setattr",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 5 +lustre_job_stats_total{operation="getxattr",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="setxattr",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="statfs",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="sync",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 5 +lustre_job_stats_total{operation="samedir_rename",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="parallel_rename_file",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="parallel_rename_dir",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="crossdir_rename",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read_bytes",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write_bytes",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="punch",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="migrate",component="mdt",target="es02a-MDT0000",jobid="vi:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="open",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="close",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mknod",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="link",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="unlink",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mkdir",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rmdir",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rename",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getattr",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="setattr",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getxattr",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="setxattr",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="statfs",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="sync",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="samedir_rename",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_file",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_dir",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="crossdir_rename",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read_bytes",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write_bytes",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="punch",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="migrate",component="mdt",target="es02a-MDT0000",jobid="ls:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="open",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="close",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mknod",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="link",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="unlink",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mkdir",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rmdir",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rename",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="getattr",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="setattr",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getxattr",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="setxattr",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="statfs",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="sync",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="samedir_rename",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="parallel_rename_file",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="parallel_rename_dir",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="crossdir_rename",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read_bytes",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write_bytes",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="punch",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="migrate",component="mdt",target="es02a-MDT0000",jobid="mv:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="open",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="close",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mknod",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="link",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="unlink",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mkdir",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rmdir",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rename",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getattr",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="setattr",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getxattr",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="setxattr",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="statfs",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="sync",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="samedir_rename",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_file",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_dir",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="crossdir_rename",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read_bytes",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write_bytes",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="punch",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="migrate",component="mdt",target="es02a-MDT0000",jobid="bash:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="open",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 51 +lustre_job_stats_total{operation="close",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 50 +lustre_job_stats_total{operation="mknod",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="link",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="unlink",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="mkdir",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rmdir",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="rename",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="getattr",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 50 +lustre_job_stats_total{operation="setattr",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="getxattr",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="setxattr",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="statfs",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="sync",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 1 +lustre_job_stats_total{operation="samedir_rename",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_file",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="parallel_rename_dir",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="crossdir_rename",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="read_bytes",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="write_bytes",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="punch",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0 +lustre_job_stats_total{operation="migrate",component="mdt",target="es02a-MDT0000",jobid="fio:0:es-2-virt3-cosp"} 0