From 1e739f0b2d73d1b71b954d8c12329ff820ac2290 Mon Sep 17 00:00:00 2001 From: Ryan Northey Date: Wed, 16 Aug 2023 17:23:59 +0100 Subject: [PATCH] tracing: Deprecate Opencensus (@1.30) Signed-off-by: Ryan Northey --- api/envoy/config/trace/v3/opencensus.proto | 33 ++++++++++++------- changelogs/current.yaml | 3 ++ source/extensions/extensions_metadata.yaml | 2 +- .../tracers/opencensus/config_test.cc | 24 +++++++------- 4 files changed, 39 insertions(+), 23 deletions(-) diff --git a/api/envoy/config/trace/v3/opencensus.proto b/api/envoy/config/trace/v3/opencensus.proto index 9b2d2361a49d9..86a986a24e436 100644 --- a/api/envoy/config/trace/v3/opencensus.proto +++ b/api/envoy/config/trace/v3/opencensus.proto @@ -48,29 +48,35 @@ message OpenCensusConfig { reserved 7; // Configures tracing, e.g. the sampler, max number of annotations, etc. - opencensus.proto.trace.v1.TraceConfig trace_config = 1; + opencensus.proto.trace.v1.TraceConfig trace_config = 1 + [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; // Enables the stdout exporter if set to true. This is intended for debugging // purposes. - bool stdout_exporter_enabled = 2; + bool stdout_exporter_enabled = 2 + [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; // Enables the Stackdriver exporter if set to true. The project_id must also // be set. - bool stackdriver_exporter_enabled = 3; + bool stackdriver_exporter_enabled = 3 + [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; // The Cloud project_id to use for Stackdriver tracing. - string stackdriver_project_id = 4; + string stackdriver_project_id = 4 + [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; // (optional) By default, the Stackdriver exporter will connect to production // Stackdriver. If stackdriver_address is non-empty, it will instead connect // to this address, which is in the gRPC format: // https://github.com/grpc/grpc/blob/master/doc/naming.md - string stackdriver_address = 10; + string stackdriver_address = 10 + [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; // (optional) The gRPC server that hosts Stackdriver tracing service. Only // Google gRPC is supported. If :ref:`target_uri ` // is not provided, the default production Stackdriver address will be used. - core.v3.GrpcService stackdriver_grpc_service = 13; + core.v3.GrpcService stackdriver_grpc_service = 13 + [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; // Enables the Zipkin exporter if set to true. The url and service name must // also be set. This is deprecated, prefer to use Envoy's :ref:`native Zipkin @@ -86,21 +92,26 @@ message OpenCensusConfig { // Enables the OpenCensus Agent exporter if set to true. The ocagent_address or // ocagent_grpc_service must also be set. - bool ocagent_exporter_enabled = 11; + bool ocagent_exporter_enabled = 11 + [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; // The address of the OpenCensus Agent, if its exporter is enabled, in gRPC // format: https://github.com/grpc/grpc/blob/master/doc/naming.md // [#comment:TODO: deprecate this field] - string ocagent_address = 12; + string ocagent_address = 12 + [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; // (optional) The gRPC server hosted by the OpenCensus Agent. Only Google gRPC is supported. // This is only used if the ocagent_address is left empty. - core.v3.GrpcService ocagent_grpc_service = 14; + core.v3.GrpcService ocagent_grpc_service = 14 + [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; // List of incoming trace context headers we will accept. First one found // wins. - repeated TraceContext incoming_trace_context = 8; + repeated TraceContext incoming_trace_context = 8 + [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; // List of outgoing trace context headers we will produce. - repeated TraceContext outgoing_trace_context = 9; + repeated TraceContext outgoing_trace_context = 9 + [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; } diff --git a/changelogs/current.yaml b/changelogs/current.yaml index 77ae08227708b..1eafb494b9251 100644 --- a/changelogs/current.yaml +++ b/changelogs/current.yaml @@ -83,3 +83,6 @@ deprecated: - area: tracing change: | OpenTracing is deprecated and will be removed at version 1.30, since the upstream project has been abandoned. +- area: tracing + change: | + Opencensus is deprecated and will be removed at version 1.30, since the upstream project has been abandoned. diff --git a/source/extensions/extensions_metadata.yaml b/source/extensions/extensions_metadata.yaml index 7cc32b872eb14..069ad9b4d0759 100644 --- a/source/extensions/extensions_metadata.yaml +++ b/source/extensions/extensions_metadata.yaml @@ -1112,7 +1112,7 @@ envoy.tracers.dynamic_ot: envoy.tracers.opencensus: categories: - envoy.tracers - security_posture: robust_to_untrusted_downstream + security_posture: unknown status: stable type_urls: - envoy.config.trace.v3.OpenCensusConfig diff --git a/test/extensions/tracers/opencensus/config_test.cc b/test/extensions/tracers/opencensus/config_test.cc index b03f3445822bb..d866fe13302a7 100644 --- a/test/extensions/tracers/opencensus/config_test.cc +++ b/test/extensions/tracers/opencensus/config_test.cc @@ -18,7 +18,7 @@ namespace Extensions { namespace Tracers { namespace OpenCensus { -TEST(OpenCensusTracerConfigTest, InvalidStackdriverConfiguration) { +TEST(OpenCensusTracerConfigTest, DEPRECATED_FEATURE_TEST(InvalidStackdriverConfiguration)) { NiceMock context; OpenCensusTracerFactory factory; @@ -41,7 +41,7 @@ TEST(OpenCensusTracerConfigTest, InvalidStackdriverConfiguration) { "Opencensus stackdriver tracer only support GoogleGrpc."); } -TEST(OpenCensusTracerConfigTest, InvalidOcagentConfiguration) { +TEST(OpenCensusTracerConfigTest, DEPRECATED_FEATURE_TEST(InvalidOcagentConfiguration)) { NiceMock context; OpenCensusTracerFactory factory; @@ -64,7 +64,7 @@ TEST(OpenCensusTracerConfigTest, InvalidOcagentConfiguration) { "Opencensus ocagent tracer only supports GoogleGrpc."); } -TEST(OpenCensusTracerConfigTest, OpenCensusHttpTracer) { +TEST(OpenCensusTracerConfigTest, DEPRECATED_FEATURE_TEST(OpenCensusHttpTracer)) { NiceMock context; const std::string yaml_string = R"EOF( http: @@ -81,7 +81,7 @@ TEST(OpenCensusTracerConfigTest, OpenCensusHttpTracer) { EXPECT_NE(nullptr, tracer); } -TEST(OpenCensusTracerConfigTest, OpenCensusHttpTracerWithTypedConfig) { +TEST(OpenCensusTracerConfigTest, DEPRECATED_FEATURE_TEST(OpenCensusHttpTracerWithTypedConfig)) { NiceMock context; const std::string yaml_string = R"EOF( http: @@ -155,7 +155,7 @@ TEST(OpenCensusTracerConfigTest, {32, 32, 128, 32, ::opencensus::trace::ProbabilitySampler(1e-4)}); } -TEST(OpenCensusTracerConfigTest, OpenCensusHttpTracerGrpc) { +TEST(OpenCensusTracerConfigTest, DEPRECATED_FEATURE_TEST(OpenCensusHttpTracerGrpc)) { NiceMock context; const std::string yaml_string = R"EOF( http: @@ -201,7 +201,7 @@ TEST(OpenCensusTracerConfigTest, OpenCensusHttpTracerGrpc) { #endif } -TEST(OpenCensusTracerConfigTest, ShouldCreateAtMostOneOpenCensusTracer) { +TEST(OpenCensusTracerConfigTest, DEPRECATED_FEATURE_TEST(ShouldCreateAtMostOneOpenCensusTracer)) { NiceMock context; OpenCensusTracerFactory factory; @@ -229,7 +229,8 @@ TEST(OpenCensusTracerConfigTest, ShouldCreateAtMostOneOpenCensusTracer) { EXPECT_EQ(tracer_two, tracer_one); } -TEST(OpenCensusTracerConfigTest, ShouldCacheFirstCreatedTracerUsingStrongReference) { +TEST(OpenCensusTracerConfigTest, + DEPRECATED_FEATURE_TEST(ShouldCacheFirstCreatedTracerUsingStrongReference)) { NiceMock context; OpenCensusTracerFactory factory; @@ -254,7 +255,7 @@ TEST(OpenCensusTracerConfigTest, ShouldCacheFirstCreatedTracerUsingStrongReferen EXPECT_EQ(tracer_two, tracer_one.lock()); } -TEST(OpenCensusTracerConfigTest, ShouldNotCacheInvalidConfiguration) { +TEST(OpenCensusTracerConfigTest, DEPRECATED_FEATURE_TEST(ShouldNotCacheInvalidConfiguration)) { NiceMock context; OpenCensusTracerFactory factory; @@ -303,7 +304,8 @@ TEST(OpenCensusTracerConfigTest, ShouldNotCacheInvalidConfiguration) { #endif } -TEST(OpenCensusTracerConfigTest, ShouldRejectSubsequentCreateAttemptsWithDifferentConfig) { +TEST(OpenCensusTracerConfigTest, + DEPRECATED_FEATURE_TEST(ShouldRejectSubsequentCreateAttemptsWithDifferentConfig)) { NiceMock context; OpenCensusTracerFactory factory; @@ -343,7 +345,7 @@ TEST(OpenCensusTracerConfigTest, ShouldRejectSubsequentCreateAttemptsWithDiffere "Opencensus has already been configured with a different config."); } -TEST(OpenCensusTracerConfigTest, OpenCensusHttpTracerStackdriverGrpc) { +TEST(OpenCensusTracerConfigTest, DEPRECATED_FEATURE_TEST(OpenCensusHttpTracerStackdriverGrpc)) { NiceMock context; const std::string yaml_string = R"EOF( http: @@ -376,7 +378,7 @@ TEST(OpenCensusTracerConfigTest, OpenCensusHttpTracerStackdriverGrpc) { #endif } -TEST(OpenCensusTracerConfigTest, OpenCensusHttpTracerStackdriverAddress) { +TEST(OpenCensusTracerConfigTest, DEPRECATED_FEATURE_TEST(OpenCensusHttpTracerStackdriverAddress)) { NiceMock context; const std::string yaml_string = R"EOF( http: