Skip to content

Commit 2cbeb08

Browse files
committed
fields are optional when not available
Signed-off-by: Brian L. Troutwine <[email protected]>
1 parent b65eada commit 2cbeb08

File tree

2 files changed

+292
-302
lines changed

2 files changed

+292
-302
lines changed

Diff for: lading/src/observer/linux/procfs.rs

+54-30
Original file line numberDiff line numberDiff line change
@@ -311,36 +311,60 @@ impl Sampler {
311311
("comm", comm.clone()),
312312
("pathname", pathname),
313313
];
314-
gauge!("smaps.rss.by_pathname", &labels).set(measures.rss as f64);
315-
gauge!("smaps.pss.by_pathname", &labels).set(measures.pss as f64);
316-
gauge!("smaps.size.by_pathname", &labels).set(measures.size as f64);
317-
gauge!("smaps.swap.by_pathname", &labels).set(measures.swap as f64);
318-
gauge!("smaps.private_clean.by_pathname", &labels)
319-
.set(measures.private_clean as f64);
320-
gauge!("smaps.private_dirty.by_pathname", &labels)
321-
.set(measures.private_dirty as f64);
322-
gauge!("smaps.shared_clean.by_pathname", &labels)
323-
.set(measures.shared_clean as f64);
324-
gauge!("smaps.shared_dirty.by_pathname", &labels)
325-
.set(measures.shared_dirty as f64);
326-
gauge!("smaps.referenced.by_pathname", &labels)
327-
.set(measures.referenced as f64);
328-
gauge!("smaps.anonymous.by_pathname", &labels)
329-
.set(measures.anonymous as f64);
330-
gauge!("smaps.lazy_free.by_pathname", &labels)
331-
.set(measures.lazy_free as f64);
332-
gauge!("smaps.anon_huge_pages.by_pathname", &labels)
333-
.set(measures.anon_huge_pages as f64);
334-
gauge!("smaps.shmem_pmd_mapped.by_pathname", &labels)
335-
.set(measures.shmem_pmd_mapped as f64);
336-
gauge!("smaps.shared_hugetlb.by_pathname", &labels)
337-
.set(measures.shared_hugetlb as f64);
338-
gauge!("smaps.private_hugetlb.by_pathname", &labels)
339-
.set(measures.private_hugetlb as f64);
340-
gauge!("smaps.file_pmd_mapped.by_pathname", &labels)
341-
.set(measures.file_pmd_mapped as f64);
342-
gauge!("smaps.locked.by_pathname", &labels).set(measures.locked as f64);
343-
gauge!("smaps.swap_pss.by_pathname", &labels).set(measures.swap_pss as f64);
314+
if let Some(m) = measures.rss {
315+
gauge!("smaps.rss.by_pathname", &labels).set(m as f64);
316+
}
317+
if let Some(m) = measures.pss {
318+
gauge!("smaps.pss.by_pathname", &labels).set(m as f64);
319+
}
320+
if let Some(m) = measures.size {
321+
gauge!("smaps.size.by_pathname", &labels).set(m as f64);
322+
}
323+
if let Some(m) = measures.swap {
324+
gauge!("smaps.swap.by_pathname", &labels).set(m as f64);
325+
}
326+
if let Some(m) = measures.private_clean {
327+
gauge!("smaps.private_clean.by_pathname", &labels).set(m as f64);
328+
}
329+
if let Some(m) = measures.private_dirty {
330+
gauge!("smaps.private_dirty.by_pathname", &labels).set(m as f64);
331+
}
332+
if let Some(m) = measures.shared_clean {
333+
gauge!("smaps.shared_clean.by_pathname", &labels).set(m as f64);
334+
}
335+
if let Some(m) = measures.shared_dirty {
336+
gauge!("smaps.shared_dirty.by_pathname", &labels).set(m as f64);
337+
}
338+
if let Some(m) = measures.referenced {
339+
gauge!("smaps.referenced.by_pathname", &labels).set(m as f64);
340+
}
341+
if let Some(m) = measures.anonymous {
342+
gauge!("smaps.anonymous.by_pathname", &labels).set(m as f64);
343+
}
344+
if let Some(m) = measures.lazy_free {
345+
gauge!("smaps.lazy_free.by_pathname", &labels).set(m as f64);
346+
}
347+
if let Some(m) = measures.anon_huge_pages {
348+
gauge!("smaps.anon_huge_pages.by_pathname", &labels).set(m as f64);
349+
}
350+
if let Some(m) = measures.shmem_pmd_mapped {
351+
gauge!("smaps.shmem_pmd_mapped.by_pathname", &labels).set(m as f64);
352+
}
353+
if let Some(m) = measures.shared_hugetlb {
354+
gauge!("smaps.shared_hugetlb.by_pathname", &labels).set(m as f64);
355+
}
356+
if let Some(m) = measures.private_hugetlb {
357+
gauge!("smaps.private_hugetlb.by_pathname", &labels).set(m as f64);
358+
}
359+
if let Some(m) = measures.file_pmd_mapped {
360+
gauge!("smaps.file_pmd_mapped.by_pathname", &labels).set(m as f64);
361+
}
362+
if let Some(m) = measures.locked {
363+
gauge!("smaps.locked.by_pathname", &labels).set(m as f64);
364+
}
365+
if let Some(m) = measures.swap_pss {
366+
gauge!("smaps.swap_pss.by_pathname", &labels).set(m as f64);
367+
}
344368
}
345369

346370
// `/proc/{pid}/smaps_rollup`

0 commit comments

Comments
 (0)