| The Gaudi Framework v32r1 (f65d50dc)

SysProcStat.cpp
Go to the documentation of this file.
1 /*
2 * SysProcStat.cpp
3 *
4 * Created on: Jul 6, 2012
5 * Author: Ivan Valencik
6 */
7
8 #include "RootCnv/SysProcStat.h"
9
10 #include <cstdio>
11 #include <sys/time.h>
12 using namespace Gaudi;
13
14 SysProcStat::SysProcStat() { update(); }
15
16 /*
17 * Update system performance values from /proc/self/stat virtaul file.
18 */
19 int SysProcStat::update() {
20 FILE* file = fopen( "/proc/self/stat", "r" );
21 int par = fscanf( file,
22 "%d %s %c %d %d"
23 "%d %d %d %lu %lu"
24 "%lu %lu %lu %lu %lu"
25 "%ld %ld %ld %ld %ld"
26 "%ld %lu %lu %ld %lu"
27 "%lu %lu %lu %lu %lu"
28 "%lu %lu %lu %lu %lu"
29 "%lu %lu %d %d",
30 &pid, comm, &state, &ppid, &pgrp, &session, &tty_nr, &tpgid, &flags, &minflt, &cminflt, &majflt,
31 &cmajflt, &utime, &stime, &cutime, &cstime, &priority, &nice, &num_threads, &itrealvalue, &startime,
32 &vsize, &rss, &rlim, &startcode, &endcode, &startstack, &kstkesp, &kstkeip, &signal, &blocked,
33 &sigingore, &sigcatch, &wchan, &nswap, &cnswap, &exit_signal, &processor );
34 fclose( file );
35
36 if ( par != 39 ) return -1;
37
38 struct timeval tv;
39 gettimeofday( &tv, nullptr );
40 time = tv.tv_sec * 1000 + tv.tv_usec / 1000;
41
42 return pid;
43 }
Gaudi::SysProcStat::tty_nr
int tty_nr
Definition: SysProcStat.h:15
Gaudi::SysProcStat::sigingore
long unsigned sigingore
Definition: SysProcStat.h:16
Gaudi::SysProcStat::stime
long unsigned stime
Definition: SysProcStat.h:16
Gaudi::SysProcStat::startcode
long unsigned startcode
Definition: SysProcStat.h:16
Gaudi::SysProcStat::cutime
long int cutime
Definition: SysProcStat.h:18
Gaudi::SysProcStat::sigcatch
long unsigned sigcatch
Definition: SysProcStat.h:16
Gaudi::SysProcStat::cstime
long int cstime
Definition: SysProcStat.h:18
Gaudi::SysProcStat::SysProcStat
SysProcStat()
Definition: SysProcStat.cpp:14
Gaudi::SysProcStat::blocked
long unsigned blocked
Definition: SysProcStat.h:16
SysProcStat.h
Gaudi::SysProcStat::nice
long int nice
Definition: SysProcStat.h:18
Gaudi::SysProcStat::cminflt
long unsigned cminflt
Definition: SysProcStat.h:16
Gaudi::SysProcStat::nswap
long unsigned nswap
Definition: SysProcStat.h:16
Gaudi::SysProcStat::majflt
long unsigned majflt
Definition: SysProcStat.h:16
Gaudi::SysProcStat::pgrp
int pgrp
Definition: SysProcStat.h:15
Gaudi::SysProcStat::minflt
long unsigned minflt
Definition: SysProcStat.h:16
Gaudi::SysProcStat::ppid
int ppid
Definition: SysProcStat.h:15
Gaudi::SysProcStat::itrealvalue
long int itrealvalue
Definition: SysProcStat.h:18
Gaudi::SysProcStat::kstkeip
long unsigned kstkeip
Definition: SysProcStat.h:16
Gaudi::SysProcStat::processor
int processor
Definition: SysProcStat.h:15
Gaudi::SysProcStat::wchan
long unsigned wchan
Definition: SysProcStat.h:16
compareOutputFiles.par
string par
Definition: compareOutputFiles.py:465
Gaudi::SysProcStat::vsize
long unsigned vsize
Definition: SysProcStat.h:16
Gaudi::SysProcStat::comm
char comm[128]
Definition: SysProcStat.h:19
Gaudi::SysProcStat::update
virtual int update()
Definition: SysProcStat.cpp:19
Gaudi::SysProcStat::cnswap
long unsigned cnswap
Definition: SysProcStat.h:16
Gaudi::SysProcStat::time
long time
Definition: SysProcStat.h:21
Gaudi::SysProcStat::cmajflt
long unsigned cmajflt
Definition: SysProcStat.h:16
Gaudi::SysProcStat::state
char state
Definition: SysProcStat.h:19
Gaudi::SysProcStat::signal
long unsigned signal
Definition: SysProcStat.h:16
Gaudi::SysProcStat::utime
long unsigned utime
Definition: SysProcStat.h:16
Gaudi::SysProcStat::tpgid
int tpgid
Definition: SysProcStat.h:15
Gaudi::SysProcStat::kstkesp
long unsigned kstkesp
Definition: SysProcStat.h:16
Gaudi::SysProcStat::startstack
long unsigned startstack
Definition: SysProcStat.h:16
Gaudi::SysProcStat::rlim
long unsigned rlim
Definition: SysProcStat.h:16
Gaudi::SysProcStat::priority
long int priority
Definition: SysProcStat.h:18
Gaudi::SysProcStat::session
int session
Definition: SysProcStat.h:15
Gaudi::SysProcStat::rss
long int rss
Definition: SysProcStat.h:18
Gaudi::SysProcStat::pid
int pid
Definition: SysProcStat.h:15
Gaudi::SysProcStat::exit_signal
int exit_signal
Definition: SysProcStat.h:15
Gaudi::SysProcStat::flags
long unsigned flags
Definition: SysProcStat.h:16
Gaudi
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1
Gaudi::SysProcStat::startime
long unsigned startime
Definition: SysProcStat.h:16
Gaudi::SysProcStat::num_threads
long int num_threads
Definition: SysProcStat.h:18
Gaudi::SysProcStat::endcode
long unsigned endcode
Definition: SysProcStat.h:16