OpenMS
Loading...
Searching...
No Matches
SysInfo.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Chris Bielow $
6// $Authors: Chris Bielow $
7// --------------------------------------------------------------------------
8
9#pragma once
10
11#include <OpenMS/config.h>
13
14namespace OpenMS
15{
16
18 OPENMS_DLLAPI std::string bytesToHumanReadable(UInt64 bytes);
19
26 class OPENMS_DLLAPI SysInfo
27 {
28 public:
35 static bool getProcessMemoryConsumption(size_t& mem_virtual);
36
43 static bool getProcessPeakMemoryConsumption(size_t& mem_virtual);
44
54 static bool getFreeSystemMemory(size_t& mem_available);
55
75 struct OPENMS_DLLAPI MemUsage
76 {
77 size_t mem_before, mem_before_peak, mem_after, mem_after_peak;
78
81
83 void reset();
85 void before();
87 void after();
90 std::string delta(const std::string& event = "delta");
91
94 std::string usage();
95
96 private:
97 // convert difference to string
98 std::string diff_str_(size_t mem_before, size_t mem_after);
99
100 };
101 };
102}
Some functions to get system information.
Definition SysInfo.h:27
static bool getProcessMemoryConsumption(size_t &mem_virtual)
static Int64 getProcessId()
static bool getProcessPeakMemoryConsumption(size_t &mem_virtual)
static bool getFreeSystemMemory(size_t &mem_available)
Get currently available physical system memory in KiloBytes (KB).
int64_t Int64
Signed integer type (64bit)
Definition Types.h:40
uint64_t UInt64
Unsigned integer type (64bit)
Definition Types.h:47
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
std::string bytesToHumanReadable(UInt64 bytes)
convert bytes to a human readable unit (TiB, GiB, MiB, KiB), e.g. "45.34 MiB"
A convenience class to report either absolute or delta (between two timepoints) RAM usage.
Definition SysInfo.h:76
std::string diff_str_(size_t mem_before, size_t mem_after)
void before()
record data for the first timepoint
void after()
record data for the second timepoint
size_t mem_after
Definition SysInfo.h:77
MemUsage()
C'tor, calls before() automatically.
void reset()
forget all data (you need to call before() again)
std::string delta(const std::string &event="delta")