You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							40 lines
						
					
					
						
							966 B
						
					
					
				
			
		
		
	
	
							40 lines
						
					
					
						
							966 B
						
					
					
				#include <optional>
 | 
						|
#include <string>
 | 
						|
#include <unordered_map>
 | 
						|
#include <vector>
 | 
						|
 | 
						|
#include "cereal/messaging/messaging.h"
 | 
						|
 | 
						|
struct CPUTime {
 | 
						|
  int id;
 | 
						|
  unsigned long utime, ntime, stime, itime;
 | 
						|
  unsigned long iowtime, irqtime, sirqtime;
 | 
						|
};
 | 
						|
 | 
						|
struct ProcCache {
 | 
						|
  int pid;
 | 
						|
  std::string name, exe;
 | 
						|
  std::vector<std::string> cmdline;
 | 
						|
};
 | 
						|
 | 
						|
struct ProcStat {
 | 
						|
  int pid, ppid, processor;
 | 
						|
  char state;
 | 
						|
  long cutime, cstime, priority, nice, num_threads;
 | 
						|
  unsigned long utime, stime, vms, rss;
 | 
						|
  unsigned long long starttime;
 | 
						|
  std::string name;
 | 
						|
};
 | 
						|
 | 
						|
namespace Parser {
 | 
						|
 | 
						|
std::vector<int> pids();
 | 
						|
std::optional<ProcStat> procStat(std::string stat);
 | 
						|
std::vector<std::string> cmdline(std::istream &stream);
 | 
						|
std::vector<CPUTime> cpuTimes(std::istream &stream);
 | 
						|
std::unordered_map<std::string, uint64_t> memInfo(std::istream &stream);
 | 
						|
const ProcCache &getProcExtraInfo(int pid, const std::string &name);
 | 
						|
 | 
						|
};  // namespace Parser
 | 
						|
 | 
						|
void buildProcLogMessage(MessageBuilder &msg);
 | 
						|
 |