The Gaudi Framework
master (37c0b60a)
SysProcStat.cpp
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
/*
12
* SysProcStat.cpp
13
*
14
* Created on: Jul 6, 2012
15
* Author: Ivan Valencik
16
*/
17
18
#include <
RootCnv/SysProcStat.h
>
19
20
#include <cstdio>
21
#include <sys/time.h>
22
using namespace
Gaudi
;
23
24
SysProcStat::SysProcStat
() {
update
(); }
25
26
/*
27
* Update system performance values from /proc/self/stat virtaul file.
28
*/
29
int
SysProcStat::update
() {
30
FILE* file = fopen(
"/proc/self/stat"
,
"r"
);
31
int
par
= fscanf( file,
32
"%d %127s %c %d %d"
33
"%d %d %d %lu %lu"
34
"%lu %lu %lu %lu %lu"
35
"%ld %ld %ld %ld %ld"
36
"%ld %lu %lu %ld %lu"
37
"%lu %lu %lu %lu %lu"
38
"%lu %lu %lu %lu %lu"
39
"%lu %lu %d %d"
,
40
&
pid
,
comm
, &
state
, &
ppid
, &
pgrp
, &
session
, &
tty_nr
, &
tpgid
, &
flags
, &
minflt
, &
cminflt
, &
majflt
,
41
&
cmajflt
, &
utime
, &
stime
, &
cutime
, &
cstime
, &
priority
, &
nice
, &
num_threads
, &
itrealvalue
, &
startime
,
42
&
vsize
, &
rss
, &
rlim
, &
startcode
, &
endcode
, &
startstack
, &
kstkesp
, &
kstkeip
, &
signal
, &
blocked
,
43
&
sigingore
, &
sigcatch
, &
wchan
, &
nswap
, &
cnswap
, &
exit_signal
, &
processor
);
44
fclose( file );
45
46
if
(
par
!= 39 )
return
-1;
47
48
struct
timeval tv;
49
gettimeofday( &tv,
nullptr
);
50
time
= tv.tv_sec * 1000 + tv.tv_usec / 1000;
51
52
return
pid
;
53
}
Gaudi::SysProcStat::cstime
long int cstime
Definition:
SysProcStat.h:28
Gaudi::SysProcStat::cmajflt
long unsigned cmajflt
Definition:
SysProcStat.h:26
Gaudi::SysProcStat::sigingore
long unsigned sigingore
Definition:
SysProcStat.h:27
Gaudi::SysProcStat::pid
int pid
Definition:
SysProcStat.h:25
Gaudi::SysProcStat::state
char state
Definition:
SysProcStat.h:29
Gaudi::SysProcStat::utime
long unsigned utime
Definition:
SysProcStat.h:26
Gaudi::SysProcStat::processor
int processor
Definition:
SysProcStat.h:25
Gaudi::SysProcStat::SysProcStat
SysProcStat()
Definition:
SysProcStat.cpp:24
Gaudi::SysProcStat::rlim
long unsigned rlim
Definition:
SysProcStat.h:26
Gaudi::SysProcStat::startcode
long unsigned startcode
Definition:
SysProcStat.h:26
Gaudi::SysProcStat::signal
long unsigned signal
Definition:
SysProcStat.h:27
Gaudi::SysProcStat::time
long time
Definition:
SysProcStat.h:31
Gaudi::SysProcStat::minflt
long unsigned minflt
Definition:
SysProcStat.h:26
Gaudi::SysProcStat::cnswap
long unsigned cnswap
Definition:
SysProcStat.h:27
Gaudi::SysProcStat::rss
long int rss
Definition:
SysProcStat.h:28
Gaudi::SysProcStat::tpgid
int tpgid
Definition:
SysProcStat.h:25
Gaudi::SysProcStat::kstkeip
long unsigned kstkeip
Definition:
SysProcStat.h:27
Gaudi::SysProcStat::stime
long unsigned stime
Definition:
SysProcStat.h:26
compareOutputFiles.par
par
Definition:
compareOutputFiles.py:477
Gaudi::SysProcStat::session
int session
Definition:
SysProcStat.h:25
SysProcStat.h
Gaudi::SysProcStat::cminflt
long unsigned cminflt
Definition:
SysProcStat.h:26
Gaudi::SysProcStat::exit_signal
int exit_signal
Definition:
SysProcStat.h:25
Gaudi::SysProcStat::vsize
long unsigned vsize
Definition:
SysProcStat.h:26
Gaudi::SysProcStat::kstkesp
long unsigned kstkesp
Definition:
SysProcStat.h:27
Gaudi::SysProcStat::cutime
long int cutime
Definition:
SysProcStat.h:28
Gaudi::SysProcStat::flags
long unsigned flags
Definition:
SysProcStat.h:26
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition:
__init__.py:1
Gaudi::SysProcStat::comm
char comm[128]
Definition:
SysProcStat.h:29
Gaudi::SysProcStat::blocked
long unsigned blocked
Definition:
SysProcStat.h:27
Gaudi::SysProcStat::num_threads
long int num_threads
Definition:
SysProcStat.h:28
Gaudi::SysProcStat::priority
long int priority
Definition:
SysProcStat.h:28
Gaudi::SysProcStat::sigcatch
long unsigned sigcatch
Definition:
SysProcStat.h:27
Gaudi::SysProcStat::majflt
long unsigned majflt
Definition:
SysProcStat.h:26
Gaudi::SysProcStat::nswap
long unsigned nswap
Definition:
SysProcStat.h:27
Gaudi::SysProcStat::wchan
long unsigned wchan
Definition:
SysProcStat.h:27
Gaudi::SysProcStat::pgrp
int pgrp
Definition:
SysProcStat.h:25
Gaudi::SysProcStat::tty_nr
int tty_nr
Definition:
SysProcStat.h:25
Gaudi::SysProcStat::startstack
long unsigned startstack
Definition:
SysProcStat.h:27
Gaudi::SysProcStat::endcode
long unsigned endcode
Definition:
SysProcStat.h:26
Gaudi::SysProcStat::itrealvalue
long int itrealvalue
Definition:
SysProcStat.h:28
Gaudi::SysProcStat::ppid
int ppid
Definition:
SysProcStat.h:25
Gaudi::SysProcStat::update
virtual int update()
Definition:
SysProcStat.cpp:29
Gaudi::SysProcStat::startime
long unsigned startime
Definition:
SysProcStat.h:26
Gaudi::SysProcStat::nice
long int nice
Definition:
SysProcStat.h:28
RootCnv
src
SysProcStat.cpp
Generated on Thu Dec 19 2024 15:35:08 for The Gaudi Framework by
1.8.18