summaryrefslogtreecommitdiff
path: root/src/stats.h
blob: 608232ef46a3b21d9c64b17a78583111405e6414 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "incl.h"

#ifndef STATS_H
#define STATS_H

#include "tool/tool.h"

#include <stdio.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>

using namespace std;

class stats
{
private:
 // Specifies the max. amount of elements in vec_rusage_history;
 int i_rusage_vec_size;
 // History of the last i_rusage_vec_size rusage values. 
 vector< map<string,long> > vec_rusage_history;
 pthread_mutex_t mut_vec_rusage;

 int i_num_rooms; //<<
 pthread_mutex_t mut_num_rooms; //<<
 
 void set_rusage_vec_size( int i_rusage_vec_size );

public:
   stats( );
  ~stats( );

  //<<*
  int get_num_rooms();
  void increment_num_rooms();
  void decrement_num_rooms();
  //*>>
  void update_rusage_history();
  string get_rusage_history( string s_type, string s_seperator );
  long get_ru_maxrss();
  //<<*
#ifdef NCURSES
  void print_num_rooms();
#endif
  //*>>
};

#endif