Skip to content

Commit 0642e24

Browse files
committed
Metrics, continued.
1 parent 96a954f commit 0642e24

File tree

17 files changed

+2370
-430
lines changed

17 files changed

+2370
-430
lines changed

api/include/opentelemetry/semconv/http_metrics.h

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#pragma once
1212

1313
#include "opentelemetry/common/macros.h"
14+
#include "opentelemetry/metrics/meter.h"
1415
#include "opentelemetry/version.h"
1516

1617
OPENTELEMETRY_BEGIN_NAMESPACE
@@ -30,22 +31,41 @@ static constexpr const char *descrMetricHttpClientRequestDuration =
3031
"Duration of HTTP client requests.";
3132
static constexpr const char *unitMetricHttpClientRequestDuration = "s";
3233

33-
static nostd::unique_ptr<metrics::Histogram<uint64_t>> CreateSyncMetricHttpClientRequestDuration(
34-
metrics::Meter *meter)
34+
static inline nostd::unique_ptr<metrics::Histogram<uint64_t>>
35+
CreateSyncInt64MetricHttpClientRequestDuration(metrics::Meter *meter)
3536
{
3637
return meter->CreateUInt64Histogram(kMetricHttpClientRequestDuration,
3738
descrMetricHttpClientRequestDuration,
3839
unitMetricHttpClientRequestDuration);
3940
}
4041

41-
static nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncMetricHttpClientRequestDuration(
42-
metrics::Meter *meter)
42+
static inline nostd::unique_ptr<metrics::Histogram<double>>
43+
CreateSyncDoubleMetricHttpClientRequestDuration(metrics::Meter *meter)
44+
{
45+
return meter->CreateDoubleHistogram(kMetricHttpClientRequestDuration,
46+
descrMetricHttpClientRequestDuration,
47+
unitMetricHttpClientRequestDuration);
48+
}
49+
50+
#ifdef OPENTELEMETRY_LATER
51+
// Unsupported: Async histogram
52+
static inline nostd::shared_ptr<metrics::ObservableInstrument>
53+
CreateAsyncInt64MetricHttpClientRequestDuration(metrics::Meter *meter)
4354
{
4455
return meter->CreateInt64ObservableHistogram(kMetricHttpClientRequestDuration,
4556
descrMetricHttpClientRequestDuration,
4657
unitMetricHttpClientRequestDuration);
4758
}
4859

60+
static inline nostd::shared_ptr<metrics::ObservableInstrument>
61+
CreateAsyncDoubleMetricHttpClientRequestDuration(metrics::Meter *meter)
62+
{
63+
return meter->CreateDoubleObservableHistogram(kMetricHttpClientRequestDuration,
64+
descrMetricHttpClientRequestDuration,
65+
unitMetricHttpClientRequestDuration);
66+
}
67+
#endif /* OPENTELEMETRY_LATER */
68+
4969
/**
5070
* Duration of HTTP server requests.
5171
* <p>
@@ -57,22 +77,41 @@ static constexpr const char *descrMetricHttpServerRequestDuration =
5777
"Duration of HTTP server requests.";
5878
static constexpr const char *unitMetricHttpServerRequestDuration = "s";
5979

60-
static nostd::unique_ptr<metrics::Histogram<uint64_t>> CreateSyncMetricHttpServerRequestDuration(
61-
metrics::Meter *meter)
80+
static inline nostd::unique_ptr<metrics::Histogram<uint64_t>>
81+
CreateSyncInt64MetricHttpServerRequestDuration(metrics::Meter *meter)
6282
{
6383
return meter->CreateUInt64Histogram(kMetricHttpServerRequestDuration,
6484
descrMetricHttpServerRequestDuration,
6585
unitMetricHttpServerRequestDuration);
6686
}
6787

68-
static nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncMetricHttpServerRequestDuration(
69-
metrics::Meter *meter)
88+
static inline nostd::unique_ptr<metrics::Histogram<double>>
89+
CreateSyncDoubleMetricHttpServerRequestDuration(metrics::Meter *meter)
90+
{
91+
return meter->CreateDoubleHistogram(kMetricHttpServerRequestDuration,
92+
descrMetricHttpServerRequestDuration,
93+
unitMetricHttpServerRequestDuration);
94+
}
95+
96+
#ifdef OPENTELEMETRY_LATER
97+
// Unsupported: Async histogram
98+
static inline nostd::shared_ptr<metrics::ObservableInstrument>
99+
CreateAsyncInt64MetricHttpServerRequestDuration(metrics::Meter *meter)
70100
{
71101
return meter->CreateInt64ObservableHistogram(kMetricHttpServerRequestDuration,
72102
descrMetricHttpServerRequestDuration,
73103
unitMetricHttpServerRequestDuration);
74104
}
75105

106+
static inline nostd::shared_ptr<metrics::ObservableInstrument>
107+
CreateAsyncDoubleMetricHttpServerRequestDuration(metrics::Meter *meter)
108+
{
109+
return meter->CreateDoubleObservableHistogram(kMetricHttpServerRequestDuration,
110+
descrMetricHttpServerRequestDuration,
111+
unitMetricHttpServerRequestDuration);
112+
}
113+
#endif /* OPENTELEMETRY_LATER */
114+
76115
} // namespace http
77116
} // namespace semconv
78117
OPENTELEMETRY_END_NAMESPACE

