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 
25 
26 /*
27  * Update system performance values from /proc/self/stat virtaul file.
28  */
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",
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