Skip to content

Commit 7698a59

Browse files
authored
[CI] Upgrade Prometheus CI to opentelemetry-cpp 1.15.0 (#434)
1 parent 1489835 commit 7698a59

File tree

4 files changed

+52
-37
lines changed

4 files changed

+52
-37
lines changed

.github/workflows/prometheus.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
uses: actions/checkout@v3
6666
with:
6767
repository: "open-telemetry/opentelemetry-cpp"
68-
ref: "v1.11.0"
68+
ref: "v1.15.0"
6969
path: "otel_cpp"
7070
submodules: "recursive"
7171
- name: run tests
@@ -103,7 +103,7 @@ jobs:
103103
uses: actions/checkout@v3
104104
with:
105105
repository: "open-telemetry/opentelemetry-cpp"
106-
ref: "v1.11.0"
106+
ref: "v1.15.0"
107107
path: "otel_cpp"
108108
submodules: "recursive"
109109
- name: setup

exporters/prometheus/repository.bzl

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,21 @@ def io_opentelemetry_cpp_contrib_deps():
1919
maybe(
2020
http_archive,
2121
name = "io_opentelemetry_cpp",
22-
sha256 = "f30cd88bf898a5726d245eba882b8e81012021eb00df34109f4dfb203f005cea",
23-
strip_prefix = "opentelemetry-cpp-1.11.0",
22+
sha256 = "69b0fef380658e15be9d817bfcb32e3f5de96da652bcdce77b4e750ed8beddee",
23+
strip_prefix = "opentelemetry-cpp-1.15.0",
2424
urls = [
25-
"https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.11.0.tar.gz",
25+
"https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.15.0.tar.gz",
2626
],
2727
)
2828

2929
# C++ Prometheus Client library.
3030
maybe(
3131
http_archive,
3232
name = "com_github_jupp0r_prometheus_cpp",
33-
sha256 = "b4eff62bcdba10efd6210b9fa8a5b2505ad8ea6c211968be79aeb2c4c2f97338",
34-
# strip_prefix = "prometheus-cpp-1.1.0",
35-
# 1.1.0 with bazel 6 support
36-
strip_prefix = "prometheus-cpp-81e208c250748657f1d5dab247e82c4429a931af",
33+
sha256 = "48dbad454d314b836cc667ec4def93ec4a6e4255fc8387c20cacb3b8b6faee30",
34+
strip_prefix = "prometheus-cpp-1.2.4",
3735
urls = [
38-
# "https://github.com/jupp0r/prometheus-cpp/archive/refs/tags/v1.1.0.tar.gz",
39-
"https://github.com/jupp0r/prometheus-cpp/archive/81e208c250748657f1d5dab247e82c4429a931af.tar.gz",
36+
"https://github.com/jupp0r/prometheus-cpp/archive/refs/tags/v1.2.4.tar.gz",
4037
],
4138
)
4239

exporters/prometheus/test/prometheus_test_helper.h

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,16 @@ inline opentelemetry::sdk::resource::Resource &GetEmptyResource()
2525
/**
2626
* Helper function to create ResourceMetrics
2727
*/
28-
inline metric_sdk::ResourceMetrics CreateSumPointData()
28+
inline metric_sdk::ResourceMetrics CreateSumPointData(
29+
opentelemetry::sdk::instrumentationscope::InstrumentationScope *scope)
2930
{
3031
metric_sdk::SumPointData sum_point_data{};
3132
sum_point_data.value_ = 10.0;
3233
metric_sdk::SumPointData sum_point_data2{};
3334
sum_point_data2.value_ = 20.0;
3435
metric_sdk::ResourceMetrics data;
3536
data.resource_ = &GetEmptyResource();
36-
auto instrumentation_scope =
37-
opentelemetry::sdk::instrumentationscope::InstrumentationScope::Create("library_name",
38-
"1.9.1");
37+
3938
metric_sdk::MetricData metric_data{
4039
metric_sdk::InstrumentDescriptor{"library_name", "description", "unit",
4140
metric_sdk::InstrumentType::kCounter,
@@ -46,11 +45,12 @@ inline metric_sdk::ResourceMetrics CreateSumPointData()
4645
{metric_sdk::PointAttributes{{"a1", "b1"}}, sum_point_data},
4746
{metric_sdk::PointAttributes{{"a2", "b2"}}, sum_point_data2}}};
4847
data.scope_metric_data_ = std::vector<metric_sdk::ScopeMetrics>{
49-
{instrumentation_scope.get(), std::vector<metric_sdk::MetricData>{metric_data}}};
48+
{scope, std::vector<metric_sdk::MetricData>{metric_data}}};
5049
return data;
5150
}
5251

