CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes | Private Attributes
ora::SessionMonitoringData Class Reference

#include <Monitoring.h>

Public Member Functions

size_t newTransaction ()
 
size_t numberOfTransactions () const
 
void report (std::ostream &out) const
 
 SessionMonitoringData (boost::posix_time::ptime start, const std::string &connectionString)
 
void stop ()
 
size_t stopTransaction (bool commit_status=true)
 
 ~SessionMonitoringData ()
 

Public Attributes

std::string m_connectionString
 
boost::posix_time::ptime m_start
 
boost::posix_time::ptime m_stop
 

Private Attributes

TransactionMonitoringDatam_currentTransaction
 
size_t m_ncur
 
std::map< std::string,
TransactionMonitoringData * > 
m_transactions
 

Detailed Description

Definition at line 20 of file Monitoring.h.

Constructor & Destructor Documentation

ora::SessionMonitoringData::SessionMonitoringData ( boost::posix_time::ptime  start,
const std::string &  connectionString 
)

Definition at line 18 of file Monitoring.cc.

18  :
19  m_connectionString( connectionString ),
20  m_start(start),
21  m_stop(boost::posix_time::neg_infin),
24  m_ncur(0){
25 }
std::string m_connectionString
Definition: Monitoring.h:29
boost::posix_time::ptime m_stop
Definition: Monitoring.h:31
TransactionMonitoringData * m_currentTransaction
Definition: Monitoring.h:33
std::map< std::string, TransactionMonitoringData * > m_transactions
Definition: Monitoring.h:34
boost::posix_time::ptime m_start
Definition: Monitoring.h:30
ora::SessionMonitoringData::~SessionMonitoringData ( )

Definition at line 27 of file Monitoring.cc.

27  {
28  for(std::map<std::string,TransactionMonitoringData*>::const_iterator iT = m_transactions.begin();
29  iT != m_transactions.end();iT++ ){
30  delete iT->second;
31  }
32 }
std::map< std::string, TransactionMonitoringData * > m_transactions
Definition: Monitoring.h:34

Member Function Documentation

size_t ora::SessionMonitoringData::newTransaction ( )

Definition at line 34 of file Monitoring.cc.

References ora::guidFromTime().

34  {
35  m_currentTransaction = new TransactionMonitoringData( boost::posix_time::microsec_clock::universal_time() );
36  m_transactions.insert(std::make_pair(guidFromTime(),m_currentTransaction));
37  m_ncur = m_transactions.size();
38  return m_ncur;
39 }
TransactionMonitoringData * m_currentTransaction
Definition: Monitoring.h:33
std::map< std::string, TransactionMonitoringData * > m_transactions
Definition: Monitoring.h:34
std::string guidFromTime()
Definition: Guid.cc:37
size_t ora::SessionMonitoringData::numberOfTransactions ( ) const

Definition at line 58 of file Monitoring.cc.

58  {
59  return m_transactions.size();
60 }
std::map< std::string, TransactionMonitoringData * > m_transactions
Definition: Monitoring.h:34
void ora::SessionMonitoringData::report ( std::ostream &  out) const

Definition at line 62 of file Monitoring.cc.

References data, i, ora::TransactionMonitoringData::m_start, ora::TransactionMonitoringData::m_status, and ora::TransactionMonitoringData::m_stop.

62  {
63  size_t i=1;
64  for(std::map<std::string,TransactionMonitoringData*>::const_iterator iT = m_transactions.begin();
65  iT != m_transactions.end();iT++ ){
66  TransactionMonitoringData& data = *iT->second;
67  boost::posix_time::time_duration duration;
68  if( !data.m_stop.is_neg_infinity() ){
69  duration = data.m_stop-data.m_start;
70  }
71  out <<" -> Transaction #"<<i<<" duration="<<boost::posix_time::to_simple_string(duration)<<" status="<<(data.m_status?std::string("COMMIT"):std::string("ROLLBACK"))<<std::endl;
72  i++;
73  }
74 }
int i
Definition: DBlmapReader.cc:9
tuple out
Definition: dbtoconf.py:99
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
std::map< std::string, TransactionMonitoringData * > m_transactions
Definition: Monitoring.h:34
void ora::SessionMonitoringData::stop ( )

Definition at line 52 of file Monitoring.cc.

52  {
53  m_stop = boost::posix_time::microsec_clock::universal_time();
55  m_ncur = 0;
56 }
boost::posix_time::ptime m_stop
Definition: Monitoring.h:31
TransactionMonitoringData * m_currentTransaction
Definition: Monitoring.h:33
size_t ora::SessionMonitoringData::stopTransaction ( bool  commit_status = true)

Definition at line 41 of file Monitoring.cc.

41  {
42  size_t ncur = 0;
44  m_currentTransaction->stop( commit_status );
46  ncur = m_ncur;
47  m_ncur = 0;
48  }
49  return ncur;
50 }
TransactionMonitoringData * m_currentTransaction
Definition: Monitoring.h:33
void stop(bool commit_status=true)
Definition: Monitoring.cc:13

Member Data Documentation

std::string ora::SessionMonitoringData::m_connectionString

Definition at line 29 of file Monitoring.h.

Referenced by ora::Monitoring::report().

TransactionMonitoringData* ora::SessionMonitoringData::m_currentTransaction
private

Definition at line 33 of file Monitoring.h.

size_t ora::SessionMonitoringData::m_ncur
private

Definition at line 35 of file Monitoring.h.

boost::posix_time::ptime ora::SessionMonitoringData::m_start

Definition at line 30 of file Monitoring.h.

Referenced by ora::Monitoring::report().

boost::posix_time::ptime ora::SessionMonitoringData::m_stop

Definition at line 31 of file Monitoring.h.

Referenced by ora::Monitoring::report().

std::map<std::string,TransactionMonitoringData*> ora::SessionMonitoringData::m_transactions
private

Definition at line 34 of file Monitoring.h.