Closed github-actions[bot] closed 2 years ago
@AlexanderEllis I was able to get this otel
update working with the following diff after reviewing the deprecation notices and code changes at:
Haven't run tests but can confirm this now sends traces via the 0.58.0-dev otel
collector!
diff --git a/api/bazel/repository_locations.bzl b/api/bazel/repository_locations.bzl
index cf6f6f3583..075820eee1 100644
--- a/api/bazel/repository_locations.bzl
+++ b/api/bazel/repository_locations.bzl
@@ -100,9 +100,9 @@ REPOSITORY_LOCATIONS_SPEC = dict(
project_name = "OpenTelemetry Proto",
project_desc = "Language Independent Interface Types For OpenTelemetry",
project_url = "https://github.com/open-telemetry/opentelemetry-proto",
- version = "0.18.0",
- sha256 = "134ce87f0a623daac19b9507b92da0d9b82929e3db796bba631e422f6ea8d3b3",
- release_date = "2022-05-17",
+ version = "0.19.0",
+ sha256 = "464bc2b348e674a1a03142e403cbccb01be8655b6de0f8bfe733ea31fcd421be",
+ release_date = "2022-08-03",
strip_prefix = "opentelemetry-proto-{version}",
urls = ["https://github.com/open-telemetry/opentelemetry-proto/archive/v{version}.tar.gz"],
use_category = ["api"],
diff --git a/source/extensions/access_loggers/open_telemetry/grpc_access_log_impl.cc b/source/extensions/access_loggers/open_telemetry/grpc_access_log_impl.cc
index 7fbb95ae52..5edaffb7e7 100644
--- a/source/extensions/access_loggers/open_telemetry/grpc_access_log_impl.cc
+++ b/source/extensions/access_loggers/open_telemetry/grpc_access_log_impl.cc
@@ -49,7 +49,7 @@ void GrpcAccessLoggerImpl::initMessageRoot(
config,
const LocalInfo::LocalInfo& local_info) {
auto* resource_logs = message_.add_resource_logs();
- root_ = resource_logs->add_instrumentation_library_logs();
+ root_ = resource_logs->add_scope_logs();
auto* resource = resource_logs->mutable_resource();
*resource->add_attributes() = getStringKeyValue("log_name", config.common_config().log_name());
*resource->add_attributes() = getStringKeyValue("zone_name", local_info.zoneName());
diff --git a/source/extensions/access_loggers/open_telemetry/grpc_access_log_impl.h b/source/extensions/access_loggers/open_telemetry/grpc_access_log_impl.h
index ffaea2ab54..abcf396b16 100644
--- a/source/extensions/access_loggers/open_telemetry/grpc_access_log_impl.h
+++ b/source/extensions/access_loggers/open_telemetry/grpc_access_log_impl.h
@@ -25,7 +25,7 @@ namespace OpenTelemetry {
// Note: OpenTelemetry protos are extra flexible and used also in the OT collector for batching and
// so forth. As a result, some fields are repeated, but for our use case we assume the following
// structure:
-// ExportLogsServiceRequest -> (single) ResourceLogs -> (single) InstrumentationLibraryLogs ->
+// ExportLogsServiceRequest -> (single) ResourceLogs -> (single) ScopeLogs ->
// (repeated) LogRecord.
class GrpcAccessLoggerImpl
: public Common::GrpcAccessLogger<
@@ -55,7 +55,7 @@ private:
void initMessage() override;
void clearMessage() override;
- opentelemetry::proto::logs::v1::InstrumentationLibraryLogs* root_;
+ opentelemetry::proto::logs::v1::ScopeLogs* root_;
};
class GrpcAccessLoggerCacheImpl
diff --git a/source/extensions/tracers/opentelemetry/tracer.cc b/source/extensions/tracers/opentelemetry/tracer.cc
index bc5c0f06aa..376c7f69e8 100644
--- a/source/extensions/tracers/opentelemetry/tracer.cc
+++ b/source/extensions/tracers/opentelemetry/tracer.cc
@@ -124,10 +124,10 @@ void Tracer::flushSpans() {
key_value.set_key(std::string{kServiceNameKey});
*key_value.mutable_value() = value_proto;
(*resource_span->mutable_resource()->add_attributes()) = key_value;
- ::opentelemetry::proto::trace::v1::InstrumentationLibrarySpans* instrumentation_library_span =
- resource_span->add_instrumentation_library_spans();
+ ::opentelemetry::proto::trace::v1::ScopeSpans* scope_span =
+ resource_span->add_scope_spans();
for (const auto& pending_span : span_buffer_) {
- (*instrumentation_library_span->add_spans()) = pending_span;
+ (*scope_span->add_spans()) = pending_span;
}
tracing_stats_.spans_sent_.add(span_buffer_.size());
if (!exporter_->log(request)) {
diff --git a/test/extensions/tracers/opentelemetry/grpc_trace_exporter_test.cc b/test/extensions/tracers/opentelemetry/grpc_trace_exporter_test.cc
index 6d432eb517..f017deb74b 100644
--- a/test/extensions/tracers/opentelemetry/grpc_trace_exporter_test.cc
+++ b/test/extensions/tracers/opentelemetry/grpc_trace_exporter_test.cc
@@ -68,7 +68,7 @@ TEST_F(OpenTelemetryGrpcTraceExporterTest, CreateExporterAndExportSpan) {
opentelemetry::proto::collector::trace::v1::ExportTraceServiceRequest request;
opentelemetry::proto::trace::v1::Span span;
span.set_name("test");
- *request.add_resource_spans()->add_instrumentation_library_spans()->add_spans() = span;
+ *request.add_resource_spans()->add_instrumentation_scope_spans()->add_spans() = span;
EXPECT_TRUE(exporter.log(request));
}
@@ -80,7 +80,7 @@ TEST_F(OpenTelemetryGrpcTraceExporterTest, NoExportWithHighWatermark) {
opentelemetry::proto::collector::trace::v1::ExportTraceServiceRequest request;
opentelemetry::proto::trace::v1::Span span;
span.set_name("tests");
- *request.add_resource_spans()->add_instrumentation_library_spans()->add_spans() = span;
+ *request.add_resource_spans()->add_instrumentation_scope_spans()->add_spans() = span;
EXPECT_FALSE(exporter.log(request));
}
@@ -97,7 +97,7 @@ TEST_F(OpenTelemetryGrpcTraceExporterTest, ExportWithRemoteClose) {
opentelemetry::proto::collector::trace::v1::ExportTraceServiceRequest request;
opentelemetry::proto::trace::v1::Span span;
span.set_name("test");
- *request.add_resource_spans()->add_instrumentation_library_spans()->add_spans() = span;
+ *request.add_resource_spans()->add_instrumentation_scope_spans()->add_spans() = span;
EXPECT_TRUE(exporter.log(request));
// Close the stream, now that we've created it.
@@ -120,7 +120,7 @@ TEST_F(OpenTelemetryGrpcTraceExporterTest, ExportWithNoopCallbacks) {
opentelemetry::proto::collector::trace::v1::ExportTraceServiceRequest request;
opentelemetry::proto::trace::v1::Span span;
span.set_name("test");
- *request.add_resource_spans()->add_instrumentation_library_spans()->add_spans() = span;
+ *request.add_resource_spans()->add_instrumentation_scope_spans()->add_spans() = span;
EXPECT_TRUE(exporter.log(request));
Http::TestRequestHeaderMapImpl metadata;
Nice, thanks for digging in! That's great to hear, and I'll scope the tests and float a PR with these changes and the proto upgrade 👍
Package Name: opentelemetry_proto@0.18.0 Current Version: v0.18.0@2022-05-17 Available Version: v0.19.0@2022-08-03 Upstream releases: https://github.com/open-telemetry/opentelemetry-proto/releases