53-
inline metric_sdk::ResourceMetrics CreateHistogramPointData()
52+
inline metric_sdk::ResourceMetrics CreateHistogramPointData(
53+
opentelemetry::sdk::instrumentationscope::InstrumentationScope *scope)
5454
{
5555
metric_sdk::HistogramPointData histogram_point_data{};
5656
histogram_point_data.boundaries_ = std::vector<double>{10.1, 20.2, 30.2};
@@ -65,9 +65,7 @@ inline metric_sdk::ResourceMetrics CreateHistogramPointData()
6565

6666
metric_sdk::ResourceMetrics data;
6767
data.resource_ = &GetEmptyResource();
68-
auto instrumentation_scope =
69-
opentelemetry::sdk::instrumentationscope::InstrumentationScope::Create("library_name",
70-
"1.9.1");
68+
7169
metric_sdk::MetricData metric_data{
7270
metric_sdk::InstrumentDescriptor{"library_name", "description", "unit",
7371
metric_sdk::InstrumentType::kHistogram,
@@ -78,17 +76,16 @@ inline metric_sdk::ResourceMetrics CreateHistogramPointData()
7876
{metric_sdk::PointAttributes{{"a1", "b1"}}, histogram_point_data},
7977
{metric_sdk::PointAttributes{{"a2", "b2"}}, histogram_point_data2}}};
8078
data.scope_metric_data_ = std::vector<metric_sdk::ScopeMetrics>{
81-
{instrumentation_scope.get(), std::vector<metric_sdk::MetricData>{metric_data}}};
79+
{scope, std::vector<metric_sdk::MetricData>{metric_data}}};
8280
return data;
8381
}
8482

85-
inline metric_sdk::ResourceMetrics CreateLastValuePointData()
83+
inline metric_sdk::ResourceMetrics CreateLastValuePointData(
84+
opentelemetry::sdk::instrumentationscope::InstrumentationScope *scope)
8685
{
8786
metric_sdk::ResourceMetrics data;
8887
data.resource_ = &GetEmptyResource();
89-
auto instrumentation_scope =
90-
opentelemetry::sdk::instrumentationscope::InstrumentationScope::Create("library_name",
91-
"1.2.0");
88+
9289
metric_sdk::LastValuePointData last_value_point_data{};
9390
last_value_point_data.value_ = 10.0;
9491
last_value_point_data.is_lastvalue_valid_ = true;
@@ -107,17 +104,16 @@ inline metric_sdk::ResourceMetrics CreateLastValuePointData()
107104
{metric_sdk::PointAttributes{{"a1", "b1"}}, last_value_point_data},
108105
{metric_sdk::PointAttributes{{"a2", "b2"}}, last_value_point_data2}}};
109106
data.scope_metric_data_ = std::vector<metric_sdk::ScopeMetrics>{
110-
{instrumentation_scope.get(), std::vector<metric_sdk::MetricData>{metric_data}}};
107+
{scope, std::vector<metric_sdk::MetricData>{metric_data}}};
111108
return data;
112109
}
113110

