diff --git a/Makefile b/Makefile index bf08dc84f..4f52d69f2 100644 --- a/Makefile +++ b/Makefile @@ -57,7 +57,7 @@ gen-cpp: $(PROTOC) --cpp_out=./$(PROTO_GEN_CPP_DIR) --grpc-cpp_out=./$(PROTO_GEN_CPP_DIR) opentelemetry/proto/collector/trace/v1/trace_service.proto $(PROTOC) --cpp_out=./$(PROTO_GEN_CPP_DIR) --grpc-cpp_out=./$(PROTO_GEN_CPP_DIR) opentelemetry/proto/collector/metrics/v1/metrics_service.proto $(PROTOC) --cpp_out=./$(PROTO_GEN_CPP_DIR) --grpc-cpp_out=./$(PROTO_GEN_CPP_DIR) opentelemetry/proto/collector/logs/v1/logs_service.proto - $(PROTOC) --cpp_out=./$(PROTO_GEN_CPP_DIR) --grpc-cpp_out=./$(PROTO_GEN_CPP_DIR) opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto + $(PROTOC) --cpp_out=./$(PROTO_GEN_CPP_DIR) --grpc-cpp_out=./$(PROTO_GEN_CPP_DIR) opentelemetry/proto/collector/profiles/v1development/profiles_service.proto # Generate gRPC/Protobuf implementation for C#. .PHONY: gen-csharp @@ -68,7 +68,7 @@ gen-csharp: $(PROTOC) --csharp_out=./$(PROTO_GEN_CSHARP_DIR) --grpc-csharp_out=./$(PROTO_GEN_CSHARP_DIR) opentelemetry/proto/collector/trace/v1/trace_service.proto $(PROTOC) --csharp_out=./$(PROTO_GEN_CSHARP_DIR) --grpc-csharp_out=./$(PROTO_GEN_CSHARP_DIR) opentelemetry/proto/collector/metrics/v1/metrics_service.proto $(PROTOC) --csharp_out=./$(PROTO_GEN_CSHARP_DIR) --grpc-csharp_out=./$(PROTO_GEN_CSHARP_DIR) opentelemetry/proto/collector/logs/v1/logs_service.proto - $(PROTOC) --csharp_out=./$(PROTO_GEN_CSHARP_DIR) --grpc-csharp_out=./$(PROTO_GEN_CSHARP_DIR) opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto + $(PROTOC) --csharp_out=./$(PROTO_GEN_CSHARP_DIR) --grpc-csharp_out=./$(PROTO_GEN_CSHARP_DIR) opentelemetry/proto/collector/profiles/v1development/profiles_service.proto # Generate gRPC/Protobuf implementation for Go. .PHONY: gen-go @@ -79,7 +79,7 @@ gen-go: $(PROTOC) --grpc-gateway_out=logtostderr=true,grpc_api_configuration=opentelemetry/proto/collector/trace/v1/trace_service_http.yaml:./$(PROTO_GEN_GO_DIR) opentelemetry/proto/collector/trace/v1/trace_service.proto $(PROTOC) --grpc-gateway_out=logtostderr=true,grpc_api_configuration=opentelemetry/proto/collector/metrics/v1/metrics_service_http.yaml:./$(PROTO_GEN_GO_DIR) opentelemetry/proto/collector/metrics/v1/metrics_service.proto $(PROTOC) --grpc-gateway_out=logtostderr=true,grpc_api_configuration=opentelemetry/proto/collector/logs/v1/logs_service_http.yaml:./$(PROTO_GEN_GO_DIR) opentelemetry/proto/collector/logs/v1/logs_service.proto - $(PROTOC) --grpc-gateway_out=logtostderr=true,grpc_api_configuration=opentelemetry/proto/collector/profiles/v1experimental/profiles_service_http.yaml:./$(PROTO_GEN_GO_DIR) opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto + $(PROTOC) --grpc-gateway_out=logtostderr=true,grpc_api_configuration=opentelemetry/proto/collector/profiles/v1development/profiles_service_http.yaml:./$(PROTO_GEN_GO_DIR) opentelemetry/proto/collector/profiles/v1development/profiles_service.proto # Generate gRPC/Protobuf implementation for Java. .PHONY: gen-java @@ -105,7 +105,7 @@ gen-js: $(PROTOC) --js_out=import_style=commonjs:./$(PROTO_GEN_JS_DIR) --grpc-web_out=import_style=commonjs,mode=grpcweb:./$(PROTO_GEN_JS_DIR) opentelemetry/proto/collector/trace/v1/trace_service.proto $(PROTOC) --js_out=import_style=commonjs:./$(PROTO_GEN_JS_DIR) --grpc-web_out=import_style=commonjs,mode=grpcweb:./$(PROTO_GEN_JS_DIR) opentelemetry/proto/collector/metrics/v1/metrics_service.proto $(PROTOC) --js_out=import_style=commonjs:./$(PROTO_GEN_JS_DIR) --grpc-web_out=import_style=commonjs,mode=grpcweb:./$(PROTO_GEN_JS_DIR) opentelemetry/proto/collector/logs/v1/logs_service.proto - $(PROTOC) --js_out=import_style=commonjs:./$(PROTO_GEN_JS_DIR) --grpc-web_out=import_style=commonjs,mode=grpcweb:./$(PROTO_GEN_JS_DIR) opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto + $(PROTOC) --js_out=import_style=commonjs:./$(PROTO_GEN_JS_DIR) --grpc-web_out=import_style=commonjs,mode=grpcweb:./$(PROTO_GEN_JS_DIR) opentelemetry/proto/collector/profiles/v1development/profiles_service.proto # Generate gRPC/Protobuf implementation for Objective-C. .PHONY: gen-objc @@ -116,7 +116,7 @@ gen-objc: $(PROTOC) --objc_out=./$(PROTO_GEN_OBJC_DIR) --grpc-objc_out=./$(PROTO_GEN_OBJC_DIR) opentelemetry/proto/collector/trace/v1/trace_service.proto $(PROTOC) --objc_out=./$(PROTO_GEN_OBJC_DIR) --grpc-objc_out=./$(PROTO_GEN_OBJC_DIR) opentelemetry/proto/collector/metrics/v1/metrics_service.proto $(PROTOC) --objc_out=./$(PROTO_GEN_OBJC_DIR) --grpc-objc_out=./$(PROTO_GEN_OBJC_DIR) opentelemetry/proto/collector/logs/v1/logs_service.proto - $(PROTOC) --objc_out=./$(PROTO_GEN_OBJC_DIR) --grpc-objc_out=./$(PROTO_GEN_OBJC_DIR) opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto + $(PROTOC) --objc_out=./$(PROTO_GEN_OBJC_DIR) --grpc-objc_out=./$(PROTO_GEN_OBJC_DIR) opentelemetry/proto/collector/profiles/v1development/profiles_service.proto # Generate gRPC/Protobuf for openapi v2 (swagger) .PHONY: gen-openapi @@ -125,7 +125,7 @@ gen-openapi: $(PROTOC) --openapiv2_out=logtostderr=true,grpc_api_configuration=opentelemetry/proto/collector/trace/v1/trace_service_http.yaml:$(PROTO_GEN_OPENAPI_DIR) opentelemetry/proto/collector/trace/v1/trace_service.proto $(PROTOC) --openapiv2_out=logtostderr=true,grpc_api_configuration=opentelemetry/proto/collector/metrics/v1/metrics_service_http.yaml:$(PROTO_GEN_OPENAPI_DIR) opentelemetry/proto/collector/metrics/v1/metrics_service.proto $(PROTOC) --openapiv2_out=logtostderr=true,grpc_api_configuration=opentelemetry/proto/collector/logs/v1/logs_service_http.yaml:$(PROTO_GEN_OPENAPI_DIR) opentelemetry/proto/collector/logs/v1/logs_service.proto - $(PROTOC) --openapiv2_out=logtostderr=true,grpc_api_configuration=opentelemetry/proto/collector/profiles/v1experimental/profiles_service_http.yaml:$(PROTO_GEN_OPENAPI_DIR) opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto + $(PROTOC) --openapiv2_out=logtostderr=true,grpc_api_configuration=opentelemetry/proto/collector/profiles/v1development/profiles_service_http.yaml:$(PROTO_GEN_OPENAPI_DIR) opentelemetry/proto/collector/profiles/v1development/profiles_service.proto # Generate gRPC/Protobuf implementation for PhP. .PHONY: gen-php @@ -136,7 +136,7 @@ gen-php: $(PROTOC) --php_out=./$(PROTO_GEN_PHP_DIR) --grpc-php_out=./$(PROTO_GEN_PHP_DIR) opentelemetry/proto/collector/trace/v1/trace_service.proto $(PROTOC) --php_out=./$(PROTO_GEN_PHP_DIR) --grpc-php_out=./$(PROTO_GEN_PHP_DIR) opentelemetry/proto/collector/metrics/v1/metrics_service.proto $(PROTOC) --php_out=./$(PROTO_GEN_PHP_DIR) --grpc-php_out=./$(PROTO_GEN_PHP_DIR) opentelemetry/proto/collector/logs/v1/logs_service.proto - $(PROTOC) --php_out=./$(PROTO_GEN_PHP_DIR) --grpc-php_out=./$(PROTO_GEN_PHP_DIR) opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto + $(PROTOC) --php_out=./$(PROTO_GEN_PHP_DIR) --grpc-php_out=./$(PROTO_GEN_PHP_DIR) opentelemetry/proto/collector/profiles/v1development/profiles_service.proto # Generate gRPC/Protobuf implementation for Python. .PHONY: gen-python @@ -147,7 +147,7 @@ gen-python: $(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) --grpc-python_out=./$(PROTO_GEN_PYTHON_DIR) opentelemetry/proto/collector/trace/v1/trace_service.proto $(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) --grpc-python_out=./$(PROTO_GEN_PYTHON_DIR) opentelemetry/proto/collector/metrics/v1/metrics_service.proto $(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) --grpc-python_out=./$(PROTO_GEN_PYTHON_DIR) opentelemetry/proto/collector/logs/v1/logs_service.proto - $(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) --grpc-python_out=./$(PROTO_GEN_PYTHON_DIR) opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto + $(PROTOC) --python_out=./$(PROTO_GEN_PYTHON_DIR) --grpc-python_out=./$(PROTO_GEN_PYTHON_DIR) opentelemetry/proto/collector/profiles/v1development/profiles_service.proto # Generate gRPC/Protobuf implementation for Ruby. .PHONY: gen-ruby @@ -158,9 +158,9 @@ gen-ruby: $(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) --grpc-ruby_out=./$(PROTO_GEN_RUBY_DIR) opentelemetry/proto/collector/trace/v1/trace_service.proto $(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) --grpc-ruby_out=./$(PROTO_GEN_RUBY_DIR) opentelemetry/proto/collector/metrics/v1/metrics_service.proto $(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) --grpc-ruby_out=./$(PROTO_GEN_RUBY_DIR) opentelemetry/proto/collector/logs/v1/logs_service.proto - $(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) --grpc-ruby_out=./$(PROTO_GEN_RUBY_DIR) opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto + $(PROTOC) --ruby_out=./$(PROTO_GEN_RUBY_DIR) --grpc-ruby_out=./$(PROTO_GEN_RUBY_DIR) opentelemetry/proto/collector/profiles/v1development/profiles_service.proto -# The Profiling protocol is still experimental. So it is excluded from the breaking-change check. +# The Profiling protocol is still development. So it is excluded from the breaking-change check. .PHONY: breaking-change breaking-change: $(BUF) breaking --against $(BUF_AGAINST) --config '{"version":"v1","breaking":{"ignore":["opentelemetry/proto/profiles", "opentelemetry/proto/collector/profiles"]}}' $(BUF_FLAGS) diff --git a/README.md b/README.md index b84446eec..bcdcf81a0 100644 --- a/README.md +++ b/README.md @@ -43,9 +43,9 @@ components as indicated by the Maturity table below. | metrics/\*
collector/metrics/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) | | trace/\*
collector/trace/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) | | logs/\*
collector/logs/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) | -| profiles/\*
collector/profiles/* | Experimental | [Experimental](docs/specification.md#json-protobuf-encoding) | +| profiles/\*
collector/profiles/* | Development | [Development](docs/specification.md#json-protobuf-encoding) | -(See [maturity-matrix.yaml](https://github.com/open-telemetry/community/blob/47813530864b9fe5a5146f466a58bd2bb94edc72/maturity-matrix.yaml#L57) +(See [Versioning and Stability](https://github.com/open-telemetry/opentelemetry-specification/blob/a08d1f92f62acd4aafe4dfaa04ae7bf28600d49e/specification/versioning-and-stability.md) for definition of maturity levels). ## Stability Definition @@ -89,8 +89,8 @@ is generated from the .proto files by any particular code generator. ## Experiments In some cases we are trying to experiment with different features. In this case, -we recommend using an "experimental" sub-directory instead of adding them to any +we recommend using a "development" sub-directory instead of adding them to any protocol version. These protocols should not be used, except for development/testing purposes. -Another review must be conducted for experimental protocols to join the main project. +Another review must be conducted for in-development protocols to join the main project. diff --git a/docs/specification.md b/docs/specification.md index 74f608e39..976cf42d6 100644 --- a/docs/specification.md +++ b/docs/specification.md @@ -96,7 +96,7 @@ telemetry data using unary requests using messages ([ExportLogsServiceRequest](../opentelemetry/proto/collector/logs/v1/logs_service.proto) for logs, [ExportMetricsServiceRequest](../opentelemetry/proto/collector/metrics/v1/metrics_service.proto) for metrics, [ExportTraceServiceRequest](../opentelemetry/proto/collector/trace/v1/trace_service.proto) for traces, -[ExportProfilesServiceRequest](../opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto) for profiles). +[ExportProfilesServiceRequest](../opentelemetry/proto/collector/profiles/v1development/profiles_service.proto) for profiles). The client continuously sends a sequence of requests to the server and expects to receive a response to each request: diff --git a/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto b/opentelemetry/proto/collector/profiles/v1development/profiles_service.proto similarity index 91% rename from opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto rename to opentelemetry/proto/collector/profiles/v1development/profiles_service.proto index d0e7894b2..ab2433ed2 100644 --- a/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto +++ b/opentelemetry/proto/collector/profiles/v1development/profiles_service.proto @@ -14,15 +14,15 @@ syntax = "proto3"; -package opentelemetry.proto.collector.profiles.v1experimental; +package opentelemetry.proto.collector.profiles.v1development; -import "opentelemetry/proto/profiles/v1experimental/profiles.proto"; +import "opentelemetry/proto/profiles/v1development/profiles.proto"; -option csharp_namespace = "OpenTelemetry.Proto.Collector.Profiles.V1Experimental"; +option csharp_namespace = "OpenTelemetry.Proto.Collector.Profiles.V1Development"; option java_multiple_files = true; -option java_package = "io.opentelemetry.proto.collector.profiles.v1experimental"; +option java_package = "io.opentelemetry.proto.collector.profiles.v1development"; option java_outer_classname = "ProfilesServiceProto"; -option go_package = "go.opentelemetry.io/proto/otlp/collector/profiles/v1experimental"; +option go_package = "go.opentelemetry.io/proto/otlp/collector/profiles/v1development"; // Service that can be used to push profiles between one Application instrumented with // OpenTelemetry and a collector, or between a collector and a central collector. @@ -38,7 +38,7 @@ message ExportProfilesServiceRequest { // element. Intermediary nodes (such as OpenTelemetry Collector) that receive // data from multiple origins typically batch the data before forwarding further and // in that case this array will contain multiple elements. - repeated opentelemetry.proto.profiles.v1experimental.ResourceProfiles resource_profiles = 1; + repeated opentelemetry.proto.profiles.v1development.ResourceProfiles resource_profiles = 1; } message ExportProfilesServiceResponse { diff --git a/opentelemetry/proto/collector/profiles/v1experimental/profiles_service_http.yaml b/opentelemetry/proto/collector/profiles/v1development/profiles_service_http.yaml similarity index 63% rename from opentelemetry/proto/collector/profiles/v1experimental/profiles_service_http.yaml rename to opentelemetry/proto/collector/profiles/v1development/profiles_service_http.yaml index ea501afbb..6b3b91da0 100644 --- a/opentelemetry/proto/collector/profiles/v1experimental/profiles_service_http.yaml +++ b/opentelemetry/proto/collector/profiles/v1development/profiles_service_http.yaml @@ -4,6 +4,6 @@ type: google.api.Service config_version: 3 http: rules: - - selector: opentelemetry.proto.collector.profiles.v1experimental.ProfilesService.Export - post: /v1experimental/profiles + - selector: opentelemetry.proto.collector.profiles.v1development.ProfilesService.Export + post: /v1development/profiles body: "*" diff --git a/opentelemetry/proto/profiles/v1experimental/pprofextended.proto b/opentelemetry/proto/profiles/v1development/pprofextended.proto similarity index 98% rename from opentelemetry/proto/profiles/v1experimental/pprofextended.proto rename to opentelemetry/proto/profiles/v1development/pprofextended.proto index d74f5402e..211b3c74a 100644 --- a/opentelemetry/proto/profiles/v1experimental/pprofextended.proto +++ b/opentelemetry/proto/profiles/v1development/pprofextended.proto @@ -54,14 +54,14 @@ syntax = "proto3"; -package opentelemetry.proto.profiles.v1experimental; +package opentelemetry.proto.profiles.v1development; import "opentelemetry/proto/common/v1/common.proto"; -option csharp_namespace = "OpenTelemetry.Proto.Profiles.V1Experimental"; +option csharp_namespace = "OpenTelemetry.Proto.Profiles.V1Development"; option java_multiple_files = true; -option java_package = "io.opentelemetry.proto.profiles.v1experimental"; -option go_package = "go.opentelemetry.io/proto/otlp/profiles/v1experimental"; +option java_package = "io.opentelemetry.proto.profiles.v1development"; +option go_package = "go.opentelemetry.io/proto/otlp/profiles/v1development"; // Represents a complete profile, including sample types, samples, // mappings to binaries, locations, functions, string table, and additional metadata. diff --git a/opentelemetry/proto/profiles/v1experimental/profiles.proto b/opentelemetry/proto/profiles/v1development/profiles.proto similarity index 95% rename from opentelemetry/proto/profiles/v1experimental/profiles.proto rename to opentelemetry/proto/profiles/v1development/profiles.proto index 84b0108f8..89b778ea8 100644 --- a/opentelemetry/proto/profiles/v1experimental/profiles.proto +++ b/opentelemetry/proto/profiles/v1development/profiles.proto @@ -14,17 +14,17 @@ syntax = "proto3"; -package opentelemetry.proto.profiles.v1experimental; +package opentelemetry.proto.profiles.v1development; import "opentelemetry/proto/common/v1/common.proto"; import "opentelemetry/proto/resource/v1/resource.proto"; -import "opentelemetry/proto/profiles/v1experimental/pprofextended.proto"; +import "opentelemetry/proto/profiles/v1development/pprofextended.proto"; -option csharp_namespace = "OpenTelemetry.Proto.Profiles.V1Experimental"; +option csharp_namespace = "OpenTelemetry.Proto.Profiles.V1Development"; option java_multiple_files = true; -option java_package = "io.opentelemetry.proto.profiles.v1experimental"; +option java_package = "io.opentelemetry.proto.profiles.v1development"; option java_outer_classname = "ProfilesProto"; -option go_package = "go.opentelemetry.io/proto/otlp/profiles/v1experimental"; +option go_package = "go.opentelemetry.io/proto/otlp/profiles/v1development"; // Relationships Diagram // @@ -187,5 +187,5 @@ message ProfileContainer { bytes original_payload = 7; // This is a reference to a pprof profile. Required, even when original_payload is present. - opentelemetry.proto.profiles.v1experimental.Profile profile = 8; + opentelemetry.proto.profiles.v1development.Profile profile = 8; }