8#ifndef INCLUDED_BALB_PERFORMANCEMONITOR
9#define INCLUDED_BALB_PERFORMANCEMONITOR
213#include <balscm_version.h>
215#ifndef BDE_OMIT_INTERNAL_DEPRECATED
234#include <bsl_iosfwd.h>
235#include <bsl_iterator.h>
237#include <bsl_memory.h>
238#include <bsl_string.h>
275#ifndef BDE_OMIT_INTERNAL_DEPRECATED
317#if defined(BSLS_PLATFORM_OS_LINUX) || defined(BSLS_PLATFORM_OS_CYGWIN)
318 typedef bsls::Platform::OsLinux OsType;
319#elif defined(BSLS_PLATFORM_OS_FREEBSD)
320 typedef bsls::Platform::OsFreeBsd OsType;
321#elif defined(BSLS_PLATFORM_OS_DARWIN)
322 typedef bsls::Platform::OsDarwin OsType;
323#elif defined(BSLS_PLATFORM_OS_UNIX)
324 typedef bsls::Platform::OsUnix OsType;
325#elif defined(BSLS_PLATFORM_OS_WINDOWS)
326 typedef bsls::Platform::OsWindows OsType;
334 template <
class PLATFORM>
340 typedef Collector<OsType> CollectorType;
409 friend class Collector<OsType>;
427 double d_elapsedTime;
430 int d_numSamples[e_NUM_MEASURE_TYPES];
523 void print(bsl::ostream& os,
const char *measureIdentifier)
const;
704#if defined(BSLS_PLATFORM_OS_LINUX) || defined(BSLS_PLATFORM_OS_CYGWIN)
719struct PerformanceMonitor_LinuxProcStatistics {
735 unsigned int d_flags;
747 LdType d_itrealvalue;
760 static int readProcStatString(
bsl::string *buffer,
int pid);
769 PerformanceMonitor_LinuxProcStatistics();
784 int parseProcStatString(
const bsl::string& procStatString,
int pid);
809, d_mapGuard_p(mapGuard)
819 return *d_it->second.first;
827 return d_it->second.first.get();
854 return d_it == rhs.d_it;
861 return d_it != rhs.d_it;
875 return d_lstData[measure];
884 return d_minData[measure];
893 return d_maxData[measure];
905 return d_description;
912 return d_elapsedTime;
918 return d_startTimeUtc;
959 return static_cast<int>(d_pidMap.
size());
Definition bdlmt_timereventscheduler.h:445
int Handle
Definition bdlmt_timereventscheduler.h:506
Definition bdlt_datetime.h:330
Definition bslstl_string.h:1252
Definition bslstl_map.h:653
BloombergLP::bslstl::TreeIterator< const value_type, Node, difference_type > const_iterator
Definition bslstl_map.h:758
iterator end() BSLS_KEYWORD_NOEXCEPT
Definition bslstl_map.h:3308
iterator find(const key_type &key)
Definition bslstl_map.h:1885
size_type size() const BSLS_KEYWORD_NOEXCEPT
Return the number of elements in this map.
Definition bslstl_map.h:4039
iterator begin() BSLS_KEYWORD_NOEXCEPT
Definition bslstl_map.h:3300
Definition bslstl_sharedptr.h:1838
Definition bslma_allocator.h:545
Definition bslmt_rwmutex.h:148
Definition bslmt_readlockguard.h:287
Definition bsls_timeinterval.h:307
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1917
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition balb_controlmanager.h:144
static int getProcessId()
Definition bslma_usesbslmaallocator.h:344
unsigned long long Uint64
Definition bsls_types.h:139
long long Int64
Definition bsls_types.h:134