30#include <unordered_set>
60 const std::function<
void()> &after_metadata = {});
72 std::istream §or_size_input,
73 std::string_view device);
78 std::string_view device);
82 std::string_view canonical_path,
bool partition);
86 std::istream &input,
const std::unordered_set<std::string> &whole_devices);
90 std::istream &input, std::string_view device_id,
91 std::string_view target_path);
102 uint64_t ticks_per_second);
106 std::istream &input);
110 std::istream &input, uint64_t expected_tid, uint64_t process_pid,
111 uint64_t ticks_per_second, uint64_t page_size);
115 std::istream &input, uint64_t tid);
Result of collecting one system information capability.
Definition: system_info.h:51
Definition: system_info_linux.cc:46
System_result< Filesystem_identity > read_linux_mount_info(std::istream &input, std::string_view device_id, std::string_view target_path)
Find a filesystem in /proc/self/mountinfo.
Definition: system_info_linux_procfs.cc:913
bool valid_linux_storage_device_name(std::string_view name)
Check that a Linux device name is one safe path component.
Definition: system_info_linux_procfs.cc:273
System_result< std::vector< Linux_block_device > > read_linux_partitions(std::istream &input)
Read the block device identity table from /proc/partitions.
Definition: system_info_linux_procfs.cc:296
Storage_snapshot query_linux_storage_devices(const Linux_storage_paths &paths, const std::function< void()> &after_metadata)
Assemble Linux storage metadata from procfs and sysfs.
Definition: system_info_linux_procfs.cc:624
System_result< Thread_io_counters > read_linux_thread_io(std::istream &input, uint64_t tid)
Read /proc/self/task/<tid>/io.
Definition: system_info_linux_procfs.cc:1477
System_result< std::string > linux_storage_sector_size_path(std::string_view canonical_path, bool partition)
Build the sysfs path for a device's hardware sector size.
Definition: system_info_linux_procfs.cc:434
System_result< Storage_device_relationship > linux_partition_relationship(std::string_view canonical_path, std::string_view device)
Find the parent disk of a Linux partition from its canonical sysfs path.
Definition: system_info_linux_procfs.cc:409
Linux_diskstats_snapshot read_linux_diskstats(std::istream &input, const std::unordered_set< std::string > &whole_devices)
Read cumulative block I/O counters from /proc/diskstats.
Definition: system_info_linux_procfs.cc:478
Process_memory_snapshot read_linux_process_status(std::istream &input)
Read process identity and memory from /proc/self/status.
Definition: system_info_linux_procfs.cc:1261
System_result< Swap_activity_info > read_linux_vmstat(std::istream &input)
Read cumulative paging activity from /proc/vmstat.
Definition: system_info_linux_procfs.cc:1086
Host_cpu_snapshot read_linux_cpu_stat(std::istream &input, uint64_t ticks_per_second)
Read CPU time rows from /proc/stat.
Definition: system_info_linux_procfs.cc:1145
System_result< Storage_device_capacity > read_linux_storage_capacity(std::istream &size_input, std::istream §or_size_input, std::string_view device)
Read capacity metadata from /sys/class/block/<device>.
Definition: system_info_linux_procfs.cc:367
Host_memory_snapshot read_linux_meminfo(std::istream &input)
Read labeled host memory values from /proc/meminfo.
Definition: system_info_linux_procfs.cc:995
Process_threads_snapshot read_linux_thread_stat(std::istream &input, uint64_t expected_tid, uint64_t process_pid, uint64_t ticks_per_second, uint64_t page_size)
Read one /proc/self/task/<tid>/stat record.
Definition: system_info_linux_procfs.cc:1345
Host CPU capabilities collected at one collection point.
Definition: system_info.h:334
Host memory capabilities collected at one collection point.
Definition: system_info.h:296
Process memory capabilities collected at one collection point.
Definition: system_info.h:362
Process thread capabilities collected at one collection point.
Definition: system_info.h:450
Storage capabilities collected at one collection point.
Definition: system_info.h:261
Linux block device identity parsed from /proc/partitions.
Definition: system_info_linux_procfs.h:38
uint64_t minor
Definition: system_info_linux_procfs.h:40
uint64_t major
Definition: system_info_linux_procfs.h:39
std::string name
Definition: system_info_linux_procfs.h:41
Linux storage I/O capabilities parsed from /proc/diskstats.
Definition: system_info_linux_procfs.h:45
System_result< Storage_flush_snapshot > flush
Definition: system_info_linux_procfs.h:47
System_result< Storage_read_write_snapshot > read_write
Definition: system_info_linux_procfs.h:46
Linux procfs and sysfs roots used by storage collection.
Definition: system_info_linux_procfs.h:51
std::string proc_diskstats
Definition: system_info_linux_procfs.h:53
std::string sys_class_block
Definition: system_info_linux_procfs.h:54
std::string proc_partitions
Definition: system_info_linux_procfs.h:52