#include "Define.h"
#include "Duration.h"
#include "MPSCQueue.h"
#include "Optional.h"
#include <functional>
#include <iosfwd>
#include <memory>
#include <string>
#include <unordered_map>
#include <utility>
#include <variant>
Go to the source code of this file.
|
#define | sMetric Metric::instance() |
|
#define | TC_METRIC_TAG(name, value) MetricTag(name, value) |
|
#define | TC_METRIC_DO_CONCAT(a, b) a ## b |
|
#define | TC_METRIC_CONCAT(a, b) TC_METRIC_DO_CONCAT(a, b) |
|
#define | TC_METRIC_UNIQUE_NAME(name) TC_METRIC_CONCAT(name, __LINE__) |
|
#define | TC_METRIC_EVENT(category, title, description) |
|
#define | TC_METRIC_VALUE(category, value, ...) |
|
#define | TC_METRIC_TIMER(category, ...) |
|
#define | TC_METRIC_DETAILED_EVENT(category, title, description) ((void)0) |
|
#define | TC_METRIC_DETAILED_TIMER(category, ...) ((void)0) |
|
#define | TC_METRIC_DETAILED_NO_THRESHOLD_TIMER(category, ...) ((void)0) |
|
|
using | MetricTag = std::pair< std::string, std::string > |
|
◆ sMetric
◆ TC_METRIC_CONCAT
◆ TC_METRIC_DETAILED_EVENT
#define TC_METRIC_DETAILED_EVENT |
( |
|
category, |
|
|
|
title, |
|
|
|
description |
|
) |
| ((void)0) |
◆ TC_METRIC_DETAILED_NO_THRESHOLD_TIMER
#define TC_METRIC_DETAILED_NO_THRESHOLD_TIMER |
( |
|
category, |
|
|
|
... |
|
) |
| ((void)0) |
◆ TC_METRIC_DETAILED_TIMER
#define TC_METRIC_DETAILED_TIMER |
( |
|
category, |
|
|
|
... |
|
) |
| ((void)0) |
◆ TC_METRIC_DO_CONCAT
#define TC_METRIC_DO_CONCAT |
( |
|
a, |
|
|
|
b |
|
) |
| a ## b |
◆ TC_METRIC_EVENT
#define TC_METRIC_EVENT |
( |
|
category, |
|
|
|
title, |
|
|
|
description |
|
) |
| |
Value: __pragma(warning(push)) \
__pragma(warning(disable:4127)) \
do { \
sMetric->LogEvent(category, title, description); \
} while (0) \
__pragma(warning(pop))
Definition at line 206 of file Metric.h.
◆ TC_METRIC_TAG
#define TC_METRIC_TAG |
( |
|
name, |
|
|
|
value |
|
) |
| MetricTag(name, value) |
◆ TC_METRIC_TIMER
#define TC_METRIC_TIMER |
( |
|
category, |
|
|
|
... |
|
) |
| |
Value:
{ \
sMetric->LogValue(category, std::chrono::steady_clock::now() - start, ##__VA_ARGS__); \
});
std::chrono::steady_clock::time_point TimePoint
time_point shorthand typedefs
Optional< MetricStopWatch< LoggerType > > MakeMetricStopWatch(LoggerType &&loggerFunc)
#define TC_METRIC_UNIQUE_NAME(name)
Definition at line 223 of file Metric.h.
◆ TC_METRIC_UNIQUE_NAME
◆ TC_METRIC_VALUE
#define TC_METRIC_VALUE |
( |
|
category, |
|
|
|
value, |
|
|
|
... |
|
) |
| |
Value: __pragma(warning(push)) \
__pragma(warning(disable:4127)) \
do { \
sMetric->LogValue(category, value, ##__VA_ARGS__); \
} while (0) \
__pragma(warning(pop))
Definition at line 214 of file Metric.h.
◆ MetricTag
using MetricTag = std::pair<std::string, std::string> |
◆ MetricDataType
Enumerator |
---|
METRIC_DATA_VALUE | |
METRIC_DATA_EVENT | |
Definition at line 42 of file Metric.h.
◆ MakeMetricStopWatch()
template<typename LoggerType >