Storage Engine API
dur_stats.h
Go to the documentation of this file.
1 // @file dur_stats.h
2 
31 #include "mongo/db/jsobj.h"
32 
33 namespace mongo {
34 namespace dur {
35 
41 struct Stats {
42  struct S {
43  std::string _CSVHeader() const;
44  std::string _asCSV() const;
45 
46  void _asObj(BSONObjBuilder* builder) const;
47 
48  void reset();
49 
50  uint64_t getCurrentDurationMillis() const {
51  return ((curTimeMicros64() - _startTimeMicros) / 1000);
52  }
53 
54 
55  // Not reported. Internal use only.
56  uint64_t _startTimeMicros;
57 
58  // Reported statistics
59  unsigned _durationMillis;
60 
61  unsigned _commits;
63 
64  uint64_t _journaledBytes;
67 
72  uint64_t _commitsMicros;
74  };
75 
76 
77  Stats();
78  void reset();
79 
80  BSONObj asObj() const;
81 
82  const S* curr() const {
83  return &_stats[_currIdx];
84  }
85  S* curr() {
86  return &_stats[_currIdx];
87  }
88 
89 private:
90  S _stats[5];
91  unsigned _currIdx;
92 };
93 
94 extern Stats stats;
95 }
96 }
void _asObj(BSONObjBuilder *builder) const
Definition: dur.cpp:484
std::string _asCSV() const
Definition: dur.cpp:471
Definition: dur_stats.h:42
unsigned _commits
Definition: dur_stats.h:61
uint64_t _writeToDataFilesBytes
Definition: dur_stats.h:66
Stats()
Definition: dur.cpp:439
uint64_t _uncompressedBytes
Definition: dur_stats.h:65
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
BSONObj asObj() const
Definition: dur.cpp:452
S _stats[5]
Definition: dur_stats.h:90
uint64_t _writeToJournalMicros
Definition: dur_stats.h:69
uint64_t _prepLogBufferMicros
Definition: dur_stats.h:68
void reset()
Definition: dur.cpp:462
uint64_t _commitsInWriteLockMicros
Definition: dur_stats.h:73
Stats stats
Definition: dur.cpp:426
const S * curr() const
Definition: dur_stats.h:82
unsigned _currIdx
Definition: dur_stats.h:91
unsigned _durationMillis
Definition: dur_stats.h:59
uint64_t _writeToDataFilesMicros
Definition: dur_stats.h:70
S * curr()
Definition: dur_stats.h:85
journaling stats.
Definition: dur_stats.h:41
unsigned _commitsInWriteLock
Definition: dur_stats.h:62
std::string _CSVHeader() const
Definition: dur.cpp:467
uint64_t _commitsMicros
Definition: dur_stats.h:72
uint64_t _startTimeMicros
Definition: dur_stats.h:56
uint64_t getCurrentDurationMillis() const
Definition: dur_stats.h:50
uint64_t _journaledBytes
Definition: dur_stats.h:64
uint64_t _remapPrivateViewMicros
Definition: dur_stats.h:71