webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Macros
histogram_macros.h File Reference
#include <platform/Platform.h>

Go to the source code of this file.

Macros

#define ANGLE_HISTOGRAM_TIMES(name, sample)
 
#define ANGLE_HISTOGRAM_MEDIUM_TIMES(name, sample)
 
#define ANGLE_HISTOGRAM_LONG_TIMES(name, sample)
 
#define ANGLE_HISTOGRAM_LONG_TIMES_100(name, sample)
 
#define ANGLE_HISTOGRAM_CUSTOM_TIMES(name, sample, min, max, bucket_count)   ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, min, max, bucket_count)
 
#define ANGLE_HISTOGRAM_COUNTS(name, sample)
 
#define ANGLE_HISTOGRAM_COUNTS_100(name, sample)   ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, 1, 100, 50)
 
#define ANGLE_HISTOGRAM_COUNTS_10000(name, sample)   ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, 1, 10000, 50)
 
#define ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, min, max, bucket_count)
 
#define ANGLE_HISTOGRAM_PERCENTAGE(name, under_one_hundred)   ANGLE_HISTOGRAM_ENUMERATION(name, under_one_hundred, 101)
 
#define ANGLE_HISTOGRAM_BOOLEAN(name, sample)   ANGLEPlatformCurrent()->histogramBoolean(name, sample)
 
#define ANGLE_HISTOGRAM_ENUMERATION(name, sample, boundary_value)   ANGLEPlatformCurrent()->histogramEnumeration(name, sample, boundary_value)
 
#define ANGLE_HISTOGRAM_MEMORY_KB(name, sample)
 
#define ANGLE_HISTOGRAM_MEMORY_MB(name, sample)
 
#define ANGLE_HISTOGRAM_SPARSE_SLOWLY(name, sample)   ANGLEPlatformCurrent()->histogramSparse(name, sample)
 
#define SCOPED_ANGLE_HISTOGRAM_TIMER(name)   SCOPED_ANGLE_HISTOGRAM_TIMER_EXPANDER(name, false, __COUNTER__)
 
#define SCOPED_ANGLE_HISTOGRAM_LONG_TIMER(name)   SCOPED_ANGLE_HISTOGRAM_TIMER_EXPANDER(name, true, __COUNTER__)
 
#define SCOPED_ANGLE_HISTOGRAM_TIMER_EXPANDER(name, is_long, key)   SCOPED_ANGLE_HISTOGRAM_TIMER_UNIQUE(name, is_long, key)
 
#define SCOPED_ANGLE_HISTOGRAM_TIMER_UNIQUE(name, is_long, key)
 

Macro Definition Documentation

◆ ANGLE_HISTOGRAM_BOOLEAN

#define ANGLE_HISTOGRAM_BOOLEAN (   name,
  sample 
)    ANGLEPlatformCurrent()->histogramBoolean(name, sample)

◆ ANGLE_HISTOGRAM_COUNTS

#define ANGLE_HISTOGRAM_COUNTS (   name,
  sample 
)
Value:
name, sample, 1, 1000000, 50)
EGLImageKHR EGLint * name
Definition: eglext.h:851
#define ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, min, max, bucket_count)
Definition: histogram_macros.h:44

◆ ANGLE_HISTOGRAM_COUNTS_100

#define ANGLE_HISTOGRAM_COUNTS_100 (   name,
  sample 
)    ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, 1, 100, 50)

◆ ANGLE_HISTOGRAM_COUNTS_10000

#define ANGLE_HISTOGRAM_COUNTS_10000 (   name,
  sample 
)    ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, 1, 10000, 50)

◆ ANGLE_HISTOGRAM_CUSTOM_COUNTS

#define ANGLE_HISTOGRAM_CUSTOM_COUNTS (   name,
  sample,
  min,
  max,
  bucket_count 
)
Value:
name, sample, min, max, bucket_count)
EGLImageKHR EGLint * name
Definition: eglext.h:851
virtual void histogramCustomCounts(const char *name, int sample, int min, int max, int bucketCount)
Definition: Platform.h:140
double max
Definition: DeviceProximityEvent.idl:32
#define min(a, b)
Definition: user_environment.h:66
ANGLE_PLATFORM_EXPORT angle::Platform *ANGLE_APIENTRY ANGLEPlatformCurrent()
Definition: Platform.cpp:19

◆ ANGLE_HISTOGRAM_CUSTOM_TIMES

#define ANGLE_HISTOGRAM_CUSTOM_TIMES (   name,
  sample,
  min,
  max,
  bucket_count 
)    ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, min, max, bucket_count)

◆ ANGLE_HISTOGRAM_ENUMERATION

#define ANGLE_HISTOGRAM_ENUMERATION (   name,
  sample,
  boundary_value 
)    ANGLEPlatformCurrent()->histogramEnumeration(name, sample, boundary_value)

◆ ANGLE_HISTOGRAM_LONG_TIMES

