Skip to content

Commit 035c8e6

Browse files
committed
Merge branch 'main' into 1700-unique_ptr-sync-instrument
2 parents 10ecb1a + 7fd76ee commit 035c8e6

File tree

57 files changed

+430
-437
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+430
-437
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ Increment the:
1515

1616
## [Unreleased]
1717

18+
* [Metrics] Switch to explicit 64 bit integers [#1686](https://github.com/open-telemetry/opentelemetry-cpp/pull/1686)
19+
which includes breaking change in the Metrics api and sdk.
1820
* [Metrics SDK] Add support for Pull Metric Exporter [#1701](https://github.com/open-telemetry/opentelemetry-cpp/pull/1701)
1921
which includes breaking change in the Metrics api.
2022
* [BUILD] Add CMake OTELCPP_MAINTAINER_MODE [#1650](https://github.com/open-telemetry/opentelemetry-cpp/pull/1650)

api/include/opentelemetry/metrics/meter.h

+6-6
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class Meter
3737
* @return a shared pointer to the created Counter.
3838
*/
3939

40-
virtual nostd::unique_ptr<Counter<long>> CreateLongCounter(
40+
virtual nostd::unique_ptr<Counter<uint64_t>> CreateUInt64Counter(
4141
nostd::string_view name,
4242
nostd::string_view description = "",
4343
nostd::string_view unit = "") noexcept = 0;
@@ -55,7 +55,7 @@ class Meter
5555
* @param description a brief description of what the Observable Counter is used for.
5656
* @param unit the unit of metric values following https://unitsofmeasure.org/ucum.html.
5757
*/
58-
virtual nostd::shared_ptr<ObservableInstrument> CreateLongObservableCounter(
58+
virtual nostd::shared_ptr<ObservableInstrument> CreateInt64ObservableCounter(
5959
nostd::string_view name,
6060
nostd::string_view description = "",
6161
nostd::string_view unit = "") noexcept = 0;
@@ -73,7 +73,7 @@ class Meter
7373
* @param unit the unit of metric values following https://unitsofmeasure.org/ucum.html.
7474
* @return a shared pointer to the created Histogram.
7575
*/
76-
virtual nostd::unique_ptr<Histogram<long>> CreateLongHistogram(
76+
virtual nostd::unique_ptr<Histogram<uint64_t>> CreateUInt64Histogram(
7777
nostd::string_view name,
7878
nostd::string_view description = "",
7979
nostd::string_view unit = "") noexcept = 0;
@@ -91,7 +91,7 @@ class Meter
9191
* @param description a brief description of what the Observable Gauge is used for.
9292
* @param unit the unit of metric values following https://unitsofmeasure.org/ucum.html.
9393
*/
94-
virtual nostd::shared_ptr<ObservableInstrument> CreateLongObservableGauge(
94+
virtual nostd::shared_ptr<ObservableInstrument> CreateInt64ObservableGauge(
9595
nostd::string_view name,
9696
nostd::string_view description = "",
9797
nostd::string_view unit = "") noexcept = 0;
@@ -110,7 +110,7 @@ class Meter
110110
* @param unit the unit of metric values following https://unitsofmeasure.org/ucum.html.
111111
* @return a shared pointer to the created UpDownCounter.
112112
*/
113-
virtual nostd::unique_ptr<UpDownCounter<long>> CreateLongUpDownCounter(
113+
virtual nostd::unique_ptr<UpDownCounter<int64_t>> CreateInt64UpDownCounter(
114114
nostd::string_view name,
115115
nostd::string_view description = "",
116116
nostd::string_view unit = "") noexcept = 0;
@@ -128,7 +128,7 @@ class Meter
128128
* @param description a brief description of what the Observable UpDownCounter is used for.
129129
* @param unit the unit of metric values following https://unitsofmeasure.org/ucum.html.
130130
*/
131-
virtual nostd::shared_ptr<ObservableInstrument> CreateLongObservableUpDownCounter(
131+
virtual nostd::shared_ptr<ObservableInstrument> CreateInt64ObservableUpDownCounter(
132132
nostd::string_view name,
133133
nostd::string_view description = "",
134134
nostd::string_view unit = "") noexcept = 0;

api/include/opentelemetry/metrics/noop.h

+14-12
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,12 @@ class NoopObservableInstrument : public ObservableInstrument
8787
class NoopMeter final : public Meter
8888
{
8989
public:
90-
nostd::unique_ptr<Counter<long>> CreateLongCounter(nostd::string_view name,
91-
nostd::string_view description = "",
92-
nostd::string_view unit = "") noexcept override
90+
nostd::unique_ptr<Counter<uint64_t>> CreateUInt64Counter(
91+
nostd::string_view name,
92+
nostd::string_view description = "",
93+
nostd::string_view unit = "") noexcept override
9394
{
94-
return nostd::unique_ptr<Counter<long>>{new NoopCounter<long>(name, description, unit)};
95+
return nostd::unique_ptr<Counter<uint64_t>>{new NoopCounter<uint64_t>(name, description, unit)};
9596
}
9697

9798
nostd::unique_ptr<Counter<double>> CreateDoubleCounter(
@@ -102,7 +103,7 @@ class NoopMeter final : public Meter
102103
return nostd::unique_ptr<Counter<double>>{new NoopCounter<double>(name, description, unit)};
103104
}
104105

105-
nostd::shared_ptr<ObservableInstrument> CreateLongObservableCounter(
106+
nostd::shared_ptr<ObservableInstrument> CreateInt64ObservableCounter(
106107
nostd::string_view name,
107108
nostd::string_view description = "",
108109
nostd::string_view unit = "") noexcept override
@@ -120,12 +121,13 @@ class NoopMeter final : public Meter
120121
new NoopObservableInstrument(name, description, unit));
121122
}
122123

123-
nostd::unique_ptr<Histogram<long>> CreateLongHistogram(
124+
nostd::unique_ptr<Histogram<uint64_t>> CreateUInt64Histogram(
124125
nostd::string_view name,
125126
nostd::string_view description = "",
126127
nostd::string_view unit = "") noexcept override
127128
{
128-
return nostd::unique_ptr<Histogram<long>>{new NoopHistogram<long>(name, description, unit)};
129+
return nostd::unique_ptr<Histogram<uint64_t>>{
130+
new NoopHistogram<uint64_t>(name, description, unit)};
129131
}
130132

131133
nostd::unique_ptr<Histogram<double>> CreateDoubleHistogram(
@@ -136,7 +138,7 @@ class NoopMeter final : public Meter
136138
return nostd::unique_ptr<Histogram<double>>{new NoopHistogram<double>(name, description, unit)};
137139
}
138140

139-
nostd::shared_ptr<ObservableInstrument> CreateLongObservableGauge(
141+
nostd::shared_ptr<ObservableInstrument> CreateInt64ObservableGauge(
140142
nostd::string_view name,
141143
nostd::string_view description = "",
142144
nostd::string_view unit = "") noexcept override
@@ -154,13 +156,13 @@ class NoopMeter final : public Meter
154156
new NoopObservableInstrument(name, description, unit));
155157
}
156158

157-
nostd::unique_ptr<UpDownCounter<long>> CreateLongUpDownCounter(
159+
nostd::unique_ptr<UpDownCounter<int64_t>> CreateInt64UpDownCounter(
158160
nostd::string_view name,
159161
nostd::string_view description = "",
160162
nostd::string_view unit = "") noexcept override
161163
{
162-
return nostd::unique_ptr<UpDownCounter<long>>{
163-
new NoopUpDownCounter<long>(name, description, unit)};
164+
return nostd::unique_ptr<UpDownCounter<int64_t>>{
165+
new NoopUpDownCounter<int64_t>(name, description, unit)};
164166
}
165167

166168
nostd::unique_ptr<UpDownCounter<double>> CreateDoubleUpDownCounter(
@@ -172,7 +174,7 @@ class NoopMeter final : public Meter
172174
new NoopUpDownCounter<double>(name, description, unit)};
173175
}
174176

175-
nostd::shared_ptr<ObservableInstrument> CreateLongObservableUpDownCounter(
177+
nostd::shared_ptr<ObservableInstrument> CreateInt64ObservableUpDownCounter(
176178
nostd::string_view name,
177179
nostd::string_view description = "",
178180
nostd::string_view unit = "") noexcept override

api/include/opentelemetry/metrics/observer_result.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class ObserverResultT
4646
}
4747
};
4848

49-
using ObserverResult = nostd::variant<nostd::shared_ptr<ObserverResultT<long>>,
49+
using ObserverResult = nostd::variant<nostd::shared_ptr<ObserverResultT<int64_t>>,
5050
nostd::shared_ptr<ObserverResultT<double>>>;
5151

5252
} // namespace metrics

api/test/metrics/noop_sync_instrument_test.cc

+21-21
Original file line numberDiff line numberDiff line change
@@ -9,42 +9,42 @@
99

1010
TEST(Counter, Add)
1111
{
12-
std::shared_ptr<opentelemetry::metrics::Counter<long>> counter{
13-
new opentelemetry::metrics::NoopCounter<long>("test", "none", "unitless")};
12+
std::shared_ptr<opentelemetry::metrics::Counter<uint64_t>> counter{
13+
new opentelemetry::metrics::NoopCounter<uint64_t>("test", "none", "unitless")};
1414

1515
std::map<std::string, std::string> labels = {{"k1", "v1"}};
16-
counter->Add(10l, labels);
17-
counter->Add(10l, labels, opentelemetry::context::Context{});
18-
counter->Add(2l);
19-
counter->Add(2l, opentelemetry::context::Context{});
20-
counter->Add(10l, {{"k1", "1"}, {"k2", 2}});
21-
counter->Add(10l, {{"k1", "1"}, {"k2", 2}}, opentelemetry::context::Context{});
16+
counter->Add(10, labels);
17+
counter->Add(10, labels, opentelemetry::context::Context{});
18+
counter->Add(2);
19+
counter->Add(2, opentelemetry::context::Context{});
20+
counter->Add(10, {{"k1", "1"}, {"k2", 2}});
21+
counter->Add(10, {{"k1", "1"}, {"k2", 2}}, opentelemetry::context::Context{});
2222
}
2323

2424
TEST(histogram, Record)
2525
{
26-
std::shared_ptr<opentelemetry::metrics::Histogram<long>> counter{
27-
new opentelemetry::metrics::NoopHistogram<long>("test", "none", "unitless")};
26+
std::shared_ptr<opentelemetry::metrics::Histogram<uint64_t>> histogram{
27+
new opentelemetry::metrics::NoopHistogram<uint64_t>("test", "none", "unitless")};
2828

2929
std::map<std::string, std::string> labels = {{"k1", "v1"}};
30-
counter->Record(10l, labels, opentelemetry::context::Context{});
31-
counter->Record(2l, opentelemetry::context::Context{});
30+
histogram->Record(10, labels, opentelemetry::context::Context{});
31+
histogram->Record(2, opentelemetry::context::Context{});
3232

33-
counter->Record(10l, {{"k1", "1"}, {"k2", 2}}, opentelemetry::context::Context{});
33+
histogram->Record(10, {{"k1", "1"}, {"k2", 2}}, opentelemetry::context::Context{});
3434
}
3535

3636
TEST(UpDownCountr, Record)
3737
{
38-
std::shared_ptr<opentelemetry::metrics::UpDownCounter<long>> counter{
39-
new opentelemetry::metrics::NoopUpDownCounter<long>("test", "none", "unitless")};
38+
std::shared_ptr<opentelemetry::metrics::UpDownCounter<int64_t>> counter{
39+
new opentelemetry::metrics::NoopUpDownCounter<int64_t>("test", "none", "unitless")};
4040

4141
std::map<std::string, std::string> labels = {{"k1", "v1"}};
42-
counter->Add(10l, labels);
43-
counter->Add(10l, labels, opentelemetry::context::Context{});
44-
counter->Add(2l);
45-
counter->Add(2l, opentelemetry::context::Context{});
46-
counter->Add(10l, {{"k1", "1"}, {"k2", 2}});
47-
counter->Add(10l, {{"k1", "1"}, {"k2", 2}}, opentelemetry::context::Context{});
42+
counter->Add(10, labels);
43+
counter->Add(10, labels, opentelemetry::context::Context{});
44+
counter->Add(2);
45+
counter->Add(2, opentelemetry::context::Context{});
46+
counter->Add(10, {{"k1", "1"}, {"k2", 2}});
47+
counter->Add(10, {{"k1", "1"}, {"k2", 2}}, opentelemetry::context::Context{});
4848
}
4949

5050
#endif

exporters/ostream/src/metric_exporter.cc

+10-10
Original file line numberDiff line numberDiff line change
@@ -164,9 +164,9 @@ void OStreamMetricExporter::printPointData(const opentelemetry::sdk::metrics::Po
164164
{
165165
sout_ << nostd::get<double>(sum_point_data.value_);
166166
}
167-
else if (nostd::holds_alternative<long>(sum_point_data.value_))
167+
else if (nostd::holds_alternative<int64_t>(sum_point_data.value_))
168168
{
169-
sout_ << nostd::get<long>(sum_point_data.value_);
169+
sout_ << nostd::get<int64_t>(sum_point_data.value_);
170170
}
171171
}
172172
else if (nostd::holds_alternative<sdk::metrics::HistogramPointData>(point_data))
@@ -179,24 +179,24 @@ void OStreamMetricExporter::printPointData(const opentelemetry::sdk::metrics::Po
179179
{
180180
sout_ << nostd::get<double>(histogram_point_data.sum_);
181181
}
182-
else if (nostd::holds_alternative<long>(histogram_point_data.sum_))
182+
else if (nostd::holds_alternative<int64_t>(histogram_point_data.sum_))
183183
{
184-
sout_ << nostd::get<long>(histogram_point_data.sum_);
184+
sout_ << nostd::get<int64_t>(histogram_point_data.sum_);
185185
}
186186

187187
if (histogram_point_data.record_min_max_)
188188
{
189-
if (nostd::holds_alternative<long>(histogram_point_data.min_))
189+
if (nostd::holds_alternative<int64_t>(histogram_point_data.min_))
190190
{
191-
sout_ << "\n min : " << nostd::get<long>(histogram_point_data.min_);
191+
sout_ << "\n min : " << nostd::get<int64_t>(histogram_point_data.min_);
192192
}
193193
else if (nostd::holds_alternative<double>(histogram_point_data.min_))
194194
{
195195
sout_ << "\n min : " << nostd::get<double>(histogram_point_data.min_);
196196
}
197-
if (nostd::holds_alternative<long>(histogram_point_data.max_))
197+
if (nostd::holds_alternative<int64_t>(histogram_point_data.max_))
198198
{
199-
sout_ << "\n max : " << nostd::get<long>(histogram_point_data.max_);
199+
sout_ << "\n max : " << nostd::get<int64_t>(histogram_point_data.max_);
200200
}
201201
if (nostd::holds_alternative<double>(histogram_point_data.max_))
202202
{
@@ -222,9 +222,9 @@ void OStreamMetricExporter::printPointData(const opentelemetry::sdk::metrics::Po
222222
{
223223
sout_ << nostd::get<double>(last_point_data.value_);
224224
}
225-
else if (nostd::holds_alternative<long>(last_point_data.value_))
225+
else if (nostd::holds_alternative<int64_t>(last_point_data.value_))
226226
{
227-
sout_ << nostd::get<long>(last_point_data.value_);
227+
sout_ << nostd::get<int64_t>(last_point_data.value_);
228228
}
229229
}
230230
}

exporters/ostream/test/ostream_metric_test.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ TEST(OStreamMetricsExporter, ExportHistogramPointData)
108108
histogram_point_data2.boundaries_ = std::list<double>{10.0, 20.0, 30.0};
109109
histogram_point_data2.count_ = 3;
110110
histogram_point_data2.counts_ = {200, 300, 400, 500};
111-
histogram_point_data2.sum_ = 900l;
111+
histogram_point_data2.sum_ = (int64_t)900;
112112
metric_sdk::ResourceMetrics data;
113113
auto resource = opentelemetry::sdk::resource::Resource::Create(
114114
opentelemetry::sdk::resource::ResourceAttributes{});
@@ -190,7 +190,7 @@ TEST(OStreamMetricsExporter, ExportLastValuePointData)
190190
last_value_point_data.is_lastvalue_valid_ = true;
191191
last_value_point_data.sample_ts_ = opentelemetry::common::SystemTimestamp{};
192192
metric_sdk::LastValuePointData last_value_point_data2{};
193-
last_value_point_data2.value_ = 20l;
193+
last_value_point_data2.value_ = (int64_t)20;
194194
last_value_point_data2.is_lastvalue_valid_ = true;
195195
last_value_point_data2.sample_ts_ = opentelemetry::common::SystemTimestamp{};
196196
metric_sdk::MetricData metric_data{

exporters/otlp/src/otlp_metric_utils.cc

+10-10
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ void OtlpMetricUtils::ConvertSumMetric(const metric_sdk::MetricData &metric_data
6262
proto_sum_point_data->set_time_unix_nano(ts);
6363
auto sum_data = nostd::get<sdk::metrics::SumPointData>(point_data_with_attributes.point_data);
6464

65-
if ((nostd::holds_alternative<long>(sum_data.value_)))
65+
if ((nostd::holds_alternative<int64_t>(sum_data.value_)))
6666
{
67-
proto_sum_point_data->set_as_int(nostd::get<long>(sum_data.value_));
67+
proto_sum_point_data->set_as_int(nostd::get<int64_t>(sum_data.value_));
6868
}
6969
else
7070
{
@@ -96,9 +96,9 @@ void OtlpMetricUtils::ConvertHistogramMetric(
9696
auto histogram_data =
9797
nostd::get<sdk::metrics::HistogramPointData>(point_data_with_attributes.point_data);
9898
// sum
99-
if ((nostd::holds_alternative<long>(histogram_data.sum_)))
99+
if ((nostd::holds_alternative<int64_t>(histogram_data.sum_)))
100100
{
101-
proto_histogram_point_data->set_sum(nostd::get<long>(histogram_data.sum_));
101+
proto_histogram_point_data->set_sum(nostd::get<int64_t>(histogram_data.sum_));
102102
}
103103
else
104104
{
@@ -108,17 +108,17 @@ void OtlpMetricUtils::ConvertHistogramMetric(
108108
proto_histogram_point_data->set_count(histogram_data.count_);
109109
if (histogram_data.record_min_max_)
110110
{
111-
if (nostd::holds_alternative<long>(histogram_data.min_))
111+
if (nostd::holds_alternative<int64_t>(histogram_data.min_))
112112
{
113-
proto_histogram_point_data->set_min(nostd::get<long>(histogram_data.min_));
113+
proto_histogram_point_data->set_min(nostd::get<int64_t>(histogram_data.min_));
114114
}
115115
else
116116
{
117117
proto_histogram_point_data->set_min(nostd::get<double>(histogram_data.min_));
118118
}
119-
if (nostd::holds_alternative<long>(histogram_data.max_))
119+
if (nostd::holds_alternative<int64_t>(histogram_data.max_))
120120
{
121-
proto_histogram_point_data->set_min(nostd::get<long>(histogram_data.max_));
121+
proto_histogram_point_data->set_min(nostd::get<int64_t>(histogram_data.max_));
122122
}
123123
else
124124
{
@@ -158,9 +158,9 @@ void OtlpMetricUtils::ConvertGaugeMetric(const opentelemetry::sdk::metrics::Metr
158158
auto gauge_data =
159159
nostd::get<sdk::metrics::LastValuePointData>(point_data_with_attributes.point_data);
160160

161-
if ((nostd::holds_alternative<long>(gauge_data.value_)))
161+
if ((nostd::holds_alternative<int64_t>(gauge_data.value_)))
162162
{
163-
proto_gauge_point_data->set_as_int(nostd::get<long>(gauge_data.value_));
163+
proto_gauge_point_data->set_as_int(nostd::get<int64_t>(gauge_data.value_));
164164
}
165165
else
166166
{

exporters/otlp/test/otlp_http_metric_exporter_test.cc

+4-4
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ class OtlpHttpMetricExporterTestPeer : public ::testing::Test
296296
last_value_point_data.is_lastvalue_valid_ = true;
297297
last_value_point_data.sample_ts_ = opentelemetry::common::SystemTimestamp{};
298298
opentelemetry::sdk::metrics::LastValuePointData last_value_point_data2{};
299-
last_value_point_data2.value_ = 20l;
299+
last_value_point_data2.value_ = (int64_t)20;
300300
last_value_point_data2.is_lastvalue_valid_ = true;
301301
last_value_point_data2.sample_ts_ = opentelemetry::common::SystemTimestamp{};
302302
opentelemetry::sdk::metrics::MetricData metric_data{
@@ -392,7 +392,7 @@ class OtlpHttpMetricExporterTestPeer : public ::testing::Test
392392
last_value_point_data.is_lastvalue_valid_ = true;
393393
last_value_point_data.sample_ts_ = opentelemetry::common::SystemTimestamp{};
394394
opentelemetry::sdk::metrics::LastValuePointData last_value_point_data2{};
395-
last_value_point_data2.value_ = 20l;
395+
last_value_point_data2.value_ = (int64_t)20;
396396
last_value_point_data2.is_lastvalue_valid_ = true;
397397
last_value_point_data2.sample_ts_ = opentelemetry::common::SystemTimestamp{};
398398
opentelemetry::sdk::metrics::MetricData metric_data{
@@ -492,7 +492,7 @@ class OtlpHttpMetricExporterTestPeer : public ::testing::Test
492492
histogram_point_data2.boundaries_ = {10.0, 20.0, 30.0};
493493
histogram_point_data2.count_ = 3;
494494
histogram_point_data2.counts_ = {200, 300, 400, 500};
495-
histogram_point_data2.sum_ = 900l;
495+
histogram_point_data2.sum_ = (int64_t)900;
496496

497497
opentelemetry::sdk::metrics::MetricData metric_data{
498498
opentelemetry::sdk::metrics::InstrumentDescriptor{
@@ -627,7 +627,7 @@ class OtlpHttpMetricExporterTestPeer : public ::testing::Test
627627
histogram_point_data2.boundaries_ = {10.0, 20.0, 30.0};
628628
histogram_point_data2.count_ = 3;
629629
histogram_point_data2.counts_ = {200, 300, 400, 500};
630-
histogram_point_data2.sum_ = 900l;
630+
histogram_point_data2.sum_ = (int64_t)900;
631631

632632
opentelemetry::sdk::metrics::MetricData metric_data{
633633
opentelemetry::sdk::metrics::InstrumentDescriptor{

0 commit comments

Comments
 (0)