114-
inline metric_sdk::ResourceMetrics CreateDropPointData()
111+
inline metric_sdk::ResourceMetrics CreateDropPointData(
112+
opentelemetry::sdk::instrumentationscope::InstrumentationScope *scope)
115113
{
116114
metric_sdk::ResourceMetrics data;
117115
data.resource_ = &GetEmptyResource();
118-
auto instrumentation_scope =
119-
opentelemetry::sdk::instrumentationscope::InstrumentationScope::Create("library_name",
120-
"1.2.0");
116+
121117
metric_sdk::DropPointData drop_point_data{};
122118
metric_sdk::DropPointData drop_point_data2{};
123119
metric_sdk::MetricData metric_data{
@@ -130,7 +126,7 @@ inline metric_sdk::ResourceMetrics CreateDropPointData()
130126
{metric_sdk::PointAttributes{{"a1", "b1"}}, drop_point_data},
131127
{metric_sdk::PointAttributes{{"a2", "b2"}}, drop_point_data2}}};
132128
data.scope_metric_data_ = std::vector<metric_sdk::ScopeMetrics>{
133-
{instrumentation_scope.get(), std::vector<metric_sdk::MetricData>{metric_data}}};
129+
{scope, std::vector<metric_sdk::MetricData>{metric_data}}};
134130
return data;
135131
}
136132
} // namespace

exporters/prometheus/test/push_exporter_test.cc

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,13 @@ TEST(PrometheusPushExporter, ExportSuccessfully)
9191
PrometheusPushExporterTest p;
9292
PrometheusPushExporter exporter = p.GetExporter();
9393

94-
auto res = exporter.Export(CreateSumPointData());
94+
auto instrumentation_scope =
95+
opentelemetry::sdk::instrumentationscope::InstrumentationScope::Create("library_name",
96+
"1.9.1");
97+
98+
auto data = CreateSumPointData(instrumentation_scope.get());
99+
100+
auto res = exporter.Export(data);
95101

96102
// result should be kSuccess = 0
97103
ExportResult code = ExportResult::kSuccess;
@@ -109,8 +115,14 @@ TEST(PrometheusPushExporter, ExporterIsShutdown)
109115

110116
exporter.Shutdown();
111117

118+
auto instrumentation_scope =
119+
opentelemetry::sdk::instrumentationscope::InstrumentationScope::Create("library_name",
120+
"1.9.1");
121+
122+
auto data = CreateSumPointData(instrumentation_scope.get());
123+
112124
// send export request after shutdown
113-
auto res = exporter.Export(CreateSumPointData());
125+
auto res = exporter.Export(data);
114126

115127
// result code should be kFailure = 1
116128
ExportResult code = ExportResult::kFailure;
@@ -134,18 +146,28 @@ TEST(PrometheusPushExporter, CollectionNotEnoughSpace)
134146

135147
int max_collection_size = exporter.GetMaxCollectionSize();
136148

149+
auto instrumentation_scope =
150+
opentelemetry::sdk::instrumentationscope::InstrumentationScope::Create("library_name",
151+
"1.15.0");
152+
137153
// send export request to fill the
138154
// collection in the collector
155+
// In each loop, there are 2 collections:
156+
// - the instrumentation_scope
157+
// - the data
139158
ExportResult code = ExportResult::kSuccess;
140-
for (int count = 1; count <= max_collection_size; ++count)
159+
for (int count = 1; count <= max_collection_size; count += 2)
141160
{
142-
auto res = exporter.Export(CreateSumPointData());
161+
auto data = CreateSumPointData(instrumentation_scope.get());
162+
auto res = exporter.Export(data);
143163
ASSERT_EQ(res, code);
144164
}
145165

166+
auto data = CreateSumPointData(instrumentation_scope.get());
167+
146168
// send export request that does not complete
147169
// due to not enough space in the collection
148-
auto res = exporter.Export(CreateSumPointData());
170+
auto res = exporter.Export(data);
149171

150172
// the result code should be kFailureFull = 2
151173
code = ExportResult::kFailureFull;
@@ -178,7 +200,7 @@ TEST(PrometheusPushExporterFactory, Create)
178200
{
179201
PrometheusPushExporterOptions options;
180202
options.host = "localhost";
181-
options.port = 4138;
203+
options.port = "4138";
182204
options.jobname = "jobname";
183205
options.labels["test_label"] = "test_value";
184206
options.username = "user";

0 commit comments

Comments
 (0)