api/include/opentelemetry/semconv/incubating/container_metrics.h

Lines changed: 67 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#pragma once
1212

1313
#include "opentelemetry/common/macros.h"
14+
#include "opentelemetry/metrics/meter.h"
1415
#include "opentelemetry/version.h"
1516

1617
OPENTELEMETRY_BEGIN_NAMESPACE
@@ -30,20 +31,34 @@ static constexpr const char *kMetricContainerCpuTime = "metric.container.cpu
3031
static constexpr const char *descrMetricContainerCpuTime = "Total CPU time consumed";
3132
static constexpr const char *unitMetricContainerCpuTime = "s";
3233

33-
static nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncMetricContainerCpuTime(
34+
static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricContainerCpuTime(
3435
metrics::Meter *meter)
3536
{
3637
return meter->CreateUInt64Counter(kMetricContainerCpuTime, descrMetricContainerCpuTime,
3738
unitMetricContainerCpuTime);
3839
}
3940

40-
static nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncMetricContainerCpuTime(
41+
static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricContainerCpuTime(
4142
metrics::Meter *meter)
43+
{
44+
return meter->CreateDoubleCounter(kMetricContainerCpuTime, descrMetricContainerCpuTime,
45+
unitMetricContainerCpuTime);
46+
}
47+
48+
static inline nostd::shared_ptr<metrics::ObservableInstrument>
49+
CreateAsyncInt64MetricContainerCpuTime(metrics::Meter *meter)
4250
{
4351
return meter->CreateInt64ObservableCounter(kMetricContainerCpuTime, descrMetricContainerCpuTime,
4452
unitMetricContainerCpuTime);
4553
}
4654

55+
static inline nostd::shared_ptr<metrics::ObservableInstrument>
56+
CreateAsyncDoubleMetricContainerCpuTime(metrics::Meter *meter)
57+
{
58+
return meter->CreateDoubleObservableCounter(kMetricContainerCpuTime, descrMetricContainerCpuTime,
59+
unitMetricContainerCpuTime);
60+
}
61+
4762
/**
4863
* Disk bytes for the container.
4964
* <p>
@@ -55,20 +70,34 @@ static constexpr const char *kMetricContainerDiskIo = "metric.container.disk
5570
static constexpr const char *descrMetricContainerDiskIo = "Disk bytes for the container.";
5671
static constexpr const char *unitMetricContainerDiskIo = "By";
5772

58-
static nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncMetricContainerDiskIo(
73+
static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricContainerDiskIo(
5974
metrics::Meter *meter)
6075
{
6176
return meter->CreateUInt64Counter(kMetricContainerDiskIo, descrMetricContainerDiskIo,
6277
unitMetricContainerDiskIo);
6378
}
6479

65-
static nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncMetricContainerDiskIo(
80+
static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricContainerDiskIo(
6681
metrics::Meter *meter)
82+
{
83+
return meter->CreateDoubleCounter(kMetricContainerDiskIo, descrMetricContainerDiskIo,
84+
unitMetricContainerDiskIo);
85+
}
86+
87+
static inline nostd::shared_ptr<metrics::ObservableInstrument>
88+
CreateAsyncInt64MetricContainerDiskIo(metrics::Meter *meter)
6789
{
6890
return meter->CreateInt64ObservableCounter(kMetricContainerDiskIo, descrMetricContainerDiskIo,
6991
unitMetricContainerDiskIo);
7092
}
7193

94+
static inline nostd::shared_ptr<metrics::ObservableInstrument>
95+
CreateAsyncDoubleMetricContainerDiskIo(metrics::Meter *meter)
96+
{
97+
return meter->CreateDoubleObservableCounter(kMetricContainerDiskIo, descrMetricContainerDiskIo,
98+
unitMetricContainerDiskIo);
99+
}
100+
72101
/**
73102
* Memory usage of the container.
74103
* <p>
@@ -80,20 +109,34 @@ static constexpr const char *kMetricContainerMemoryUsage = "metric.container
80109
static constexpr const char *descrMetricContainerMemoryUsage = "Memory usage of the container.";
81110
static constexpr const char *unitMetricContainerMemoryUsage = "By";
82111

83-
static nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncMetricContainerMemoryUsage(
84-
metrics::Meter *meter)
112+
static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
113+
CreateSyncInt64MetricContainerMemoryUsage(metrics::Meter *meter)
85114
{
86115
return meter->CreateUInt64Counter(kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage,
87116
unitMetricContainerMemoryUsage);
88117
}
89118

90-
static nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncMetricContainerMemoryUsage(
91-
metrics::Meter *meter)
119+
static inline nostd::unique_ptr<metrics::Counter<double>>
120+
CreateSyncDoubleMetricContainerMemoryUsage(metrics::Meter *meter)
121+
{
122+
return meter->CreateDoubleCounter(kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage,
123+
unitMetricContainerMemoryUsage);
124+
}
125+
126+
static inline nostd::shared_ptr<metrics::ObservableInstrument>
127+
CreateAsyncInt64MetricContainerMemoryUsage(metrics::Meter *meter)
92128
{
93129
return meter->CreateInt64ObservableCounter(
94130
kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage, unitMetricContainerMemoryUsage);
95131
}
96132

133+
static inline nostd::shared_ptr<metrics::ObservableInstrument>
134+
CreateAsyncDoubleMetricContainerMemoryUsage(metrics::Meter *meter)
135+
{
136+
return meter->CreateDoubleObservableCounter(
137+
kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage, unitMetricContainerMemoryUsage);
138+
}
139+
97140
/**
98141
* Network bytes for the container.
99142
* <p>
@@ -105,20 +148,34 @@ static constexpr const char *kMetricContainerNetworkIo = "metric.container.n
105148
static constexpr const char *descrMetricContainerNetworkIo = "Network bytes for the container.";
106149
static constexpr const char *unitMetricContainerNetworkIo = "By";
107150

108-
static nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncMetricContainerNetworkIo(
151+
static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricContainerNetworkIo(
109152
metrics::Meter *meter)
110153
{
111154
return meter->CreateUInt64Counter(kMetricContainerNetworkIo, descrMetricContainerNetworkIo,
112155
unitMetricContainerNetworkIo);
113156
}
114157

115-
static nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncMetricContainerNetworkIo(
158+
static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricContainerNetworkIo(
116159
metrics::Meter *meter)
160+
{
161+
return meter->CreateDoubleCounter(kMetricContainerNetworkIo, descrMetricContainerNetworkIo,
162+
unitMetricContainerNetworkIo);
163+
}
164+
165+
static inline nostd::shared_ptr<metrics::ObservableInstrument>
166+
CreateAsyncInt64MetricContainerNetworkIo(metrics::Meter *meter)
117167
{
118168
return meter->CreateInt64ObservableCounter(
119169
kMetricContainerNetworkIo, descrMetricContainerNetworkIo, unitMetricContainerNetworkIo);
120170
}
121171

172+
static inline nostd::shared_ptr<metrics::ObservableInstrument>
173+
CreateAsyncDoubleMetricContainerNetworkIo(metrics::Meter *meter)
174+
{
175+
return meter->CreateDoubleObservableCounter(
176+
kMetricContainerNetworkIo, descrMetricContainerNetworkIo, unitMetricContainerNetworkIo);
177+
}
178+
122179
} // namespace container
123180
} // namespace semconv
124181
OPENTELEMETRY_END_NAMESPACE

0 commit comments

Comments
 (0)