diff --git a/.gitignore b/.gitignore index a606c48..57af72c 100644 --- a/.gitignore +++ b/.gitignore @@ -406,6 +406,9 @@ FodyWeavers.xsd **/.idea/shelf/* **/.idea/dictionaries **/.idea/httpRequests/ +**/.idea/encodings.xml +**/.idea/indexLayout.xml +**/.idea/projectSettingsUpdater.xml # Sensitive or high-churn files **/.idea/**/dataSources/ @@ -422,4 +425,7 @@ FodyWeavers.xsd **/.idea/**/modules.xml # Mac stuff -.DS_Store \ No newline at end of file +.DS_Store + +# Protobuf selected output directory +out \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..2790b48 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "submodules"] + path = submodules + url = https://github.com/open-telemetry/opentelemetry-proto.git diff --git a/.idea/protoeditor.xml b/.idea/protoeditor.xml new file mode 100644 index 0000000..8eb84f7 --- /dev/null +++ b/.idea/protoeditor.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..719a058 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/odddotproto/proto/trace/v1/flat_span.proto b/odddotproto/proto/trace/v1/flat_span.proto new file mode 100644 index 0000000..3a9ef95 --- /dev/null +++ b/odddotproto/proto/trace/v1/flat_span.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; + +package odddotnet.proto.trace.v1; + +option csharp_namespace = "OddDotNet.Proto.Trace.V1"; + +import "opentelemetry/proto/trace/v1/trace.proto"; +import "opentelemetry/proto/resource/v1/resource.proto"; +import "opentelemetry/proto/common/v1/common.proto"; + +message FlatSpan { + opentelemetry.proto.trace.v1.Span span = 1; + opentelemetry.proto.resource.v1.Resource resource = 2; + opentelemetry.proto.common.v1.InstrumentationScope instrumentationScope = 3; + string resourceSchemaUrl = 4; + string instrumentationScopeSchemaUrl = 5; +} \ No newline at end of file diff --git a/proto/spans/v1/span_query_request.proto b/odddotproto/proto/trace/v1/span_query_request.proto similarity index 91% rename from proto/spans/v1/span_query_request.proto rename to odddotproto/proto/trace/v1/span_query_request.proto index 10d65ab..d4904e4 100644 --- a/proto/spans/v1/span_query_request.proto +++ b/odddotproto/proto/trace/v1/span_query_request.proto @@ -1,14 +1,10 @@ syntax = "proto3"; -package odddotnet.proto.spans.v1; +package odddotnet.proto.trace.v1; -option csharp_namespace = "OddDotNet.Proto.Spans.V1"; -option java_multiple_files = true; -option java_package = "com.odddotnet.proto.spans.v1"; -option java_outer_classname = "SpansProto"; -option go_package = "go.odddotnet.com/proto/otlp/spans/v1"; +option csharp_namespace = "OddDotNet.Proto.Trace.V1"; -import "proto/spans/v1/span.proto"; +import "opentelemetry/proto/trace/v1/trace.proto"; message SpanQueryRequest { repeated WhereSpanFilter filters = 1; @@ -119,12 +115,12 @@ message DoubleProperty { message SpanStatusCodeProperty { EnumCompareAsType compareAs = 1; - SpanStatusCode compare = 2; + opentelemetry.proto.trace.v1.Status.StatusCode compare = 2; } message SpanKindProperty { EnumCompareAsType compareAs = 1; - SpanKind compare = 2; + opentelemetry.proto.trace.v1.Span.SpanKind compare = 2; } message KeyValueProperty { diff --git a/odddotproto/proto/trace/v1/span_query_response.proto b/odddotproto/proto/trace/v1/span_query_response.proto new file mode 100644 index 0000000..61bda6e --- /dev/null +++ b/odddotproto/proto/trace/v1/span_query_response.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; + +package odddotnet.proto.trace.v1; + +option csharp_namespace = "OddDotNet.Proto.Trace.V1"; + +import "flat_span.proto"; + +message SpanQueryResponse { + repeated FlatSpan spans = 1; +} \ No newline at end of file diff --git a/odddotproto/proto/trace/v1/span_query_service.proto b/odddotproto/proto/trace/v1/span_query_service.proto new file mode 100644 index 0000000..0583acf --- /dev/null +++ b/odddotproto/proto/trace/v1/span_query_service.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; + +package odddotnet.proto.trace.v1; + +option csharp_namespace = "OddDotNet.Proto.Trace.V1"; + +import "span_query_request.proto"; +import "span_query_response.proto"; +import "span_reset_request.proto"; +import "span_reset_response.proto"; + +service SpanQueryService { + rpc Query(SpanQueryRequest) returns (SpanQueryResponse); + rpc Reset(SpanResetRequest) returns (SpanResetResponse); +} \ No newline at end of file diff --git a/odddotproto/proto/trace/v1/span_reset_request.proto b/odddotproto/proto/trace/v1/span_reset_request.proto new file mode 100644 index 0000000..bdd3078 --- /dev/null +++ b/odddotproto/proto/trace/v1/span_reset_request.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; + +package odddotnet.proto.trace.v1; + +option csharp_namespace = "OddDotNet.Proto.Trace.V1"; + +message SpanResetRequest{} \ No newline at end of file diff --git a/odddotproto/proto/trace/v1/span_reset_response.proto b/odddotproto/proto/trace/v1/span_reset_response.proto new file mode 100644 index 0000000..0733584 --- /dev/null +++ b/odddotproto/proto/trace/v1/span_reset_response.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; + +package odddotnet.proto.trace.v1; + +option csharp_namespace = "OddDotNet.Proto.Trace.V1"; + +message SpanResetResponse{} \ No newline at end of file diff --git a/proto/spans/v1/span.proto b/proto/spans/v1/span.proto deleted file mode 100644 index edfe0b7..0000000 --- a/proto/spans/v1/span.proto +++ /dev/null @@ -1,96 +0,0 @@ -syntax = "proto3"; - -package odddotnet.proto.spans.v1; - -option csharp_namespace = "OddDotNet.Proto.Spans.V1"; -option java_multiple_files = true; -option java_package = "com.odddotnet.proto.spans.v1"; -option java_outer_classname = "SpansProto"; -option go_package = "go.odddotnet.com/proto/otlp/spans/v1"; - -message Span { - InstrumentationScope instrumentationScope = 1; - string name = 2; - map attributes = 3; - repeated SpanEvent events = 4; - uint32 flags = 5; - SpanKind Kind = 6; - repeated SpanLink links = 7; - SpanStatus status = 8; - bytes spanId = 9; - bytes traceId = 10; - string traceState = 11; - bytes parentSpanId = 12; - uint64 startTimeUnixNano = 13; - uint64 endTimeUnixNano = 14; -} - -message InstrumentationScope { - string name = 1; - map attributes = 2; - string version = 3; - string schemaUrl = 4; - Resource resource = 5; -} - -message Resource { - map attributes = 1; - string schemaUrl = 2; -} - -message SpanEvent { - string name = 1; - map attributes = 2; - uint64 timeUnixNano = 3; -} - -enum SpanKind { - UNSPECIFIED = 0; - INTERNAL = 1; - SERVER = 2; - CLIENT = 3; - PRODUCER = 4; - CONSUMER = 5; -} - -message SpanLink { - bytes spanId = 1; - map attributes = 2; - uint32 flags = 3; - bytes traceId = 4; - string traceState = 5; -} - -message SpanStatus { - SpanStatusCode code = 1; - optional string message = 2; -} - -enum SpanStatusCode { - UNSET = 0; - OK = 1; - ERROR = 2; -} - -// AnyValue is used to represent any type of attribute value. AnyValue may contain a -// primitive value such as a string or integer or it may contain an arbitrary nested -// object containing arrays, key-value lists and primitives. -message AnyValue { - // The value is one of the listed fields. It is valid for all values to be unspecified - // in which case this AnyValue is considered to be "empty". - oneof value { - string string_value = 1; - bool bool_value = 2; - int64 int_value = 3; - double double_value = 5; - ArrayValue array_value = 6; - bytes bytes_value = 7; - } -} - -// ArrayValue is a list of AnyValue messages. We need ArrayValue as a message -// since oneof in AnyValue does not allow repeated fields. -message ArrayValue { - // Array of values. The array may be empty (contain 0 elements). - repeated AnyValue values = 1; -} \ No newline at end of file diff --git a/proto/spans/v1/span_query_response.proto b/proto/spans/v1/span_query_response.proto deleted file mode 100644 index 2de00eb..0000000 --- a/proto/spans/v1/span_query_response.proto +++ /dev/null @@ -1,15 +0,0 @@ -syntax = "proto3"; - -package odddotnet.proto.spans.v1; - -option csharp_namespace = "OddDotNet.Proto.Spans.V1"; -option java_multiple_files = true; -option java_package = "com.odddotnet.proto.spans.v1"; -option java_outer_classname = "SpansProto"; -option go_package = "go.odddotnet.com/proto/otlp/spans/v1"; - -import "proto/spans/v1/span.proto"; - -message SpanQueryResponse { - repeated Span spans = 1; -} \ No newline at end of file diff --git a/proto/spans/v1/span_query_service.proto b/proto/spans/v1/span_query_service.proto deleted file mode 100644 index 3228d7d..0000000 --- a/proto/spans/v1/span_query_service.proto +++ /dev/null @@ -1,19 +0,0 @@ -syntax = "proto3"; - -package odddotnet.proto.spans.v1; - -option csharp_namespace = "OddDotNet.Proto.Spans.V1"; -option java_multiple_files = true; -option java_package = "com.odddotnet.proto.spans.v1"; -option java_outer_classname = "SpansProto"; -option go_package = "go.odddotnet.com/proto/otlp/spans/v1"; - -import "proto/spans/v1/span_query_request.proto"; -import "proto/spans/v1/span_query_response.proto"; -import "proto/spans/v1/span_reset_request.proto"; -import "proto/spans/v1/span_reset_response.proto"; - -service SpanQueryService { - rpc Query(SpanQueryRequest) returns (SpanQueryResponse); - rpc Reset(SpanResetRequest) returns (SpanResetResponse); -} \ No newline at end of file diff --git a/proto/spans/v1/span_reset_request.proto b/proto/spans/v1/span_reset_request.proto deleted file mode 100644 index 52faf87..0000000 --- a/proto/spans/v1/span_reset_request.proto +++ /dev/null @@ -1,11 +0,0 @@ -syntax = "proto3"; - -package odddotnet.proto.spans.v1; - -option csharp_namespace = "OddDotNet.Proto.Spans.V1"; -option java_multiple_files = true; -option java_package = "com.odddotnet.proto.spans.v1"; -option java_outer_classname = "SpansProto"; -option go_package = "go.odddotnet.com/proto/otlp/spans/v1"; - -message SpanResetRequest{} \ No newline at end of file diff --git a/proto/spans/v1/span_reset_response.proto b/proto/spans/v1/span_reset_response.proto deleted file mode 100644 index 2692c67..0000000 --- a/proto/spans/v1/span_reset_response.proto +++ /dev/null @@ -1,11 +0,0 @@ -syntax = "proto3"; - -package odddotnet.proto.spans.v1; - -option csharp_namespace = "OddDotNet.Proto.Spans.V1"; -option java_multiple_files = true; -option java_package = "com.odddotnet.proto.spans.v1"; -option java_outer_classname = "SpansProto"; -option go_package = "go.odddotnet.com/proto/otlp/spans/v1"; - -message SpanResetResponse{} \ No newline at end of file diff --git a/submodules b/submodules new file mode 160000 index 0000000..a76fe9d --- /dev/null +++ b/submodules @@ -0,0 +1 @@ +Subproject commit a76fe9dea26871e8a6c494024bc9927fe73b8142