Added sync monitor statistics
[libcds.git] / tests / unit / print_sync_monitor_stat.h
1 //$$CDS-header$$
2
3 #if defined(CDSLIB_SYNC_INJECTING_MONITOR_H) && !defined(CDSUNIT_PRINT_INJECTING_MONITOR_STAT_H)
4 #define CDSUNIT_PRINT_INJECTING_MONITOR_STAT_H
5
6 namespace std {
7     static inline ostream& operator <<( ostream& o, cds::sync::injecting_monitor_traits::empty_stat const& /*s*/ )
8     {
9         return o;
10     }
11 }
12 #endif
13
14 #if defined(CDSLIB_SYNC_POOL_MONITOR_H) && !defined(CDSUNIT_PRINT_POOL_MONITOR_STAT_H)
15 #define CDSUNIT_PRINT_POOL_MONITOR_STAT_H
16
17 namespace std {
18     static inline ostream& operator <<( ostream& o, cds::sync::pool_monitor_traits::empty_stat const& /*s*/ )
19     {
20         return o;
21     }
22
23     static inline ostream& operator <<( ostream& o, cds::sync::pool_monitor_traits::stat<> const& s )
24     {
25         return o << "cds::sync::pool_monitor statistics:\n"
26             << "\t\t        m_nLockCount: " << s.m_nLockCount.get()        << "\n"
27             << "\t\t      m_nUnlockCount: " << s.m_nUnlockCount.get()      << "\n"
28             << "\t\t   m_nLockContention: " << s.m_nLockContention.get()   << "\n"
29             << "\t\t m_nUnlockContention: " << s.m_nUnlockContention.get() << "\n"
30             << "\t\t   m_nLockAllocation: " << s.m_nLockAllocation.get()   << "\n"
31             << "\t\t m_nLockDeallocation: " << s.m_nLockDeallocation.get() << "\n";
32     }
33 }
34 #endif