#define ANGLE_HISTOGRAM_LONG_TIMES (   name,
  sample 
)
Value:
name, sample, 1, 3600000, 50)
#define ANGLE_HISTOGRAM_CUSTOM_TIMES(name, sample, min, max, bucket_count)
Definition: histogram_macros.h:32
EGLImageKHR EGLint * name
Definition: eglext.h:851

◆ ANGLE_HISTOGRAM_LONG_TIMES_100

#define ANGLE_HISTOGRAM_LONG_TIMES_100 (   name,
  sample 
)
Value:
name, sample, 1, 3600000, 100)
#define ANGLE_HISTOGRAM_CUSTOM_TIMES(name, sample, min, max, bucket_count)
Definition: histogram_macros.h:32
EGLImageKHR EGLint * name
Definition: eglext.h:851

◆ ANGLE_HISTOGRAM_MEDIUM_TIMES

#define ANGLE_HISTOGRAM_MEDIUM_TIMES (   name,
  sample 
)
Value:
name, sample, 10, 180000, 50)
#define ANGLE_HISTOGRAM_CUSTOM_TIMES(name, sample, min, max, bucket_count)
Definition: histogram_macros.h:32
EGLImageKHR EGLint * name
Definition: eglext.h:851

◆ ANGLE_HISTOGRAM_MEMORY_KB

#define ANGLE_HISTOGRAM_MEMORY_KB (   name,
  sample 
)
Value:
name, sample, 1000, 500000, 50)
EGLImageKHR EGLint * name
Definition: eglext.h:851
#define ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, min, max, bucket_count)
Definition: histogram_macros.h:44

◆ ANGLE_HISTOGRAM_MEMORY_MB

#define ANGLE_HISTOGRAM_MEMORY_MB (   name,
  sample 
)
Value:
name, sample, 1, 1000, 50)
EGLImageKHR EGLint * name
Definition: eglext.h:851
#define ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, min, max, bucket_count)
Definition: histogram_macros.h:44

◆ ANGLE_HISTOGRAM_PERCENTAGE

#define ANGLE_HISTOGRAM_PERCENTAGE (   name,
  under_one_hundred 
)    ANGLE_HISTOGRAM_ENUMERATION(name, under_one_hundred, 101)

◆ ANGLE_HISTOGRAM_SPARSE_SLOWLY

#define ANGLE_HISTOGRAM_SPARSE_SLOWLY (   name,
  sample 
)    ANGLEPlatformCurrent()->histogramSparse(name, sample)

◆ ANGLE_HISTOGRAM_TIMES

#define ANGLE_HISTOGRAM_TIMES (   name,
  sample 
)
Value:
name, sample, 1, 10000, 50)
#define ANGLE_HISTOGRAM_CUSTOM_TIMES(name, sample, min, max, bucket_count)
Definition: histogram_macros.h:32
EGLImageKHR EGLint * name
Definition: eglext.h:851

◆ SCOPED_ANGLE_HISTOGRAM_LONG_TIMER

#define SCOPED_ANGLE_HISTOGRAM_LONG_TIMER (   name)    SCOPED_ANGLE_HISTOGRAM_TIMER_EXPANDER(name, true, __COUNTER__)

◆ SCOPED_ANGLE_HISTOGRAM_TIMER

#define SCOPED_ANGLE_HISTOGRAM_TIMER (   name)    SCOPED_ANGLE_HISTOGRAM_TIMER_EXPANDER(name, false, __COUNTER__)

◆ SCOPED_ANGLE_HISTOGRAM_TIMER_EXPANDER

#define SCOPED_ANGLE_HISTOGRAM_TIMER_EXPANDER (   name,
  is_long,
  key 
)    SCOPED_ANGLE_HISTOGRAM_TIMER_UNIQUE(name, is_long, key)

◆ SCOPED_ANGLE_HISTOGRAM_TIMER_UNIQUE

#define SCOPED_ANGLE_HISTOGRAM_TIMER_UNIQUE (   name,
  is_long,
  key 
)
Value:
class ScopedHistogramTimer##key \
{ \
public: \
ScopedHistogramTimer##key() : constructed_(ANGLEPlatformCurrent()->currentTime()) {} \
~ScopedHistogramTimer##key() \
{ \
if (constructed_ == 0) \
return; \
double elapsed = ANGLEPlatformCurrent()->currentTime() - constructed_; \
int elapsedMS = static_cast<int>(elapsed * 1000.0); \
if (is_long) \
{ \
ANGLE_HISTOGRAM_LONG_TIMES_100(name, elapsedMS); \
} \
else \
{ \
ANGLE_HISTOGRAM_TIMES(name, elapsedMS); \
} \
} \
\
private: \
double constructed_; \
} scoped_histogram_timer_##key
WTF_EXPORT_PRIVATE double currentTime()
Definition: CurrentTime.cpp:237
EGLImageKHR EGLint * name
Definition: eglext.h:851
virtual double currentTime()
Definition: Platform.h:44
CFArrayRef CFTypeRef key
Definition: AVFoundationCFSoftLinking.h:129
ANGLE_PLATFORM_EXPORT angle::Platform *ANGLE_APIENTRY ANGLEPlatformCurrent()
Definition: Platform.cpp:19