8#ifndef INCLUDED_BALB_PERFORMANCEMONITOR
9#define INCLUDED_BALB_PERFORMANCEMONITOR
212#include <balscm_version.h>
234#include <bsl_iosfwd.h>
235#include <bsl_iterator.h>
237#include <bsl_memory.h>
238#include <bsl_string.h>
270#if defined(BSLS_PLATFORM_OS_LINUX) || defined(BSLS_PLATFORM_OS_CYGWIN)
271 typedef bsls::Platform::OsLinux OsType;
272#elif defined(BSLS_PLATFORM_OS_FREEBSD)
273 typedef bsls::Platform::OsFreeBsd OsType;
274#elif defined(BSLS_PLATFORM_OS_DARWIN)
275 typedef bsls::Platform::OsDarwin OsType;
276#elif defined(BSLS_PLATFORM_OS_UNIX)
277 typedef bsls::Platform::OsUnix OsType;
278#elif defined(BSLS_PLATFORM_OS_WINDOWS)
279 typedef bsls::Platform::OsWindows OsType;
287 template <
class PLATFORM>
293 typedef Collector<OsType> CollectorType;
348#ifndef BDE_OMIT_INTERNAL_DEPRECATED
383 friend class Collector<OsType>;
401 double d_elapsedTime;
491 void print(bsl::ostream& os,
const char *measureIdentifier)
const;
668#if defined(BSLS_PLATFORM_OS_LINUX) || defined(BSLS_PLATFORM_OS_CYGWIN)
680struct PerformanceMonitor_LinuxProcStatistics {
696 unsigned int d_flags;
708 LdType d_itrealvalue;
721 static int readProcStatString(
bsl::string *buffer,
int pid);
730 PerformanceMonitor_LinuxProcStatistics();
745 int parseProcStatString(
const bsl::string& procStatString,
int pid);
770, d_mapGuard_p(mapGuard)
780 return *d_it->second.first;
788 return d_it->second.first.get();
815 return d_it == rhs.d_it;
822 return d_it != rhs.d_it;
836 return d_lstData[measure];
845 return d_minData[measure];
854 return d_maxData[measure];
863 return d_totData[measure] / d_numSamples;
875 return d_description;
882 return d_elapsedTime;
888 return d_startTimeUtc;
925 return static_cast<int>(d_pidMap.
size());
Definition bdlmt_timereventscheduler.h:434
int Handle
Definition bdlmt_timereventscheduler.h:492
Definition bdlt_datetime.h:331
Definition bslstl_string.h:1281
Definition bslstl_map.h:619
BloombergLP::bslstl::TreeIterator< const value_type, Node, difference_type > const_iterator
Definition bslstl_map.h:724
iterator end() BSLS_KEYWORD_NOEXCEPT
Definition bslstl_map.h:2759
iterator find(const key_type &key)
Definition bslstl_map.h:1542
size_type size() const BSLS_KEYWORD_NOEXCEPT
Return the number of elements in this map.
Definition bslstl_map.h:3518
iterator begin() BSLS_KEYWORD_NOEXCEPT
Definition bslstl_map.h:2751
Definition bslstl_sharedptr.h:1830
Definition bslma_allocator.h:457
Definition bslmt_rwmutex.h:147
Definition bslmt_readlockguard.h:287
Definition bsls_atomic.h:743
Definition bsls_timeinterval.h:301
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1762
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition balb_controlmanager.h:133
Definition bslma_usesbslmaallocator.h:343
unsigned long long Uint64
Definition bsls_types.h:137
long long Int64
Definition bsls_types.h:132