diff --git a/apps/opentelemetry_api/include/opentelemetry.hrl b/apps/opentelemetry_api/include/opentelemetry.hrl index cd005852..57cacd31 100644 --- a/apps/opentelemetry_api/include/opentelemetry.hrl +++ b/apps/opentelemetry_api/include/opentelemetry.hrl @@ -75,20 +75,6 @@ message :: unicode:unicode_binary() }). +-define(OTEL_STATUS_UNSET, 'Unset'). -define(OTEL_STATUS_OK, 'Ok'). --define(OTEL_STATUS_CANCELLED, 'Cancelled'). --define(OTEL_STATUS_UNKNOWN, 'UnknownError'). --define(OTEL_STATUS_INVALID_ARGUMENT, 'InvalidArgument'). --define(OTEL_STATUS_DEADLINE_EXCEEDED, 'DeadlineExceeded'). --define(OTEL_STATUS_NOT_FOUND, 'NotFound'). --define(OTEL_STATUS_ALREADY_EXISTS , 'AlreadyExists'). --define(OTEL_STATUS_PERMISSION_DENIED, 'PermissionDenied'). --define(OTEL_STATUS_RESOURCE_EXHAUSTED, 'ResourceExhausted'). --define(OTEL_STATUS_FAILED_PRECONDITION, 'FailedPrecondition'). --define(OTEL_STATUS_ABORTED, 'Aborted'). --define(OTEL_STATUS_OUT_OF_RANGE, 'OutOfRange'). --define(OTEL_STATUS_UNIMPLEMENTED, 'Unimplemented'). --define(OTEL_STATUS_INTERNAL, 'InternalError'). --define(OTEL_STATUS_UNAVAILABLE, 'Unavailable'). --define(OTEL_STATUS_DATA_LOSS, 'DataLoss'). --define(OTEL_STATUS_UNAUTHENTICATED, 'Unauthenticated'). +-define(OTEL_STATUS_ERROR, 'Error'). diff --git a/apps/opentelemetry_api/src/opentelemetry.erl b/apps/opentelemetry_api/src/opentelemetry.erl index f7298493..54570169 100644 --- a/apps/opentelemetry_api/src/opentelemetry.erl +++ b/apps/opentelemetry_api/src/opentelemetry.erl @@ -81,6 +81,7 @@ event_name/0, tracestate/0, status/0, + status_code/0, resource/0, text_map/0]). @@ -114,6 +115,7 @@ -type link() :: #link{}. -type links() :: [#link{}]. -type status() :: #status{}. +-type status_code() :: ?OTEL_STATUS_UNSET | ?OTEL_STATUS_OK | ?OTEL_STATUS_ERROR. %% The key must begin with a lowercase letter, and can only contain %% lowercase letters 'a'-'z', digits '0'-'9', underscores '_', dashes @@ -324,7 +326,7 @@ events(List) -> end, List). -spec status(Code, Message) -> status() | undefined when - Code :: atom(), + Code :: status_code(), Message :: unicode:unicode_binary(). status(Code, Message) when is_atom(Code), is_binary(Message) -> diff --git a/apps/opentelemetry_api/src/otel_http_status.erl b/apps/opentelemetry_api/src/otel_http_status.erl deleted file mode 100644 index ff9b05d1..00000000 --- a/apps/opentelemetry_api/src/otel_http_status.erl +++ /dev/null @@ -1,106 +0,0 @@ -%%%------------------------------------------------------------------------ -%% Copyright 2019, OpenTelemetry Authors -%% Licensed under the Apache License, Version 2.0 (the "License"); -%% you may not use this file except in compliance with the License. -%% You may obtain a copy of the License at -%% -%% http://www.apache.org/licenses/LICENSE-2.0 -%% -%% Unless required by applicable law or agreed to in writing, software -%% distributed under the License is distributed on an "AS IS" BASIS, -%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -%% See the License for the specific language governing permissions and -%% limitations under the License. -%% -%% @doc -%% HTTP Status helper module. Provides functions to working with HTTP status -%% codes to status records. -%% @end -%%%------------------------------------------------------------------------- --module(otel_http_status). - --export([to_status/1, - to_status/2]). - --include("opentelemetry.hrl"). - --type http_status_code() :: 1..599. - --callback to_status(http_status_code()) -> opentelemetry:status(). --callback to_status(http_status_code(), unicode:unicode_binary()) -> opentelemetry:status(). - --spec to_status(HttpStatusCode) -> opentelemetry:status() when - HttpStatusCode :: http_status_code(). -to_status(HttpStatusCode) -> - to_status(HttpStatusCode, <<"">>). - --spec to_status(HttpStatusCode, Message) -> opentelemetry:status() when - HttpStatusCode :: http_status_code(), - Message :: unicode:unicode_binary(). -to_status(HttpStatusCode, Message) -> - Status = - case HttpStatusCode of - Code when Code >= 100 andalso Code < 300 -> - opentelemetry:status(?OTEL_STATUS_OK, Message); - Code when Code >= 300 andalso Code < 400 -> - opentelemetry:status(?OTEL_STATUS_OK, Message); - 401 -> - opentelemetry:status(?OTEL_STATUS_UNAUTHENTICATED, Message); - 403 -> - opentelemetry:status(?OTEL_STATUS_PERMISSION_DENIED, Message); - 404 -> - opentelemetry:status(?OTEL_STATUS_NOT_FOUND, Message); - 412 -> - opentelemetry:status(?OTEL_STATUS_FAILED_PRECONDITION, Message); - 416 -> - opentelemetry:status(?OTEL_STATUS_OUT_OF_RANGE, Message); - 429 -> - opentelemetry:status(?OTEL_STATUS_RESOURCE_EXHAUSTED, Message); - Code when Code >= 400 andalso Code < 500 -> - opentelemetry:status(?OTEL_STATUS_INVALID_ARGUMENT, Message); - 501 -> - opentelemetry:status(?OTEL_STATUS_UNIMPLEMENTED, Message); - 503 -> - opentelemetry:status(?OTEL_STATUS_UNAVAILABLE, Message); - 504 -> - opentelemetry:status(?OTEL_STATUS_DEADLINE_EXCEEDED, Message); - Code when Code >= 500 -> - opentelemetry:status(?OTEL_STATUS_INTERNAL, Message); - _ -> - opentelemetry:status(?OTEL_STATUS_UNKNOWN, Message) - end, - status_message(Status). - -status_message(#status{code = Code, message = <<"">>} = Status) -> - Message = - case Code of - ?OTEL_STATUS_OK -> - <<"Ok">>; - ?OTEL_STATUS_UNKNOWN -> - <<"Unknown Status">>; - ?OTEL_STATUS_INVALID_ARGUMENT -> - <<"Bad Argument">>; - ?OTEL_STATUS_DEADLINE_EXCEEDED -> - <<"Gateway Timeout">>; - ?OTEL_STATUS_NOT_FOUND -> - <<"Not Found">>; - ?OTEL_STATUS_PERMISSION_DENIED -> - <<"Forbidden">>; - ?OTEL_STATUS_RESOURCE_EXHAUSTED -> - <<"Too Many Requests">>; - ?OTEL_STATUS_FAILED_PRECONDITION -> - <<"Failed Precondition">>; - ?OTEL_STATUS_OUT_OF_RANGE -> - <<"Range Not Satisfiable">>; - ?OTEL_STATUS_UNIMPLEMENTED -> - <<"Not Implemented">>; - ?OTEL_STATUS_INTERNAL -> - <<"Internal Error">>; - ?OTEL_STATUS_UNAVAILABLE -> - <<"Service Unavailable">>; - ?OTEL_STATUS_UNAUTHENTICATED -> - <<"Unauthorized">> - end, - Status#status{message = Message}; -status_message(Status) -> - Status. diff --git a/apps/opentelemetry_api/src/otel_tracer_provider.erl b/apps/opentelemetry_api/src/otel_tracer_provider.erl index d74f6e2e..85f36724 100644 --- a/apps/opentelemetry_api/src/otel_tracer_provider.erl +++ b/apps/opentelemetry_api/src/otel_tracer_provider.erl @@ -50,7 +50,6 @@ resource() -> undefined end. - -spec register_tracer(atom(), string()) -> boolean(). register_tracer(Name, Vsn) -> try diff --git a/apps/opentelemetry_api/test/opentelemetry_api_SUITE.erl b/apps/opentelemetry_api/test/opentelemetry_api_SUITE.erl index 2e502efd..79b2f5d5 100644 --- a/apps/opentelemetry_api/test/opentelemetry_api_SUITE.erl +++ b/apps/opentelemetry_api/test/opentelemetry_api_SUITE.erl @@ -118,8 +118,8 @@ update_span_data(_Config) -> Events = opentelemetry:events([{opentelemetry:timestamp(), <<"timed-event-name">>, []}]), - Status = otel_http_status:to_status(200), - ?assertMatch(#status{code = ?OTEL_STATUS_OK, message = <<"Ok">>}, Status), + Status = opentelemetry:status(?OTEL_STATUS_OK, <<"This is Ok">>), + ?assertMatch(#status{code = ?OTEL_STATUS_OK, message = <<"This is Ok">>}, Status), otel_span:set_status(SpanCtx1, Status), otel_span:add_events(SpanCtx1, Events), diff --git a/apps/opentelemetry_exporter/opentelemetry-proto b/apps/opentelemetry_exporter/opentelemetry-proto index 313a868b..8ab21e9d 160000 --- a/apps/opentelemetry_exporter/opentelemetry-proto +++ b/apps/opentelemetry_exporter/opentelemetry-proto @@ -1 +1 @@ -Subproject commit 313a868be259dce6c6516dd417d3ad5fd3321acf +Subproject commit 8ab21e9da6246e465cd9d50d405561aedef31a1e diff --git a/apps/opentelemetry_exporter/src/opentelemetry_exporter.erl b/apps/opentelemetry_exporter/src/opentelemetry_exporter.erl index a4bb8071..bb9a3ba6 100644 --- a/apps/opentelemetry_exporter/src/opentelemetry_exporter.erl +++ b/apps/opentelemetry_exporter/src/opentelemetry_exporter.erl @@ -243,37 +243,9 @@ to_otlp_kind(_) -> 'SPAN_KIND_UNSPECIFIED'. -spec to_otlp_status(atom()) -> opentelemetry_exporter_trace_service_pb:'span.StatusCode'(). +to_otlp_status(?OTEL_STATUS_UNSET) -> + 'STATUS_CODE_UNSET'; to_otlp_status(?OTEL_STATUS_OK) -> 'STATUS_CODE_OK'; -to_otlp_status(?OTEL_STATUS_CANCELLED) -> - 'STATUS_CODE_CANCELLED'; -to_otlp_status(?OTEL_STATUS_UNKNOWN) -> - 'STATUS_CODE_UNKNOWN_ERROR'; -to_otlp_status(?OTEL_STATUS_INVALID_ARGUMENT) -> - 'STATUS_CODE_INVALID_ARGUMENT'; -to_otlp_status(?OTEL_STATUS_DEADLINE_EXCEEDED) -> - 'STATUS_CODE_DEADLINE_EXCEEDED'; -to_otlp_status(?OTEL_STATUS_NOT_FOUND) -> - 'STATUS_CODE_NOT_FOUND'; -to_otlp_status(?OTEL_STATUS_ALREADY_EXISTS) -> - 'STATUS_CODE_ALREADY_EXISTS'; -to_otlp_status(?OTEL_STATUS_PERMISSION_DENIED) -> - 'STATUS_CODE_PERMISSION_DENIED'; -to_otlp_status(?OTEL_STATUS_RESOURCE_EXHAUSTED) -> - 'STATUS_CODE_RESOURCE_EXHAUSTED'; -to_otlp_status(?OTEL_STATUS_FAILED_PRECONDITION) -> - 'STATUS_CODE_FAILED_PRECONDITION'; -to_otlp_status(?OTEL_STATUS_ABORTED) -> - 'STATUS_CODE_ABORTED'; -to_otlp_status(?OTEL_STATUS_OUT_OF_RANGE) -> - 'STATUS_CODE_OUT_OF_RANGE'; -to_otlp_status(?OTEL_STATUS_UNIMPLEMENTED) -> - 'STATUS_CODE_UNIMPLEMENTED'; -to_otlp_status(?OTEL_STATUS_INTERNAL) -> - 'STATUS_CODE_INTERNAL_ERROR'; -to_otlp_status(?OTEL_STATUS_UNAVAILABLE) -> - 'STATUS_CODE_UNAVAILABLE'; -to_otlp_status(?OTEL_STATUS_DATA_LOSS) -> - 'STATUS_CODE_DATA_LOSS'; -to_otlp_status(?OTEL_STATUS_UNAUTHENTICATED) -> - 'STATUS_CODE_UNAUTHENTICATED'. +to_otlp_status(?OTEL_STATUS_ERROR) -> + 'STATUS_CODE_ERROR'. diff --git a/apps/opentelemetry_exporter/src/opentelemetry_exporter_trace_service_pb.erl b/apps/opentelemetry_exporter/src/opentelemetry_exporter_trace_service_pb.erl index 2e0d55f9..b00bfba0 100644 --- a/apps/opentelemetry_exporter/src/opentelemetry_exporter_trace_service_pb.erl +++ b/apps/opentelemetry_exporter/src/opentelemetry_exporter_trace_service_pb.erl @@ -1,7 +1,7 @@ %% -*- coding: utf-8 -*- %% @private %% Automatically generated, do not edit -%% Generated by gpb_compile version 4.14.1 +%% Generated by gpb_compile version 4.14.2 -module(opentelemetry_exporter_trace_service_pb). -export([encode_msg/2, encode_msg/3]). @@ -17,6 +17,7 @@ -export([find_enum_def/1, fetch_enum_def/1]). -export([enum_symbol_by_value/2, enum_value_by_symbol/2]). -export(['enum_symbol_by_value_span.SpanKind'/1, 'enum_value_by_symbol_span.SpanKind'/1]). +-export(['enum_symbol_by_value_status.DeprecatedStatusCode'/1, 'enum_value_by_symbol_status.DeprecatedStatusCode'/1]). -export(['enum_symbol_by_value_status.StatusCode'/1, 'enum_value_by_symbol_status.StatusCode'/1]). -export([get_service_names/0]). -export([get_service_def/1]). @@ -49,12 +50,13 @@ %% enumerated types -type 'span.SpanKind'() :: 'SPAN_KIND_UNSPECIFIED' | 'SPAN_KIND_INTERNAL' | 'SPAN_KIND_SERVER' | 'SPAN_KIND_CLIENT' | 'SPAN_KIND_PRODUCER' | 'SPAN_KIND_CONSUMER'. --type 'status.StatusCode'() :: 'STATUS_CODE_OK' | 'STATUS_CODE_CANCELLED' | 'STATUS_CODE_UNKNOWN_ERROR' | 'STATUS_CODE_INVALID_ARGUMENT' | 'STATUS_CODE_DEADLINE_EXCEEDED' | 'STATUS_CODE_NOT_FOUND' | 'STATUS_CODE_ALREADY_EXISTS' | 'STATUS_CODE_PERMISSION_DENIED' | 'STATUS_CODE_RESOURCE_EXHAUSTED' | 'STATUS_CODE_FAILED_PRECONDITION' | 'STATUS_CODE_ABORTED' | 'STATUS_CODE_OUT_OF_RANGE' | 'STATUS_CODE_UNIMPLEMENTED' | 'STATUS_CODE_INTERNAL_ERROR' | 'STATUS_CODE_UNAVAILABLE' | 'STATUS_CODE_DATA_LOSS' | 'STATUS_CODE_UNAUTHENTICATED'. --export_type(['span.SpanKind'/0, 'status.StatusCode'/0]). +-type 'status.DeprecatedStatusCode'() :: 'DEPRECATED_STATUS_CODE_OK' | 'DEPRECATED_STATUS_CODE_CANCELLED' | 'DEPRECATED_STATUS_CODE_UNKNOWN_ERROR' | 'DEPRECATED_STATUS_CODE_INVALID_ARGUMENT' | 'DEPRECATED_STATUS_CODE_DEADLINE_EXCEEDED' | 'DEPRECATED_STATUS_CODE_NOT_FOUND' | 'DEPRECATED_STATUS_CODE_ALREADY_EXISTS' | 'DEPRECATED_STATUS_CODE_PERMISSION_DENIED' | 'DEPRECATED_STATUS_CODE_RESOURCE_EXHAUSTED' | 'DEPRECATED_STATUS_CODE_FAILED_PRECONDITION' | 'DEPRECATED_STATUS_CODE_ABORTED' | 'DEPRECATED_STATUS_CODE_OUT_OF_RANGE' | 'DEPRECATED_STATUS_CODE_UNIMPLEMENTED' | 'DEPRECATED_STATUS_CODE_INTERNAL_ERROR' | 'DEPRECATED_STATUS_CODE_UNAVAILABLE' | 'DEPRECATED_STATUS_CODE_DATA_LOSS' | 'DEPRECATED_STATUS_CODE_UNAUTHENTICATED'. +-type 'status.StatusCode'() :: 'STATUS_CODE_UNSET' | 'STATUS_CODE_OK' | 'STATUS_CODE_ERROR'. +-export_type(['span.SpanKind'/0, 'status.DeprecatedStatusCode'/0, 'status.StatusCode'/0]). %% message types -type export_trace_service_request() :: - #{resource_spans => [resource_spans()] % = 1 + #{resource_spans => [resource_spans()] % = 1, (repeated) }. -type export_trace_service_response() :: @@ -62,51 +64,52 @@ }. -type resource_spans() :: - #{resource => resource(), % = 1 - instrumentation_library_spans => [instrumentation_library_spans()] % = 2 + #{resource => resource(), % = 1, (optional) + instrumentation_library_spans => [instrumentation_library_spans()] % = 2, (repeated) }. -type instrumentation_library_spans() :: - #{instrumentation_library => instrumentation_library(), % = 1 - spans => [span()] % = 2 + #{instrumentation_library => instrumentation_library(), % = 1, (optional) + spans => [span()] % = 2, (repeated) }. -type event() :: - #{time_unix_nano => non_neg_integer(), % = 1, 64 bits - name => iodata(), % = 2 - attributes => [key_value()], % = 3 - dropped_attributes_count => non_neg_integer() % = 4, 32 bits + #{time_unix_nano => non_neg_integer(), % = 1, optional: 64 bits + name => iodata(), % = 2, (optional) + attributes => [key_value()], % = 3, (repeated) + dropped_attributes_count => non_neg_integer() % = 4, optional: 32 bits }. -type link() :: - #{trace_id => iodata(), % = 1 - span_id => iodata(), % = 2 - trace_state => iodata(), % = 3 - attributes => [key_value()], % = 4 - dropped_attributes_count => non_neg_integer() % = 5, 32 bits + #{trace_id => iodata(), % = 1, (optional) + span_id => iodata(), % = 2, (optional) + trace_state => iodata(), % = 3, (optional) + attributes => [key_value()], % = 4, (repeated) + dropped_attributes_count => non_neg_integer() % = 5, optional: 32 bits }. -type span() :: - #{trace_id => iodata(), % = 1 - span_id => iodata(), % = 2 - trace_state => iodata(), % = 3 - parent_span_id => iodata(), % = 4 - name => iodata(), % = 5 - kind => 'SPAN_KIND_UNSPECIFIED' | 'SPAN_KIND_INTERNAL' | 'SPAN_KIND_SERVER' | 'SPAN_KIND_CLIENT' | 'SPAN_KIND_PRODUCER' | 'SPAN_KIND_CONSUMER' | integer(), % = 6, enum span.SpanKind - start_time_unix_nano => non_neg_integer(), % = 7, 64 bits - end_time_unix_nano => non_neg_integer(), % = 8, 64 bits - attributes => [key_value()], % = 9 - dropped_attributes_count => non_neg_integer(), % = 10, 32 bits - events => [event()], % = 11 - dropped_events_count => non_neg_integer(), % = 12, 32 bits - links => [link()], % = 13 - dropped_links_count => non_neg_integer(), % = 14, 32 bits - status => status() % = 15 + #{trace_id => iodata(), % = 1, (optional) + span_id => iodata(), % = 2, (optional) + trace_state => iodata(), % = 3, (optional) + parent_span_id => iodata(), % = 4, (optional) + name => iodata(), % = 5, (optional) + kind => 'SPAN_KIND_UNSPECIFIED' | 'SPAN_KIND_INTERNAL' | 'SPAN_KIND_SERVER' | 'SPAN_KIND_CLIENT' | 'SPAN_KIND_PRODUCER' | 'SPAN_KIND_CONSUMER' | integer(), % = 6, optional: enum span.SpanKind + start_time_unix_nano => non_neg_integer(), % = 7, optional: 64 bits + end_time_unix_nano => non_neg_integer(), % = 8, optional: 64 bits + attributes => [key_value()], % = 9, (repeated) + dropped_attributes_count => non_neg_integer(), % = 10, optional: 32 bits + events => [event()], % = 11, (repeated) + dropped_events_count => non_neg_integer(), % = 12, optional: 32 bits + links => [link()], % = 13, (repeated) + dropped_links_count => non_neg_integer(), % = 14, optional: 32 bits + status => status() % = 15, (optional) }. -type status() :: - #{code => 'STATUS_CODE_OK' | 'STATUS_CODE_CANCELLED' | 'STATUS_CODE_UNKNOWN_ERROR' | 'STATUS_CODE_INVALID_ARGUMENT' | 'STATUS_CODE_DEADLINE_EXCEEDED' | 'STATUS_CODE_NOT_FOUND' | 'STATUS_CODE_ALREADY_EXISTS' | 'STATUS_CODE_PERMISSION_DENIED' | 'STATUS_CODE_RESOURCE_EXHAUSTED' | 'STATUS_CODE_FAILED_PRECONDITION' | 'STATUS_CODE_ABORTED' | 'STATUS_CODE_OUT_OF_RANGE' | 'STATUS_CODE_UNIMPLEMENTED' | 'STATUS_CODE_INTERNAL_ERROR' | 'STATUS_CODE_UNAVAILABLE' | 'STATUS_CODE_DATA_LOSS' | 'STATUS_CODE_UNAUTHENTICATED' | integer(), % = 1, enum status.StatusCode - message => iodata() % = 2 + #{deprecated_code => 'DEPRECATED_STATUS_CODE_OK' | 'DEPRECATED_STATUS_CODE_CANCELLED' | 'DEPRECATED_STATUS_CODE_UNKNOWN_ERROR' | 'DEPRECATED_STATUS_CODE_INVALID_ARGUMENT' | 'DEPRECATED_STATUS_CODE_DEADLINE_EXCEEDED' | 'DEPRECATED_STATUS_CODE_NOT_FOUND' | 'DEPRECATED_STATUS_CODE_ALREADY_EXISTS' | 'DEPRECATED_STATUS_CODE_PERMISSION_DENIED' | 'DEPRECATED_STATUS_CODE_RESOURCE_EXHAUSTED' | 'DEPRECATED_STATUS_CODE_FAILED_PRECONDITION' | 'DEPRECATED_STATUS_CODE_ABORTED' | 'DEPRECATED_STATUS_CODE_OUT_OF_RANGE' | 'DEPRECATED_STATUS_CODE_UNIMPLEMENTED' | 'DEPRECATED_STATUS_CODE_INTERNAL_ERROR' | 'DEPRECATED_STATUS_CODE_UNAVAILABLE' | 'DEPRECATED_STATUS_CODE_DATA_LOSS' | 'DEPRECATED_STATUS_CODE_UNAUTHENTICATED' | integer(), % = 1, optional: enum status.DeprecatedStatusCode + message => iodata(), % = 2, (optional) + code => 'STATUS_CODE_UNSET' | 'STATUS_CODE_OK' | 'STATUS_CODE_ERROR' | integer() % = 3, optional: enum status.StatusCode }. -type any_value() :: @@ -114,31 +117,31 @@ }. -type array_value() :: - #{values => [any_value()] % = 1 + #{values => [any_value()] % = 1, (repeated) }. -type key_value_list() :: - #{values => [key_value()] % = 1 + #{values => [key_value()] % = 1, (repeated) }. -type key_value() :: - #{key => iodata(), % = 1 - value => any_value() % = 2 + #{key => iodata(), % = 1, (optional) + value => any_value() % = 2, (optional) }. -type string_key_value() :: - #{key => iodata(), % = 1 - value => iodata() % = 2 + #{key => iodata(), % = 1, (optional) + value => iodata() % = 2, (optional) }. -type instrumentation_library() :: - #{name => iodata(), % = 1 - version => iodata() % = 2 + #{name => iodata(), % = 1, (optional) + version => iodata() % = 2, (optional) }. -type resource() :: - #{attributes => [key_value()], % = 1 - dropped_attributes_count => non_neg_integer() % = 2, 32 bits + #{attributes => [key_value()], % = 1, (repeated) + dropped_attributes_count => non_neg_integer() % = 2, optional: 32 bits }. -export_type(['export_trace_service_request'/0, 'export_trace_service_response'/0, 'resource_spans'/0, 'instrumentation_library_spans'/0, 'event'/0, 'link'/0, 'span'/0, 'status'/0, 'any_value'/0, 'array_value'/0, 'key_value_list'/0, 'key_value'/0, 'string_key_value'/0, 'instrumentation_library'/0, 'resource'/0]). @@ -149,26 +152,26 @@ encode_msg(Msg, MsgName) when is_atom(MsgName) -> encode_msg(Msg, MsgName, []). -spec encode_msg(export_trace_service_request() | export_trace_service_response() | resource_spans() | instrumentation_library_spans() | event() | link() | span() | status() | any_value() | array_value() | key_value_list() | key_value() | string_key_value() | instrumentation_library() | resource(), atom(), list()) -> binary(). encode_msg(Msg, MsgName, Opts) -> case proplists:get_bool(verify, Opts) of - true -> verify_msg(Msg, MsgName, Opts); - false -> ok + true -> verify_msg(Msg, MsgName, Opts); + false -> ok end, TrUserData = proplists:get_value(user_data, Opts), case MsgName of - export_trace_service_request -> encode_msg_export_trace_service_request(id(Msg, TrUserData), TrUserData); - export_trace_service_response -> encode_msg_export_trace_service_response(id(Msg, TrUserData), TrUserData); - resource_spans -> encode_msg_resource_spans(id(Msg, TrUserData), TrUserData); - instrumentation_library_spans -> encode_msg_instrumentation_library_spans(id(Msg, TrUserData), TrUserData); - event -> encode_msg_event(id(Msg, TrUserData), TrUserData); - link -> encode_msg_link(id(Msg, TrUserData), TrUserData); - span -> encode_msg_span(id(Msg, TrUserData), TrUserData); - status -> encode_msg_status(id(Msg, TrUserData), TrUserData); - any_value -> encode_msg_any_value(id(Msg, TrUserData), TrUserData); - array_value -> encode_msg_array_value(id(Msg, TrUserData), TrUserData); - key_value_list -> encode_msg_key_value_list(id(Msg, TrUserData), TrUserData); - key_value -> encode_msg_key_value(id(Msg, TrUserData), TrUserData); - string_key_value -> encode_msg_string_key_value(id(Msg, TrUserData), TrUserData); - instrumentation_library -> encode_msg_instrumentation_library(id(Msg, TrUserData), TrUserData); - resource -> encode_msg_resource(id(Msg, TrUserData), TrUserData) + export_trace_service_request -> encode_msg_export_trace_service_request(id(Msg, TrUserData), TrUserData); + export_trace_service_response -> encode_msg_export_trace_service_response(id(Msg, TrUserData), TrUserData); + resource_spans -> encode_msg_resource_spans(id(Msg, TrUserData), TrUserData); + instrumentation_library_spans -> encode_msg_instrumentation_library_spans(id(Msg, TrUserData), TrUserData); + event -> encode_msg_event(id(Msg, TrUserData), TrUserData); + link -> encode_msg_link(id(Msg, TrUserData), TrUserData); + span -> encode_msg_span(id(Msg, TrUserData), TrUserData); + status -> encode_msg_status(id(Msg, TrUserData), TrUserData); + any_value -> encode_msg_any_value(id(Msg, TrUserData), TrUserData); + array_value -> encode_msg_array_value(id(Msg, TrUserData), TrUserData); + key_value_list -> encode_msg_key_value_list(id(Msg, TrUserData), TrUserData); + key_value -> encode_msg_key_value(id(Msg, TrUserData), TrUserData); + string_key_value -> encode_msg_string_key_value(id(Msg, TrUserData), TrUserData); + instrumentation_library -> encode_msg_instrumentation_library(id(Msg, TrUserData), TrUserData); + resource -> encode_msg_resource(id(Msg, TrUserData), TrUserData) end. @@ -177,12 +180,12 @@ encode_msg_export_trace_service_request(Msg, TrUserData) -> encode_msg_export_tr encode_msg_export_trace_service_request(#{} = M, Bin, TrUserData) -> case M of - #{resource_spans := F1} -> - TrF1 = id(F1, TrUserData), - if TrF1 == [] -> Bin; - true -> e_field_export_trace_service_request_resource_spans(TrF1, Bin, TrUserData) - end; - _ -> Bin + #{resource_spans := F1} -> + TrF1 = id(F1, TrUserData), + if TrF1 == [] -> Bin; + true -> e_field_export_trace_service_request_resource_spans(TrF1, Bin, TrUserData) + end; + _ -> Bin end. encode_msg_export_trace_service_response(_Msg, _TrUserData) -> <<>>. @@ -192,22 +195,22 @@ encode_msg_resource_spans(Msg, TrUserData) -> encode_msg_resource_spans(Msg, <<> encode_msg_resource_spans(#{} = M, Bin, TrUserData) -> B1 = case M of - #{resource := F1} -> - begin - TrF1 = id(F1, TrUserData), - if TrF1 =:= undefined -> Bin; - true -> e_mfield_resource_spans_resource(TrF1, <>, TrUserData) - end - end; - _ -> Bin - end, + #{resource := F1} -> + begin + TrF1 = id(F1, TrUserData), + if TrF1 =:= undefined -> Bin; + true -> e_mfield_resource_spans_resource(TrF1, <>, TrUserData) + end + end; + _ -> Bin + end, case M of - #{instrumentation_library_spans := F2} -> - TrF2 = id(F2, TrUserData), - if TrF2 == [] -> B1; - true -> e_field_resource_spans_instrumentation_library_spans(TrF2, B1, TrUserData) - end; - _ -> B1 + #{instrumentation_library_spans := F2} -> + TrF2 = id(F2, TrUserData), + if TrF2 == [] -> B1; + true -> e_field_resource_spans_instrumentation_library_spans(TrF2, B1, TrUserData) + end; + _ -> B1 end. encode_msg_instrumentation_library_spans(Msg, TrUserData) -> encode_msg_instrumentation_library_spans(Msg, <<>>, TrUserData). @@ -215,22 +218,22 @@ encode_msg_instrumentation_library_spans(Msg, TrUserData) -> encode_msg_instrume encode_msg_instrumentation_library_spans(#{} = M, Bin, TrUserData) -> B1 = case M of - #{instrumentation_library := F1} -> - begin - TrF1 = id(F1, TrUserData), - if TrF1 =:= undefined -> Bin; - true -> e_mfield_instrumentation_library_spans_instrumentation_library(TrF1, <>, TrUserData) - end - end; - _ -> Bin - end, + #{instrumentation_library := F1} -> + begin + TrF1 = id(F1, TrUserData), + if TrF1 =:= undefined -> Bin; + true -> e_mfield_instrumentation_library_spans_instrumentation_library(TrF1, <>, TrUserData) + end + end; + _ -> Bin + end, case M of - #{spans := F2} -> - TrF2 = id(F2, TrUserData), - if TrF2 == [] -> B1; - true -> e_field_instrumentation_library_spans_spans(TrF2, B1, TrUserData) - end; - _ -> B1 + #{spans := F2} -> + TrF2 = id(F2, TrUserData), + if TrF2 == [] -> B1; + true -> e_field_instrumentation_library_spans_spans(TrF2, B1, TrUserData) + end; + _ -> B1 end. encode_msg_event(Msg, TrUserData) -> encode_msg_event(Msg, <<>>, TrUserData). @@ -238,43 +241,43 @@ encode_msg_event(Msg, TrUserData) -> encode_msg_event(Msg, <<>>, TrUserData). encode_msg_event(#{} = M, Bin, TrUserData) -> B1 = case M of - #{time_unix_nano := F1} -> - begin - TrF1 = id(F1, TrUserData), - if TrF1 =:= 0 -> Bin; - true -> e_type_fixed64(TrF1, <>, TrUserData) - end - end; - _ -> Bin - end, + #{time_unix_nano := F1} -> + begin + TrF1 = id(F1, TrUserData), + if TrF1 =:= 0 -> Bin; + true -> e_type_fixed64(TrF1, <>, TrUserData) + end + end; + _ -> Bin + end, B2 = case M of - #{name := F2} -> - begin - TrF2 = id(F2, TrUserData), - case is_empty_string(TrF2) of - true -> B1; - false -> e_type_string(TrF2, <>, TrUserData) - end - end; - _ -> B1 - end, + #{name := F2} -> + begin + TrF2 = id(F2, TrUserData), + case is_empty_string(TrF2) of + true -> B1; + false -> e_type_string(TrF2, <>, TrUserData) + end + end; + _ -> B1 + end, B3 = case M of - #{attributes := F3} -> - TrF3 = id(F3, TrUserData), - if TrF3 == [] -> B2; - true -> e_field_event_attributes(TrF3, B2, TrUserData) - end; - _ -> B2 - end, + #{attributes := F3} -> + TrF3 = id(F3, TrUserData), + if TrF3 == [] -> B2; + true -> e_field_event_attributes(TrF3, B2, TrUserData) + end; + _ -> B2 + end, case M of - #{dropped_attributes_count := F4} -> - begin - TrF4 = id(F4, TrUserData), - if TrF4 =:= 0 -> B3; - true -> e_varint(TrF4, <>, TrUserData) - end - end; - _ -> B3 + #{dropped_attributes_count := F4} -> + begin + TrF4 = id(F4, TrUserData), + if TrF4 =:= 0 -> B3; + true -> e_varint(TrF4, <>, TrUserData) + end + end; + _ -> B3 end. encode_msg_link(Msg, TrUserData) -> encode_msg_link(Msg, <<>>, TrUserData). @@ -282,55 +285,55 @@ encode_msg_link(Msg, TrUserData) -> encode_msg_link(Msg, <<>>, TrUserData). encode_msg_link(#{} = M, Bin, TrUserData) -> B1 = case M of - #{trace_id := F1} -> - begin - TrF1 = id(F1, TrUserData), - case iolist_size(TrF1) of - 0 -> Bin; - _ -> e_type_bytes(TrF1, <>, TrUserData) - end - end; - _ -> Bin - end, + #{trace_id := F1} -> + begin + TrF1 = id(F1, TrUserData), + case iolist_size(TrF1) of + 0 -> Bin; + _ -> e_type_bytes(TrF1, <>, TrUserData) + end + end; + _ -> Bin + end, B2 = case M of - #{span_id := F2} -> - begin - TrF2 = id(F2, TrUserData), - case iolist_size(TrF2) of - 0 -> B1; - _ -> e_type_bytes(TrF2, <>, TrUserData) - end - end; - _ -> B1 - end, + #{span_id := F2} -> + begin + TrF2 = id(F2, TrUserData), + case iolist_size(TrF2) of + 0 -> B1; + _ -> e_type_bytes(TrF2, <>, TrUserData) + end + end; + _ -> B1 + end, B3 = case M of - #{trace_state := F3} -> - begin - TrF3 = id(F3, TrUserData), - case is_empty_string(TrF3) of - true -> B2; - false -> e_type_string(TrF3, <>, TrUserData) - end - end; - _ -> B2 - end, + #{trace_state := F3} -> + begin + TrF3 = id(F3, TrUserData), + case is_empty_string(TrF3) of + true -> B2; + false -> e_type_string(TrF3, <>, TrUserData) + end + end; + _ -> B2 + end, B4 = case M of - #{attributes := F4} -> - TrF4 = id(F4, TrUserData), - if TrF4 == [] -> B3; - true -> e_field_link_attributes(TrF4, B3, TrUserData) - end; - _ -> B3 - end, + #{attributes := F4} -> + TrF4 = id(F4, TrUserData), + if TrF4 == [] -> B3; + true -> e_field_link_attributes(TrF4, B3, TrUserData) + end; + _ -> B3 + end, case M of - #{dropped_attributes_count := F5} -> - begin - TrF5 = id(F5, TrUserData), - if TrF5 =:= 0 -> B4; - true -> e_varint(TrF5, <>, TrUserData) - end - end; - _ -> B4 + #{dropped_attributes_count := F5} -> + begin + TrF5 = id(F5, TrUserData), + if TrF5 =:= 0 -> B4; + true -> e_varint(TrF5, <>, TrUserData) + end + end; + _ -> B4 end. encode_msg_span(Msg, TrUserData) -> encode_msg_span(Msg, <<>>, TrUserData). @@ -338,153 +341,153 @@ encode_msg_span(Msg, TrUserData) -> encode_msg_span(Msg, <<>>, TrUserData). encode_msg_span(#{} = M, Bin, TrUserData) -> B1 = case M of - #{trace_id := F1} -> - begin - TrF1 = id(F1, TrUserData), - case iolist_size(TrF1) of - 0 -> Bin; - _ -> e_type_bytes(TrF1, <>, TrUserData) - end - end; - _ -> Bin - end, + #{trace_id := F1} -> + begin + TrF1 = id(F1, TrUserData), + case iolist_size(TrF1) of + 0 -> Bin; + _ -> e_type_bytes(TrF1, <>, TrUserData) + end + end; + _ -> Bin + end, B2 = case M of - #{span_id := F2} -> - begin - TrF2 = id(F2, TrUserData), - case iolist_size(TrF2) of - 0 -> B1; - _ -> e_type_bytes(TrF2, <>, TrUserData) - end - end; - _ -> B1 - end, + #{span_id := F2} -> + begin + TrF2 = id(F2, TrUserData), + case iolist_size(TrF2) of + 0 -> B1; + _ -> e_type_bytes(TrF2, <>, TrUserData) + end + end; + _ -> B1 + end, B3 = case M of - #{trace_state := F3} -> - begin - TrF3 = id(F3, TrUserData), - case is_empty_string(TrF3) of - true -> B2; - false -> e_type_string(TrF3, <>, TrUserData) - end - end; - _ -> B2 - end, + #{trace_state := F3} -> + begin + TrF3 = id(F3, TrUserData), + case is_empty_string(TrF3) of + true -> B2; + false -> e_type_string(TrF3, <>, TrUserData) + end + end; + _ -> B2 + end, B4 = case M of - #{parent_span_id := F4} -> - begin - TrF4 = id(F4, TrUserData), - case iolist_size(TrF4) of - 0 -> B3; - _ -> e_type_bytes(TrF4, <>, TrUserData) - end - end; - _ -> B3 - end, + #{parent_span_id := F4} -> + begin + TrF4 = id(F4, TrUserData), + case iolist_size(TrF4) of + 0 -> B3; + _ -> e_type_bytes(TrF4, <>, TrUserData) + end + end; + _ -> B3 + end, B5 = case M of - #{name := F5} -> - begin - TrF5 = id(F5, TrUserData), - case is_empty_string(TrF5) of - true -> B4; - false -> e_type_string(TrF5, <>, TrUserData) - end - end; - _ -> B4 - end, + #{name := F5} -> + begin + TrF5 = id(F5, TrUserData), + case is_empty_string(TrF5) of + true -> B4; + false -> e_type_string(TrF5, <>, TrUserData) + end + end; + _ -> B4 + end, B6 = case M of - #{kind := F6} -> - begin - TrF6 = id(F6, TrUserData), - if TrF6 =:= 'SPAN_KIND_UNSPECIFIED'; TrF6 =:= 0 -> B5; - true -> 'e_enum_span.SpanKind'(TrF6, <>, TrUserData) - end - end; - _ -> B5 - end, + #{kind := F6} -> + begin + TrF6 = id(F6, TrUserData), + if TrF6 =:= 'SPAN_KIND_UNSPECIFIED'; TrF6 =:= 0 -> B5; + true -> 'e_enum_span.SpanKind'(TrF6, <>, TrUserData) + end + end; + _ -> B5 + end, B7 = case M of - #{start_time_unix_nano := F7} -> - begin - TrF7 = id(F7, TrUserData), - if TrF7 =:= 0 -> B6; - true -> e_type_fixed64(TrF7, <>, TrUserData) - end - end; - _ -> B6 - end, + #{start_time_unix_nano := F7} -> + begin + TrF7 = id(F7, TrUserData), + if TrF7 =:= 0 -> B6; + true -> e_type_fixed64(TrF7, <>, TrUserData) + end + end; + _ -> B6 + end, B8 = case M of - #{end_time_unix_nano := F8} -> - begin - TrF8 = id(F8, TrUserData), - if TrF8 =:= 0 -> B7; - true -> e_type_fixed64(TrF8, <>, TrUserData) - end - end; - _ -> B7 - end, + #{end_time_unix_nano := F8} -> + begin + TrF8 = id(F8, TrUserData), + if TrF8 =:= 0 -> B7; + true -> e_type_fixed64(TrF8, <>, TrUserData) + end + end; + _ -> B7 + end, B9 = case M of - #{attributes := F9} -> - TrF9 = id(F9, TrUserData), - if TrF9 == [] -> B8; - true -> e_field_span_attributes(TrF9, B8, TrUserData) - end; - _ -> B8 - end, + #{attributes := F9} -> + TrF9 = id(F9, TrUserData), + if TrF9 == [] -> B8; + true -> e_field_span_attributes(TrF9, B8, TrUserData) + end; + _ -> B8 + end, B10 = case M of - #{dropped_attributes_count := F10} -> - begin - TrF10 = id(F10, TrUserData), - if TrF10 =:= 0 -> B9; - true -> e_varint(TrF10, <>, TrUserData) - end - end; - _ -> B9 - end, + #{dropped_attributes_count := F10} -> + begin + TrF10 = id(F10, TrUserData), + if TrF10 =:= 0 -> B9; + true -> e_varint(TrF10, <>, TrUserData) + end + end; + _ -> B9 + end, B11 = case M of - #{events := F11} -> - TrF11 = id(F11, TrUserData), - if TrF11 == [] -> B10; - true -> e_field_span_events(TrF11, B10, TrUserData) - end; - _ -> B10 - end, + #{events := F11} -> + TrF11 = id(F11, TrUserData), + if TrF11 == [] -> B10; + true -> e_field_span_events(TrF11, B10, TrUserData) + end; + _ -> B10 + end, B12 = case M of - #{dropped_events_count := F12} -> - begin - TrF12 = id(F12, TrUserData), - if TrF12 =:= 0 -> B11; - true -> e_varint(TrF12, <>, TrUserData) - end - end; - _ -> B11 - end, + #{dropped_events_count := F12} -> + begin + TrF12 = id(F12, TrUserData), + if TrF12 =:= 0 -> B11; + true -> e_varint(TrF12, <>, TrUserData) + end + end; + _ -> B11 + end, B13 = case M of - #{links := F13} -> - TrF13 = id(F13, TrUserData), - if TrF13 == [] -> B12; - true -> e_field_span_links(TrF13, B12, TrUserData) - end; - _ -> B12 - end, + #{links := F13} -> + TrF13 = id(F13, TrUserData), + if TrF13 == [] -> B12; + true -> e_field_span_links(TrF13, B12, TrUserData) + end; + _ -> B12 + end, B14 = case M of - #{dropped_links_count := F14} -> - begin - TrF14 = id(F14, TrUserData), - if TrF14 =:= 0 -> B13; - true -> e_varint(TrF14, <>, TrUserData) - end - end; - _ -> B13 - end, + #{dropped_links_count := F14} -> + begin + TrF14 = id(F14, TrUserData), + if TrF14 =:= 0 -> B13; + true -> e_varint(TrF14, <>, TrUserData) + end + end; + _ -> B13 + end, case M of - #{status := F15} -> - begin - TrF15 = id(F15, TrUserData), - if TrF15 =:= undefined -> B14; - true -> e_mfield_span_status(TrF15, <>, TrUserData) - end - end; - _ -> B14 + #{status := F15} -> + begin + TrF15 = id(F15, TrUserData), + if TrF15 =:= undefined -> B14; + true -> e_mfield_span_status(TrF15, <>, TrUserData) + end + end; + _ -> B14 end. encode_msg_status(Msg, TrUserData) -> encode_msg_status(Msg, <<>>, TrUserData). @@ -492,25 +495,35 @@ encode_msg_status(Msg, TrUserData) -> encode_msg_status(Msg, <<>>, TrUserData). encode_msg_status(#{} = M, Bin, TrUserData) -> B1 = case M of - #{code := F1} -> - begin - TrF1 = id(F1, TrUserData), - if TrF1 =:= 'STATUS_CODE_OK'; TrF1 =:= 0 -> Bin; - true -> 'e_enum_status.StatusCode'(TrF1, <>, TrUserData) - end - end; - _ -> Bin - end, + #{deprecated_code := F1} -> + begin + TrF1 = id(F1, TrUserData), + if TrF1 =:= 'DEPRECATED_STATUS_CODE_OK'; TrF1 =:= 0 -> Bin; + true -> 'e_enum_status.DeprecatedStatusCode'(TrF1, <>, TrUserData) + end + end; + _ -> Bin + end, + B2 = case M of + #{message := F2} -> + begin + TrF2 = id(F2, TrUserData), + case is_empty_string(TrF2) of + true -> B1; + false -> e_type_string(TrF2, <>, TrUserData) + end + end; + _ -> B1 + end, case M of - #{message := F2} -> - begin - TrF2 = id(F2, TrUserData), - case is_empty_string(TrF2) of - true -> B1; - false -> e_type_string(TrF2, <>, TrUserData) - end - end; - _ -> B1 + #{code := F3} -> + begin + TrF3 = id(F3, TrUserData), + if TrF3 =:= 'STATUS_CODE_UNSET'; TrF3 =:= 0 -> B2; + true -> 'e_enum_status.StatusCode'(TrF3, <>, TrUserData) + end + end; + _ -> B2 end. encode_msg_any_value(Msg, TrUserData) -> encode_msg_any_value(Msg, <<>>, TrUserData). @@ -518,16 +531,16 @@ encode_msg_any_value(Msg, TrUserData) -> encode_msg_any_value(Msg, <<>>, TrUserD encode_msg_any_value(#{} = M, Bin, TrUserData) -> case M of - #{value := F1} -> - case id(F1, TrUserData) of - {string_value, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_type_string(TrTF1, <>, TrUserData) end; - {bool_value, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_type_bool(TrTF1, <>, TrUserData) end; - {int_value, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_type_int64(TrTF1, <>, TrUserData) end; - {double_value, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_type_double(TrTF1, <>, TrUserData) end; - {array_value, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_mfield_any_value_array_value(TrTF1, <>, TrUserData) end; - {kvlist_value, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_mfield_any_value_kvlist_value(TrTF1, <>, TrUserData) end - end; - _ -> Bin + #{value := F1} -> + case id(F1, TrUserData) of + {string_value, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_type_string(TrTF1, <>, TrUserData) end; + {bool_value, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_type_bool(TrTF1, <>, TrUserData) end; + {int_value, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_type_int64(TrTF1, <>, TrUserData) end; + {double_value, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_type_double(TrTF1, <>, TrUserData) end; + {array_value, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_mfield_any_value_array_value(TrTF1, <>, TrUserData) end; + {kvlist_value, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_mfield_any_value_kvlist_value(TrTF1, <>, TrUserData) end + end; + _ -> Bin end. encode_msg_array_value(Msg, TrUserData) -> encode_msg_array_value(Msg, <<>>, TrUserData). @@ -535,12 +548,12 @@ encode_msg_array_value(Msg, TrUserData) -> encode_msg_array_value(Msg, <<>>, TrU encode_msg_array_value(#{} = M, Bin, TrUserData) -> case M of - #{values := F1} -> - TrF1 = id(F1, TrUserData), - if TrF1 == [] -> Bin; - true -> e_field_array_value_values(TrF1, Bin, TrUserData) - end; - _ -> Bin + #{values := F1} -> + TrF1 = id(F1, TrUserData), + if TrF1 == [] -> Bin; + true -> e_field_array_value_values(TrF1, Bin, TrUserData) + end; + _ -> Bin end. encode_msg_key_value_list(Msg, TrUserData) -> encode_msg_key_value_list(Msg, <<>>, TrUserData). @@ -548,12 +561,12 @@ encode_msg_key_value_list(Msg, TrUserData) -> encode_msg_key_value_list(Msg, <<> encode_msg_key_value_list(#{} = M, Bin, TrUserData) -> case M of - #{values := F1} -> - TrF1 = id(F1, TrUserData), - if TrF1 == [] -> Bin; - true -> e_field_key_value_list_values(TrF1, Bin, TrUserData) - end; - _ -> Bin + #{values := F1} -> + TrF1 = id(F1, TrUserData), + if TrF1 == [] -> Bin; + true -> e_field_key_value_list_values(TrF1, Bin, TrUserData) + end; + _ -> Bin end. encode_msg_key_value(Msg, TrUserData) -> encode_msg_key_value(Msg, <<>>, TrUserData). @@ -561,25 +574,25 @@ encode_msg_key_value(Msg, TrUserData) -> encode_msg_key_value(Msg, <<>>, TrUserD encode_msg_key_value(#{} = M, Bin, TrUserData) -> B1 = case M of - #{key := F1} -> - begin - TrF1 = id(F1, TrUserData), - case is_empty_string(TrF1) of - true -> Bin; - false -> e_type_string(TrF1, <>, TrUserData) - end - end; - _ -> Bin - end, + #{key := F1} -> + begin + TrF1 = id(F1, TrUserData), + case is_empty_string(TrF1) of + true -> Bin; + false -> e_type_string(TrF1, <>, TrUserData) + end + end; + _ -> Bin + end, case M of - #{value := F2} -> - begin - TrF2 = id(F2, TrUserData), - if TrF2 =:= undefined -> B1; - true -> e_mfield_key_value_value(TrF2, <>, TrUserData) - end - end; - _ -> B1 + #{value := F2} -> + begin + TrF2 = id(F2, TrUserData), + if TrF2 =:= undefined -> B1; + true -> e_mfield_key_value_value(TrF2, <>, TrUserData) + end + end; + _ -> B1 end. encode_msg_string_key_value(Msg, TrUserData) -> encode_msg_string_key_value(Msg, <<>>, TrUserData). @@ -587,26 +600,26 @@ encode_msg_string_key_value(Msg, TrUserData) -> encode_msg_string_key_value(Msg, encode_msg_string_key_value(#{} = M, Bin, TrUserData) -> B1 = case M of - #{key := F1} -> - begin - TrF1 = id(F1, TrUserData), - case is_empty_string(TrF1) of - true -> Bin; - false -> e_type_string(TrF1, <>, TrUserData) - end - end; - _ -> Bin - end, + #{key := F1} -> + begin + TrF1 = id(F1, TrUserData), + case is_empty_string(TrF1) of + true -> Bin; + false -> e_type_string(TrF1, <>, TrUserData) + end + end; + _ -> Bin + end, case M of - #{value := F2} -> - begin - TrF2 = id(F2, TrUserData), - case is_empty_string(TrF2) of - true -> B1; - false -> e_type_string(TrF2, <>, TrUserData) - end - end; - _ -> B1 + #{value := F2} -> + begin + TrF2 = id(F2, TrUserData), + case is_empty_string(TrF2) of + true -> B1; + false -> e_type_string(TrF2, <>, TrUserData) + end + end; + _ -> B1 end. encode_msg_instrumentation_library(Msg, TrUserData) -> encode_msg_instrumentation_library(Msg, <<>>, TrUserData). @@ -614,26 +627,26 @@ encode_msg_instrumentation_library(Msg, TrUserData) -> encode_msg_instrumentatio encode_msg_instrumentation_library(#{} = M, Bin, TrUserData) -> B1 = case M of - #{name := F1} -> - begin - TrF1 = id(F1, TrUserData), - case is_empty_string(TrF1) of - true -> Bin; - false -> e_type_string(TrF1, <>, TrUserData) - end - end; - _ -> Bin - end, + #{name := F1} -> + begin + TrF1 = id(F1, TrUserData), + case is_empty_string(TrF1) of + true -> Bin; + false -> e_type_string(TrF1, <>, TrUserData) + end + end; + _ -> Bin + end, case M of - #{version := F2} -> - begin - TrF2 = id(F2, TrUserData), - case is_empty_string(TrF2) of - true -> B1; - false -> e_type_string(TrF2, <>, TrUserData) - end - end; - _ -> B1 + #{version := F2} -> + begin + TrF2 = id(F2, TrUserData), + case is_empty_string(TrF2) of + true -> B1; + false -> e_type_string(TrF2, <>, TrUserData) + end + end; + _ -> B1 end. encode_msg_resource(Msg, TrUserData) -> encode_msg_resource(Msg, <<>>, TrUserData). @@ -641,92 +654,173 @@ encode_msg_resource(Msg, TrUserData) -> encode_msg_resource(Msg, <<>>, TrUserDat encode_msg_resource(#{} = M, Bin, TrUserData) -> B1 = case M of - #{attributes := F1} -> - TrF1 = id(F1, TrUserData), - if TrF1 == [] -> Bin; - true -> e_field_resource_attributes(TrF1, Bin, TrUserData) - end; - _ -> Bin - end, + #{attributes := F1} -> + TrF1 = id(F1, TrUserData), + if TrF1 == [] -> Bin; + true -> e_field_resource_attributes(TrF1, Bin, TrUserData) + end; + _ -> Bin + end, case M of - #{dropped_attributes_count := F2} -> - begin - TrF2 = id(F2, TrUserData), - if TrF2 =:= 0 -> B1; - true -> e_varint(TrF2, <>, TrUserData) - end - end; - _ -> B1 + #{dropped_attributes_count := F2} -> + begin + TrF2 = id(F2, TrUserData), + if TrF2 =:= 0 -> B1; + true -> e_varint(TrF2, <>, TrUserData) + end + end; + _ -> B1 end. -e_mfield_export_trace_service_request_resource_spans(Msg, Bin, TrUserData) -> SubBin = encode_msg_resource_spans(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_export_trace_service_request_resource_spans(Msg, Bin, TrUserData) -> + SubBin = encode_msg_resource_spans(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. e_field_export_trace_service_request_resource_spans([Elem | Rest], Bin, TrUserData) -> - Bin2 = <>, Bin3 = e_mfield_export_trace_service_request_resource_spans(id(Elem, TrUserData), Bin2, TrUserData), e_field_export_trace_service_request_resource_spans(Rest, Bin3, TrUserData); + Bin2 = <>, + Bin3 = e_mfield_export_trace_service_request_resource_spans(id(Elem, TrUserData), Bin2, TrUserData), + e_field_export_trace_service_request_resource_spans(Rest, Bin3, TrUserData); e_field_export_trace_service_request_resource_spans([], Bin, _TrUserData) -> Bin. -e_mfield_resource_spans_resource(Msg, Bin, TrUserData) -> SubBin = encode_msg_resource(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_resource_spans_resource(Msg, Bin, TrUserData) -> + SubBin = encode_msg_resource(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. -e_mfield_resource_spans_instrumentation_library_spans(Msg, Bin, TrUserData) -> SubBin = encode_msg_instrumentation_library_spans(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_resource_spans_instrumentation_library_spans(Msg, Bin, TrUserData) -> + SubBin = encode_msg_instrumentation_library_spans(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. e_field_resource_spans_instrumentation_library_spans([Elem | Rest], Bin, TrUserData) -> - Bin2 = <>, Bin3 = e_mfield_resource_spans_instrumentation_library_spans(id(Elem, TrUserData), Bin2, TrUserData), e_field_resource_spans_instrumentation_library_spans(Rest, Bin3, TrUserData); + Bin2 = <>, + Bin3 = e_mfield_resource_spans_instrumentation_library_spans(id(Elem, TrUserData), Bin2, TrUserData), + e_field_resource_spans_instrumentation_library_spans(Rest, Bin3, TrUserData); e_field_resource_spans_instrumentation_library_spans([], Bin, _TrUserData) -> Bin. -e_mfield_instrumentation_library_spans_instrumentation_library(Msg, Bin, TrUserData) -> SubBin = encode_msg_instrumentation_library(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_instrumentation_library_spans_instrumentation_library(Msg, Bin, TrUserData) -> + SubBin = encode_msg_instrumentation_library(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. -e_mfield_instrumentation_library_spans_spans(Msg, Bin, TrUserData) -> SubBin = encode_msg_span(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_instrumentation_library_spans_spans(Msg, Bin, TrUserData) -> + SubBin = encode_msg_span(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. e_field_instrumentation_library_spans_spans([Elem | Rest], Bin, TrUserData) -> - Bin2 = <>, Bin3 = e_mfield_instrumentation_library_spans_spans(id(Elem, TrUserData), Bin2, TrUserData), e_field_instrumentation_library_spans_spans(Rest, Bin3, TrUserData); + Bin2 = <>, + Bin3 = e_mfield_instrumentation_library_spans_spans(id(Elem, TrUserData), Bin2, TrUserData), + e_field_instrumentation_library_spans_spans(Rest, Bin3, TrUserData); e_field_instrumentation_library_spans_spans([], Bin, _TrUserData) -> Bin. -e_mfield_event_attributes(Msg, Bin, TrUserData) -> SubBin = encode_msg_key_value(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_event_attributes(Msg, Bin, TrUserData) -> + SubBin = encode_msg_key_value(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. -e_field_event_attributes([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, Bin3 = e_mfield_event_attributes(id(Elem, TrUserData), Bin2, TrUserData), e_field_event_attributes(Rest, Bin3, TrUserData); +e_field_event_attributes([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_event_attributes(id(Elem, TrUserData), Bin2, TrUserData), + e_field_event_attributes(Rest, Bin3, TrUserData); e_field_event_attributes([], Bin, _TrUserData) -> Bin. -e_mfield_link_attributes(Msg, Bin, TrUserData) -> SubBin = encode_msg_key_value(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_link_attributes(Msg, Bin, TrUserData) -> + SubBin = encode_msg_key_value(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. -e_field_link_attributes([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, Bin3 = e_mfield_link_attributes(id(Elem, TrUserData), Bin2, TrUserData), e_field_link_attributes(Rest, Bin3, TrUserData); +e_field_link_attributes([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_link_attributes(id(Elem, TrUserData), Bin2, TrUserData), + e_field_link_attributes(Rest, Bin3, TrUserData); e_field_link_attributes([], Bin, _TrUserData) -> Bin. -e_mfield_span_attributes(Msg, Bin, TrUserData) -> SubBin = encode_msg_key_value(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_span_attributes(Msg, Bin, TrUserData) -> + SubBin = encode_msg_key_value(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. -e_field_span_attributes([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, Bin3 = e_mfield_span_attributes(id(Elem, TrUserData), Bin2, TrUserData), e_field_span_attributes(Rest, Bin3, TrUserData); +e_field_span_attributes([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_span_attributes(id(Elem, TrUserData), Bin2, TrUserData), + e_field_span_attributes(Rest, Bin3, TrUserData); e_field_span_attributes([], Bin, _TrUserData) -> Bin. -e_mfield_span_events(Msg, Bin, TrUserData) -> SubBin = encode_msg_event(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_span_events(Msg, Bin, TrUserData) -> + SubBin = encode_msg_event(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. -e_field_span_events([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, Bin3 = e_mfield_span_events(id(Elem, TrUserData), Bin2, TrUserData), e_field_span_events(Rest, Bin3, TrUserData); +e_field_span_events([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_span_events(id(Elem, TrUserData), Bin2, TrUserData), + e_field_span_events(Rest, Bin3, TrUserData); e_field_span_events([], Bin, _TrUserData) -> Bin. -e_mfield_span_links(Msg, Bin, TrUserData) -> SubBin = encode_msg_link(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_span_links(Msg, Bin, TrUserData) -> + SubBin = encode_msg_link(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. -e_field_span_links([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, Bin3 = e_mfield_span_links(id(Elem, TrUserData), Bin2, TrUserData), e_field_span_links(Rest, Bin3, TrUserData); +e_field_span_links([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_span_links(id(Elem, TrUserData), Bin2, TrUserData), + e_field_span_links(Rest, Bin3, TrUserData); e_field_span_links([], Bin, _TrUserData) -> Bin. -e_mfield_span_status(Msg, Bin, TrUserData) -> SubBin = encode_msg_status(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. - -e_mfield_any_value_array_value(Msg, Bin, TrUserData) -> SubBin = encode_msg_array_value(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. - -e_mfield_any_value_kvlist_value(Msg, Bin, TrUserData) -> SubBin = encode_msg_key_value_list(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. - -e_mfield_array_value_values(Msg, Bin, TrUserData) -> SubBin = encode_msg_any_value(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. - -e_field_array_value_values([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, Bin3 = e_mfield_array_value_values(id(Elem, TrUserData), Bin2, TrUserData), e_field_array_value_values(Rest, Bin3, TrUserData); +e_mfield_span_status(Msg, Bin, TrUserData) -> + SubBin = encode_msg_status(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. + +e_mfield_any_value_array_value(Msg, Bin, TrUserData) -> + SubBin = encode_msg_array_value(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. + +e_mfield_any_value_kvlist_value(Msg, Bin, TrUserData) -> + SubBin = encode_msg_key_value_list(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. + +e_mfield_array_value_values(Msg, Bin, TrUserData) -> + SubBin = encode_msg_any_value(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. + +e_field_array_value_values([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_array_value_values(id(Elem, TrUserData), Bin2, TrUserData), + e_field_array_value_values(Rest, Bin3, TrUserData); e_field_array_value_values([], Bin, _TrUserData) -> Bin. -e_mfield_key_value_list_values(Msg, Bin, TrUserData) -> SubBin = encode_msg_key_value(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_key_value_list_values(Msg, Bin, TrUserData) -> + SubBin = encode_msg_key_value(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. -e_field_key_value_list_values([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, Bin3 = e_mfield_key_value_list_values(id(Elem, TrUserData), Bin2, TrUserData), e_field_key_value_list_values(Rest, Bin3, TrUserData); +e_field_key_value_list_values([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_key_value_list_values(id(Elem, TrUserData), Bin2, TrUserData), + e_field_key_value_list_values(Rest, Bin3, TrUserData); e_field_key_value_list_values([], Bin, _TrUserData) -> Bin. -e_mfield_key_value_value(Msg, Bin, TrUserData) -> SubBin = encode_msg_any_value(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_key_value_value(Msg, Bin, TrUserData) -> + SubBin = encode_msg_any_value(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. -e_mfield_resource_attributes(Msg, Bin, TrUserData) -> SubBin = encode_msg_key_value(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. +e_mfield_resource_attributes(Msg, Bin, TrUserData) -> + SubBin = encode_msg_key_value(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. -e_field_resource_attributes([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, Bin3 = e_mfield_resource_attributes(id(Elem, TrUserData), Bin2, TrUserData), e_field_resource_attributes(Rest, Bin3, TrUserData); +e_field_resource_attributes([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_resource_attributes(id(Elem, TrUserData), Bin2, TrUserData), + e_field_resource_attributes(Rest, Bin3, TrUserData); e_field_resource_attributes([], Bin, _TrUserData) -> Bin. 'e_enum_span.SpanKind'('SPAN_KIND_UNSPECIFIED', Bin, _TrUserData) -> <>; @@ -737,23 +831,28 @@ e_field_resource_attributes([], Bin, _TrUserData) -> Bin. 'e_enum_span.SpanKind'('SPAN_KIND_CONSUMER', Bin, _TrUserData) -> <>; 'e_enum_span.SpanKind'(V, Bin, _TrUserData) -> e_varint(V, Bin). -'e_enum_status.StatusCode'('STATUS_CODE_OK', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_CANCELLED', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_UNKNOWN_ERROR', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_INVALID_ARGUMENT', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_DEADLINE_EXCEEDED', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_NOT_FOUND', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_ALREADY_EXISTS', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_PERMISSION_DENIED', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_RESOURCE_EXHAUSTED', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_FAILED_PRECONDITION', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_ABORTED', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_OUT_OF_RANGE', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_UNIMPLEMENTED', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_INTERNAL_ERROR', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_UNAVAILABLE', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_DATA_LOSS', Bin, _TrUserData) -> <>; -'e_enum_status.StatusCode'('STATUS_CODE_UNAUTHENTICATED', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_OK', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_CANCELLED', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_UNKNOWN_ERROR', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_INVALID_ARGUMENT', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_DEADLINE_EXCEEDED', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_NOT_FOUND', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_ALREADY_EXISTS', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_PERMISSION_DENIED', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_RESOURCE_EXHAUSTED', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_FAILED_PRECONDITION', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_ABORTED', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_OUT_OF_RANGE', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_UNIMPLEMENTED', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_INTERNAL_ERROR', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_UNAVAILABLE', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_DATA_LOSS', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_UNAUTHENTICATED', Bin, _TrUserData) -> <>; +'e_enum_status.DeprecatedStatusCode'(V, Bin, _TrUserData) -> e_varint(V, Bin). + +'e_enum_status.StatusCode'('STATUS_CODE_UNSET', Bin, _TrUserData) -> <>; +'e_enum_status.StatusCode'('STATUS_CODE_OK', Bin, _TrUserData) -> <>; +'e_enum_status.StatusCode'('STATUS_CODE_ERROR', Bin, _TrUserData) -> <>; 'e_enum_status.StatusCode'(V, Bin, _TrUserData) -> e_varint(V, Bin). -compile({nowarn_unused_function,e_type_sint/3}). @@ -762,11 +861,15 @@ e_type_sint(Value, Bin, _TrUserData) -> e_varint(Value * -2 - 1, Bin). -compile({nowarn_unused_function,e_type_int32/3}). e_type_int32(Value, Bin, _TrUserData) when 0 =< Value, Value =< 127 -> <>; -e_type_int32(Value, Bin, _TrUserData) -> <> = <>, e_varint(N, Bin). +e_type_int32(Value, Bin, _TrUserData) -> + <> = <>, + e_varint(N, Bin). -compile({nowarn_unused_function,e_type_int64/3}). e_type_int64(Value, Bin, _TrUserData) when 0 =< Value, Value =< 127 -> <>; -e_type_int64(Value, Bin, _TrUserData) -> <> = <>, e_varint(N, Bin). +e_type_int64(Value, Bin, _TrUserData) -> + <> = <>, + e_varint(N, Bin). -compile({nowarn_unused_function,e_type_bool/3}). e_type_bool(true, Bin, _TrUserData) -> <>; @@ -775,11 +878,19 @@ e_type_bool(1, Bin, _TrUserData) -> <>; e_type_bool(0, Bin, _TrUserData) -> <>. -compile({nowarn_unused_function,e_type_string/3}). -e_type_string(S, Bin, _TrUserData) -> Utf8 = unicode:characters_to_binary(S), Bin2 = e_varint(byte_size(Utf8), Bin), <>. +e_type_string(S, Bin, _TrUserData) -> + Utf8 = unicode:characters_to_binary(S), + Bin2 = e_varint(byte_size(Utf8), Bin), + <>. -compile({nowarn_unused_function,e_type_bytes/3}). -e_type_bytes(Bytes, Bin, _TrUserData) when is_binary(Bytes) -> Bin2 = e_varint(byte_size(Bytes), Bin), <>; -e_type_bytes(Bytes, Bin, _TrUserData) when is_list(Bytes) -> BytesBin = iolist_to_binary(Bytes), Bin2 = e_varint(byte_size(BytesBin), Bin), <>. +e_type_bytes(Bytes, Bin, _TrUserData) when is_binary(Bytes) -> + Bin2 = e_varint(byte_size(Bytes), Bin), + <>; +e_type_bytes(Bytes, Bin, _TrUserData) when is_list(Bytes) -> + BytesBin = iolist_to_binary(Bytes), + Bin2 = e_varint(byte_size(BytesBin), Bin), + <>. -compile({nowarn_unused_function,e_type_fixed32/3}). e_type_fixed32(Value, Bin, _TrUserData) -> <>. @@ -810,7 +921,9 @@ e_varint(N, Bin, _TrUserData) -> e_varint(N, Bin). -compile({nowarn_unused_function,e_varint/2}). e_varint(N, Bin) when N =< 127 -> <>; -e_varint(N, Bin) -> Bin2 = <>, e_varint(N bsr 7, Bin2). +e_varint(N, Bin) -> + Bin2 = <>, + e_varint(N bsr 7, Bin2). is_empty_string("") -> true; is_empty_string(<<>>) -> true; @@ -820,8 +933,8 @@ is_empty_string(B) when is_binary(B) -> false. string_has_chars([C | _]) when is_integer(C) -> true; string_has_chars([H | T]) -> case string_has_chars(H) of - true -> true; - false -> string_has_chars(T) + true -> true; + false -> string_has_chars(T) end; string_has_chars(B) when is_binary(B), byte_size(B) =/= 0 -> true; string_has_chars(C) when is_integer(C) -> true; @@ -831,7 +944,9 @@ string_has_chars([]) -> false. decode_msg(Bin, MsgName) when is_binary(Bin) -> decode_msg(Bin, MsgName, []). -decode_msg(Bin, MsgName, Opts) when is_binary(Bin) -> TrUserData = proplists:get_value(user_data, Opts), decode_msg_1_catch(Bin, MsgName, TrUserData). +decode_msg(Bin, MsgName, Opts) when is_binary(Bin) -> + TrUserData = proplists:get_value(user_data, Opts), + decode_msg_1_catch(Bin, MsgName, TrUserData). -ifdef('OTP_RELEASE'). decode_msg_1_catch(Bin, MsgName, TrUserData) -> @@ -879,15 +994,15 @@ dg_read_field_def_export_trace_service_request(<<1:1, X:7, Rest/binary>>, N, Acc dg_read_field_def_export_trace_service_request(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_export_trace_service_request_resource_spans(Rest, 0, 0, F@_1, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_export_trace_service_request(Rest, 0, 0, F@_1, TrUserData); - 1 -> skip_64_export_trace_service_request(Rest, 0, 0, F@_1, TrUserData); - 2 -> skip_length_delimited_export_trace_service_request(Rest, 0, 0, F@_1, TrUserData); - 3 -> skip_group_export_trace_service_request(Rest, Key bsr 3, 0, F@_1, TrUserData); - 5 -> skip_32_export_trace_service_request(Rest, 0, 0, F@_1, TrUserData) - end + 10 -> d_field_export_trace_service_request_resource_spans(Rest, 0, 0, F@_1, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_export_trace_service_request(Rest, 0, 0, F@_1, TrUserData); + 1 -> skip_64_export_trace_service_request(Rest, 0, 0, F@_1, TrUserData); + 2 -> skip_length_delimited_export_trace_service_request(Rest, 0, 0, F@_1, TrUserData); + 3 -> skip_group_export_trace_service_request(Rest, Key bsr 3, 0, F@_1, TrUserData); + 5 -> skip_32_export_trace_service_request(Rest, 0, 0, F@_1, TrUserData) + end end; dg_read_field_def_export_trace_service_request(<<>>, 0, 0, R1, TrUserData) -> S1 = #{}, @@ -905,9 +1020,13 @@ skip_varint_export_trace_service_request(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1 skip_length_delimited_export_trace_service_request(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) when N < 57 -> skip_length_delimited_export_trace_service_request(Rest, N + 7, X bsl N + Acc, F@_1, TrUserData); skip_length_delimited_export_trace_service_request(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) -> - Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_export_trace_service_request(Rest2, 0, 0, F@_1, TrUserData). + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_export_trace_service_request(Rest2, 0, 0, F@_1, TrUserData). -skip_group_export_trace_service_request(Bin, FNum, Z2, F@_1, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_export_trace_service_request(Rest, 0, Z2, F@_1, TrUserData). +skip_group_export_trace_service_request(Bin, FNum, Z2, F@_1, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_export_trace_service_request(Rest, 0, Z2, F@_1, TrUserData). skip_32_export_trace_service_request(<<_:32, Rest/binary>>, Z1, Z2, F@_1, TrUserData) -> dfp_read_field_def_export_trace_service_request(Rest, Z1, Z2, F@_1, TrUserData). @@ -922,11 +1041,11 @@ dg_read_field_def_export_trace_service_response(<<1:1, X:7, Rest/binary>>, N, Ac dg_read_field_def_export_trace_service_response(<<0:1, X:7, Rest/binary>>, N, Acc, TrUserData) -> Key = X bsl N + Acc, case Key band 7 of - 0 -> skip_varint_export_trace_service_response(Rest, 0, 0, TrUserData); - 1 -> skip_64_export_trace_service_response(Rest, 0, 0, TrUserData); - 2 -> skip_length_delimited_export_trace_service_response(Rest, 0, 0, TrUserData); - 3 -> skip_group_export_trace_service_response(Rest, Key bsr 3, 0, TrUserData); - 5 -> skip_32_export_trace_service_response(Rest, 0, 0, TrUserData) + 0 -> skip_varint_export_trace_service_response(Rest, 0, 0, TrUserData); + 1 -> skip_64_export_trace_service_response(Rest, 0, 0, TrUserData); + 2 -> skip_length_delimited_export_trace_service_response(Rest, 0, 0, TrUserData); + 3 -> skip_group_export_trace_service_response(Rest, Key bsr 3, 0, TrUserData); + 5 -> skip_32_export_trace_service_response(Rest, 0, 0, TrUserData) end; dg_read_field_def_export_trace_service_response(<<>>, 0, 0, _) -> #{}. @@ -934,9 +1053,14 @@ skip_varint_export_trace_service_response(<<1:1, _:7, Rest/binary>>, Z1, Z2, TrU skip_varint_export_trace_service_response(<<0:1, _:7, Rest/binary>>, Z1, Z2, TrUserData) -> dfp_read_field_def_export_trace_service_response(Rest, Z1, Z2, TrUserData). skip_length_delimited_export_trace_service_response(<<1:1, X:7, Rest/binary>>, N, Acc, TrUserData) when N < 57 -> skip_length_delimited_export_trace_service_response(Rest, N + 7, X bsl N + Acc, TrUserData); -skip_length_delimited_export_trace_service_response(<<0:1, X:7, Rest/binary>>, N, Acc, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_export_trace_service_response(Rest2, 0, 0, TrUserData). +skip_length_delimited_export_trace_service_response(<<0:1, X:7, Rest/binary>>, N, Acc, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_export_trace_service_response(Rest2, 0, 0, TrUserData). -skip_group_export_trace_service_response(Bin, FNum, Z2, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_export_trace_service_response(Rest, 0, Z2, TrUserData). +skip_group_export_trace_service_response(Bin, FNum, Z2, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_export_trace_service_response(Rest, 0, Z2, TrUserData). skip_32_export_trace_service_response(<<_:32, Rest/binary>>, Z1, Z2, TrUserData) -> dfp_read_field_def_export_trace_service_response(Rest, Z1, Z2, TrUserData). @@ -949,8 +1073,8 @@ dfp_read_field_def_resource_spans(<<18, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUse dfp_read_field_def_resource_spans(<<>>, 0, 0, F@_1, R1, TrUserData) -> S1 = #{}, S2 = if F@_1 == '$undef' -> S1; - true -> S1#{resource => F@_1} - end, + true -> S1#{resource => F@_1} + end, if R1 == '$undef' -> S2; true -> S2#{instrumentation_library_spans => lists_reverse(R1, TrUserData)} end; @@ -960,22 +1084,22 @@ dg_read_field_def_resource_spans(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, dg_read_field_def_resource_spans(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_resource_spans_resource(Rest, 0, 0, F@_1, F@_2, TrUserData); - 18 -> d_field_resource_spans_instrumentation_library_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_resource_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); - 1 -> skip_64_resource_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_resource_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); - 3 -> skip_group_resource_spans(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); - 5 -> skip_32_resource_spans(Rest, 0, 0, F@_1, F@_2, TrUserData) - end + 10 -> d_field_resource_spans_resource(Rest, 0, 0, F@_1, F@_2, TrUserData); + 18 -> d_field_resource_spans_instrumentation_library_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_resource_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); + 1 -> skip_64_resource_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); + 2 -> skip_length_delimited_resource_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); + 3 -> skip_group_resource_spans(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); + 5 -> skip_32_resource_spans(Rest, 0, 0, F@_1, F@_2, TrUserData) + end end; dg_read_field_def_resource_spans(<<>>, 0, 0, F@_1, R1, TrUserData) -> S1 = #{}, S2 = if F@_1 == '$undef' -> S1; - true -> S1#{resource => F@_1} - end, + true -> S1#{resource => F@_1} + end, if R1 == '$undef' -> S2; true -> S2#{instrumentation_library_spans => lists_reverse(R1, TrUserData)} end. @@ -983,11 +1107,14 @@ dg_read_field_def_resource_spans(<<>>, 0, 0, F@_1, R1, TrUserData) -> d_field_resource_spans_resource(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_resource_spans_resource(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); d_field_resource_spans_resource(<<0:1, X:7, Rest/binary>>, N, Acc, Prev, F@_2, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_resource(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_resource_spans(RestF, 0, 0, - if Prev == '$undef' -> NewFValue; - true -> merge_msg_resource(Prev, NewFValue, TrUserData) - end, - F@_2, TrUserData). + dfp_read_field_def_resource_spans(RestF, + 0, + 0, + if Prev == '$undef' -> NewFValue; + true -> merge_msg_resource(Prev, NewFValue, TrUserData) + end, + F@_2, + TrUserData). d_field_resource_spans_instrumentation_library_spans(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_resource_spans_instrumentation_library_spans(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); d_field_resource_spans_instrumentation_library_spans(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, Prev, TrUserData) -> @@ -998,9 +1125,14 @@ skip_varint_resource_spans(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUser skip_varint_resource_spans(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_resource_spans(Rest, Z1, Z2, F@_1, F@_2, TrUserData). skip_length_delimited_resource_spans(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_resource_spans(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); -skip_length_delimited_resource_spans(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_resource_spans(Rest2, 0, 0, F@_1, F@_2, TrUserData). +skip_length_delimited_resource_spans(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_resource_spans(Rest2, 0, 0, F@_1, F@_2, TrUserData). -skip_group_resource_spans(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_resource_spans(Rest, 0, Z2, F@_1, F@_2, TrUserData). +skip_group_resource_spans(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_resource_spans(Rest, 0, Z2, F@_1, F@_2, TrUserData). skip_32_resource_spans(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_resource_spans(Rest, Z1, Z2, F@_1, F@_2, TrUserData). @@ -1013,8 +1145,8 @@ dfp_read_field_def_instrumentation_library_spans(<<18, Rest/binary>>, Z1, Z2, F@ dfp_read_field_def_instrumentation_library_spans(<<>>, 0, 0, F@_1, R1, TrUserData) -> S1 = #{}, S2 = if F@_1 == '$undef' -> S1; - true -> S1#{instrumentation_library => F@_1} - end, + true -> S1#{instrumentation_library => F@_1} + end, if R1 == '$undef' -> S2; true -> S2#{spans => lists_reverse(R1, TrUserData)} end; @@ -1024,22 +1156,22 @@ dg_read_field_def_instrumentation_library_spans(<<1:1, X:7, Rest/binary>>, N, Ac dg_read_field_def_instrumentation_library_spans(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_instrumentation_library_spans_instrumentation_library(Rest, 0, 0, F@_1, F@_2, TrUserData); - 18 -> d_field_instrumentation_library_spans_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_instrumentation_library_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); - 1 -> skip_64_instrumentation_library_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_instrumentation_library_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); - 3 -> skip_group_instrumentation_library_spans(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); - 5 -> skip_32_instrumentation_library_spans(Rest, 0, 0, F@_1, F@_2, TrUserData) - end + 10 -> d_field_instrumentation_library_spans_instrumentation_library(Rest, 0, 0, F@_1, F@_2, TrUserData); + 18 -> d_field_instrumentation_library_spans_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_instrumentation_library_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); + 1 -> skip_64_instrumentation_library_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); + 2 -> skip_length_delimited_instrumentation_library_spans(Rest, 0, 0, F@_1, F@_2, TrUserData); + 3 -> skip_group_instrumentation_library_spans(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); + 5 -> skip_32_instrumentation_library_spans(Rest, 0, 0, F@_1, F@_2, TrUserData) + end end; dg_read_field_def_instrumentation_library_spans(<<>>, 0, 0, F@_1, R1, TrUserData) -> S1 = #{}, S2 = if F@_1 == '$undef' -> S1; - true -> S1#{instrumentation_library => F@_1} - end, + true -> S1#{instrumentation_library => F@_1} + end, if R1 == '$undef' -> S2; true -> S2#{spans => lists_reverse(R1, TrUserData)} end. @@ -1047,11 +1179,14 @@ dg_read_field_def_instrumentation_library_spans(<<>>, 0, 0, F@_1, R1, TrUserData d_field_instrumentation_library_spans_instrumentation_library(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_instrumentation_library_spans_instrumentation_library(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); d_field_instrumentation_library_spans_instrumentation_library(<<0:1, X:7, Rest/binary>>, N, Acc, Prev, F@_2, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_instrumentation_library(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_instrumentation_library_spans(RestF, 0, 0, - if Prev == '$undef' -> NewFValue; - true -> merge_msg_instrumentation_library(Prev, NewFValue, TrUserData) - end, - F@_2, TrUserData). + dfp_read_field_def_instrumentation_library_spans(RestF, + 0, + 0, + if Prev == '$undef' -> NewFValue; + true -> merge_msg_instrumentation_library(Prev, NewFValue, TrUserData) + end, + F@_2, + TrUserData). d_field_instrumentation_library_spans_spans(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_instrumentation_library_spans_spans(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); d_field_instrumentation_library_spans_spans(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, Prev, TrUserData) -> @@ -1063,9 +1198,13 @@ skip_varint_instrumentation_library_spans(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_ skip_length_delimited_instrumentation_library_spans(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_instrumentation_library_spans(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); skip_length_delimited_instrumentation_library_spans(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> - Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_instrumentation_library_spans(Rest2, 0, 0, F@_1, F@_2, TrUserData). + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_instrumentation_library_spans(Rest2, 0, 0, F@_1, F@_2, TrUserData). -skip_group_instrumentation_library_spans(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_instrumentation_library_spans(Rest, 0, Z2, F@_1, F@_2, TrUserData). +skip_group_instrumentation_library_spans(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_instrumentation_library_spans(Rest, 0, Z2, F@_1, F@_2, TrUserData). skip_32_instrumentation_library_spans(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_instrumentation_library_spans(Rest, Z1, Z2, F@_1, F@_2, TrUserData). @@ -1088,18 +1227,18 @@ dg_read_field_def_event(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_ dg_read_field_def_event(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, TrUserData) -> Key = X bsl N + Acc, case Key of - 9 -> d_field_event_time_unix_nano(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); - 18 -> d_field_event_name(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); - 26 -> d_field_event_attributes(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); - 32 -> d_field_event_dropped_attributes_count(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_event(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); - 1 -> skip_64_event(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); - 2 -> skip_length_delimited_event(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); - 3 -> skip_group_event(Rest, Key bsr 3, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); - 5 -> skip_32_event(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData) - end + 9 -> d_field_event_time_unix_nano(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); + 18 -> d_field_event_name(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); + 26 -> d_field_event_attributes(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); + 32 -> d_field_event_dropped_attributes_count(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_event(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); + 1 -> skip_64_event(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); + 2 -> skip_length_delimited_event(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); + 3 -> skip_group_event(Rest, Key bsr 3, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); + 5 -> skip_32_event(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData) + end end; dg_read_field_def_event(<<>>, 0, 0, F@_1, F@_2, R1, F@_4, TrUserData) -> S1 = #{time_unix_nano => F@_1, name => F@_2, dropped_attributes_count => F@_4}, @@ -1111,7 +1250,8 @@ d_field_event_time_unix_nano(<>, Z1, Z2, _, F@_2, d_field_event_name(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_event_name(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, TrUserData); d_field_event_name(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, _, F@_3, F@_4, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, dfp_read_field_def_event(RestF, 0, 0, F@_1, NewFValue, F@_3, F@_4, TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, + dfp_read_field_def_event(RestF, 0, 0, F@_1, NewFValue, F@_3, F@_4, TrUserData). d_field_event_attributes(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_event_attributes(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, TrUserData); d_field_event_attributes(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, Prev, F@_4, TrUserData) -> @@ -1119,15 +1259,22 @@ d_field_event_attributes(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, Prev, F@ dfp_read_field_def_event(RestF, 0, 0, F@_1, F@_2, cons(NewFValue, Prev, TrUserData), F@_4, TrUserData). d_field_event_dropped_attributes_count(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_event_dropped_attributes_count(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, TrUserData); -d_field_event_dropped_attributes_count(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, _, TrUserData) -> {NewFValue, RestF} = {id(X bsl N + Acc, TrUserData), Rest}, dfp_read_field_def_event(RestF, 0, 0, F@_1, F@_2, F@_3, NewFValue, TrUserData). +d_field_event_dropped_attributes_count(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, _, TrUserData) -> + {NewFValue, RestF} = {id(X bsl N + Acc, TrUserData), Rest}, + dfp_read_field_def_event(RestF, 0, 0, F@_1, F@_2, F@_3, NewFValue, TrUserData). skip_varint_event(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, TrUserData) -> skip_varint_event(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4, TrUserData); skip_varint_event(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_event(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4, TrUserData). skip_length_delimited_event(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> skip_length_delimited_event(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, TrUserData); -skip_length_delimited_event(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_event(Rest2, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData). +skip_length_delimited_event(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_event(Rest2, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData). -skip_group_event(Bin, FNum, Z2, F@_1, F@_2, F@_3, F@_4, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_event(Rest, 0, Z2, F@_1, F@_2, F@_3, F@_4, TrUserData). +skip_group_event(Bin, FNum, Z2, F@_1, F@_2, F@_3, F@_4, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_event(Rest, 0, Z2, F@_1, F@_2, F@_3, F@_4, TrUserData). skip_32_event(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_event(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4, TrUserData). @@ -1151,19 +1298,19 @@ dg_read_field_def_link(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4 dg_read_field_def_link(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_link_trace_id(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 18 -> d_field_link_span_id(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 26 -> d_field_link_trace_state(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 34 -> d_field_link_attributes(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 40 -> d_field_link_dropped_attributes_count(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_link(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 1 -> skip_64_link(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 2 -> skip_length_delimited_link(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 3 -> skip_group_link(Rest, Key bsr 3, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 5 -> skip_32_link(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) - end + 10 -> d_field_link_trace_id(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); + 18 -> d_field_link_span_id(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); + 26 -> d_field_link_trace_state(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); + 34 -> d_field_link_attributes(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); + 40 -> d_field_link_dropped_attributes_count(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_link(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); + 1 -> skip_64_link(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); + 2 -> skip_length_delimited_link(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); + 3 -> skip_group_link(Rest, Key bsr 3, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); + 5 -> skip_32_link(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) + end end; dg_read_field_def_link(<<>>, 0, 0, F@_1, F@_2, F@_3, R1, F@_5, TrUserData) -> S1 = #{trace_id => F@_1, span_id => F@_2, trace_state => F@_3, dropped_attributes_count => F@_5}, @@ -1173,15 +1320,18 @@ dg_read_field_def_link(<<>>, 0, 0, F@_1, F@_2, F@_3, R1, F@_5, TrUserData) -> d_field_link_trace_id(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_link_trace_id(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); d_field_link_trace_id(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_2, F@_3, F@_4, F@_5, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, dfp_read_field_def_link(RestF, 0, 0, NewFValue, F@_2, F@_3, F@_4, F@_5, TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, + dfp_read_field_def_link(RestF, 0, 0, NewFValue, F@_2, F@_3, F@_4, F@_5, TrUserData). d_field_link_span_id(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_link_span_id(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); d_field_link_span_id(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, _, F@_3, F@_4, F@_5, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, dfp_read_field_def_link(RestF, 0, 0, F@_1, NewFValue, F@_3, F@_4, F@_5, TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, + dfp_read_field_def_link(RestF, 0, 0, F@_1, NewFValue, F@_3, F@_4, F@_5, TrUserData). d_field_link_trace_state(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_link_trace_state(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); d_field_link_trace_state(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, _, F@_4, F@_5, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, dfp_read_field_def_link(RestF, 0, 0, F@_1, F@_2, NewFValue, F@_4, F@_5, TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, + dfp_read_field_def_link(RestF, 0, 0, F@_1, F@_2, NewFValue, F@_4, F@_5, TrUserData). d_field_link_attributes(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_link_attributes(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); d_field_link_attributes(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, Prev, F@_5, TrUserData) -> @@ -1190,24 +1340,46 @@ d_field_link_attributes(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, Pre d_field_link_dropped_attributes_count(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_link_dropped_attributes_count(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); d_field_link_dropped_attributes_count(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, _, TrUserData) -> - {NewFValue, RestF} = {id(X bsl N + Acc, TrUserData), Rest}, dfp_read_field_def_link(RestF, 0, 0, F@_1, F@_2, F@_3, F@_4, NewFValue, TrUserData). + {NewFValue, RestF} = {id(X bsl N + Acc, TrUserData), Rest}, + dfp_read_field_def_link(RestF, 0, 0, F@_1, F@_2, F@_3, F@_4, NewFValue, TrUserData). skip_varint_link(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> skip_varint_link(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); skip_varint_link(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> dfp_read_field_def_link(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). skip_length_delimited_link(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> skip_length_delimited_link(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); skip_length_delimited_link(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> - Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_link(Rest2, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_link(Rest2, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). -skip_group_link(Bin, FNum, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_link(Rest, 0, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). +skip_group_link(Bin, FNum, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_link(Rest, 0, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). skip_32_link(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> dfp_read_field_def_link(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). skip_64_link(<<_:64, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> dfp_read_field_def_link(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). decode_msg_span(Bin, TrUserData) -> - dfp_read_field_def_span(Bin, 0, 0, id(<<>>, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), id('SPAN_KIND_UNSPECIFIED', TrUserData), id(0, TrUserData), id(0, TrUserData), id([], TrUserData), - id(0, TrUserData), id([], TrUserData), id(0, TrUserData), id([], TrUserData), id(0, TrUserData), id('$undef', TrUserData), TrUserData). + dfp_read_field_def_span(Bin, + 0, + 0, + id(<<>>, TrUserData), + id(<<>>, TrUserData), + id(<<>>, TrUserData), + id(<<>>, TrUserData), + id(<<>>, TrUserData), + id('SPAN_KIND_UNSPECIFIED', TrUserData), + id(0, TrUserData), + id(0, TrUserData), + id([], TrUserData), + id(0, TrUserData), + id([], TrUserData), + id(0, TrUserData), + id([], TrUserData), + id(0, TrUserData), + id('$undef', TrUserData), + TrUserData). dfp_read_field_def_span(<<10, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> d_field_span_trace_id(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); @@ -1241,16 +1413,16 @@ dfp_read_field_def_span(<<122, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@ d_field_span_status(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); dfp_read_field_def_span(<<>>, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, R1, F@_10, R2, F@_12, R3, F@_14, F@_15, TrUserData) -> S1 = #{trace_id => F@_1, span_id => F@_2, trace_state => F@_3, parent_span_id => F@_4, name => F@_5, kind => F@_6, start_time_unix_nano => F@_7, end_time_unix_nano => F@_8, dropped_attributes_count => F@_10, dropped_events_count => F@_12, - dropped_links_count => F@_14}, + dropped_links_count => F@_14}, S2 = if R1 == '$undef' -> S1; - true -> S1#{attributes => lists_reverse(R1, TrUserData)} - end, + true -> S1#{attributes => lists_reverse(R1, TrUserData)} + end, S3 = if R2 == '$undef' -> S2; - true -> S2#{events => lists_reverse(R2, TrUserData)} - end, + true -> S2#{events => lists_reverse(R2, TrUserData)} + end, S4 = if R3 == '$undef' -> S3; - true -> S3#{links => lists_reverse(R3, TrUserData)} - end, + true -> S3#{links => lists_reverse(R3, TrUserData)} + end, if F@_15 == '$undef' -> S4; true -> S4#{status => F@_15} end; @@ -1262,42 +1434,42 @@ dg_read_field_def_span(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4 dg_read_field_def_span(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_span_trace_id(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 18 -> d_field_span_span_id(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 26 -> d_field_span_trace_state(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 34 -> d_field_span_parent_span_id(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 42 -> d_field_span_name(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 48 -> d_field_span_kind(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 57 -> d_field_span_start_time_unix_nano(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 65 -> d_field_span_end_time_unix_nano(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 74 -> d_field_span_attributes(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 80 -> d_field_span_dropped_attributes_count(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 90 -> d_field_span_events(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 96 -> d_field_span_dropped_events_count(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 106 -> d_field_span_links(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 112 -> d_field_span_dropped_links_count(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 122 -> d_field_span_status(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_span(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 1 -> skip_64_span(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 2 -> skip_length_delimited_span(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 3 -> skip_group_span(Rest, Key bsr 3, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); - 5 -> skip_32_span(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) - end + 10 -> d_field_span_trace_id(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 18 -> d_field_span_span_id(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 26 -> d_field_span_trace_state(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 34 -> d_field_span_parent_span_id(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 42 -> d_field_span_name(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 48 -> d_field_span_kind(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 57 -> d_field_span_start_time_unix_nano(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 65 -> d_field_span_end_time_unix_nano(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 74 -> d_field_span_attributes(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 80 -> d_field_span_dropped_attributes_count(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 90 -> d_field_span_events(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 96 -> d_field_span_dropped_events_count(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 106 -> d_field_span_links(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 112 -> d_field_span_dropped_links_count(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 122 -> d_field_span_status(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_span(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 1 -> skip_64_span(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 2 -> skip_length_delimited_span(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 3 -> skip_group_span(Rest, Key bsr 3, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 5 -> skip_32_span(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) + end end; dg_read_field_def_span(<<>>, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, R1, F@_10, R2, F@_12, R3, F@_14, F@_15, TrUserData) -> S1 = #{trace_id => F@_1, span_id => F@_2, trace_state => F@_3, parent_span_id => F@_4, name => F@_5, kind => F@_6, start_time_unix_nano => F@_7, end_time_unix_nano => F@_8, dropped_attributes_count => F@_10, dropped_events_count => F@_12, - dropped_links_count => F@_14}, + dropped_links_count => F@_14}, S2 = if R1 == '$undef' -> S1; - true -> S1#{attributes => lists_reverse(R1, TrUserData)} - end, + true -> S1#{attributes => lists_reverse(R1, TrUserData)} + end, S3 = if R2 == '$undef' -> S2; - true -> S2#{events => lists_reverse(R2, TrUserData)} - end, + true -> S2#{events => lists_reverse(R2, TrUserData)} + end, S4 = if R3 == '$undef' -> S3; - true -> S3#{links => lists_reverse(R3, TrUserData)} - end, + true -> S3#{links => lists_reverse(R3, TrUserData)} + end, if F@_15 == '$undef' -> S4; true -> S4#{status => F@_15} end. @@ -1353,7 +1525,8 @@ d_field_span_attributes(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_ d_field_span_dropped_attributes_count(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> d_field_span_dropped_attributes_count(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); d_field_span_dropped_attributes_count(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, _, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> - {NewFValue, RestF} = {id(X bsl N + Acc, TrUserData), Rest}, dfp_read_field_def_span(RestF, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, NewFValue, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). + {NewFValue, RestF} = {id(X bsl N + Acc, TrUserData), Rest}, + dfp_read_field_def_span(RestF, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, NewFValue, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). d_field_span_events(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> d_field_span_events(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); @@ -1364,7 +1537,8 @@ d_field_span_events(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F d_field_span_dropped_events_count(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> d_field_span_dropped_events_count(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); d_field_span_dropped_events_count(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, _, F@_13, F@_14, F@_15, TrUserData) -> - {NewFValue, RestF} = {id(X bsl N + Acc, TrUserData), Rest}, dfp_read_field_def_span(RestF, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, NewFValue, F@_13, F@_14, F@_15, TrUserData). + {NewFValue, RestF} = {id(X bsl N + Acc, TrUserData), Rest}, + dfp_read_field_def_span(RestF, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, NewFValue, F@_13, F@_14, F@_15, TrUserData). d_field_span_links(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> d_field_span_links(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); @@ -1375,17 +1549,34 @@ d_field_span_links(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@ d_field_span_dropped_links_count(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> d_field_span_dropped_links_count(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); d_field_span_dropped_links_count(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, _, F@_15, TrUserData) -> - {NewFValue, RestF} = {id(X bsl N + Acc, TrUserData), Rest}, dfp_read_field_def_span(RestF, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, NewFValue, F@_15, TrUserData). + {NewFValue, RestF} = {id(X bsl N + Acc, TrUserData), Rest}, + dfp_read_field_def_span(RestF, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, NewFValue, F@_15, TrUserData). d_field_span_status(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> d_field_span_status(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); d_field_span_status(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, Prev, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_status(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_span(RestF, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, - if Prev == '$undef' -> NewFValue; - true -> merge_msg_status(Prev, NewFValue, TrUserData) - end, - TrUserData). + dfp_read_field_def_span(RestF, + 0, + 0, + F@_1, + F@_2, + F@_3, + F@_4, + F@_5, + F@_6, + F@_7, + F@_8, + F@_9, + F@_10, + F@_11, + F@_12, + F@_13, + F@_14, + if Prev == '$undef' -> NewFValue; + true -> merge_msg_status(Prev, NewFValue, TrUserData) + end, + TrUserData). skip_varint_span(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> skip_varint_span(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); @@ -1395,10 +1586,13 @@ skip_varint_span(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5 skip_length_delimited_span(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> skip_length_delimited_span(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); skip_length_delimited_span(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> - Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_span(Rest2, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_span(Rest2, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). skip_group_span(Bin, FNum, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> - {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_span(Rest, 0, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_span(Rest, 0, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). skip_32_span(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> dfp_read_field_def_span(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). @@ -1406,49 +1600,63 @@ skip_32_span(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, skip_64_span(<<_:64, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> dfp_read_field_def_span(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). -decode_msg_status(Bin, TrUserData) -> dfp_read_field_def_status(Bin, 0, 0, id('STATUS_CODE_OK', TrUserData), id(<<>>, TrUserData), TrUserData). +decode_msg_status(Bin, TrUserData) -> dfp_read_field_def_status(Bin, 0, 0, id('DEPRECATED_STATUS_CODE_OK', TrUserData), id(<<>>, TrUserData), id('STATUS_CODE_UNSET', TrUserData), TrUserData). -dfp_read_field_def_status(<<8, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> d_field_status_code(Rest, Z1, Z2, F@_1, F@_2, TrUserData); -dfp_read_field_def_status(<<18, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> d_field_status_message(Rest, Z1, Z2, F@_1, F@_2, TrUserData); -dfp_read_field_def_status(<<>>, 0, 0, F@_1, F@_2, _) -> #{code => F@_1, message => F@_2}; -dfp_read_field_def_status(Other, Z1, Z2, F@_1, F@_2, TrUserData) -> dg_read_field_def_status(Other, Z1, Z2, F@_1, F@_2, TrUserData). +dfp_read_field_def_status(<<8, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, TrUserData) -> d_field_status_deprecated_code(Rest, Z1, Z2, F@_1, F@_2, F@_3, TrUserData); +dfp_read_field_def_status(<<18, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, TrUserData) -> d_field_status_message(Rest, Z1, Z2, F@_1, F@_2, F@_3, TrUserData); +dfp_read_field_def_status(<<24, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, TrUserData) -> d_field_status_code(Rest, Z1, Z2, F@_1, F@_2, F@_3, TrUserData); +dfp_read_field_def_status(<<>>, 0, 0, F@_1, F@_2, F@_3, _) -> #{deprecated_code => F@_1, message => F@_2, code => F@_3}; +dfp_read_field_def_status(Other, Z1, Z2, F@_1, F@_2, F@_3, TrUserData) -> dg_read_field_def_status(Other, Z1, Z2, F@_1, F@_2, F@_3, TrUserData). -dg_read_field_def_status(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 32 - 7 -> dg_read_field_def_status(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); -dg_read_field_def_status(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> +dg_read_field_def_status(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, TrUserData) when N < 32 - 7 -> dg_read_field_def_status(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, TrUserData); +dg_read_field_def_status(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, TrUserData) -> Key = X bsl N + Acc, case Key of - 8 -> d_field_status_code(Rest, 0, 0, F@_1, F@_2, TrUserData); - 18 -> d_field_status_message(Rest, 0, 0, F@_1, F@_2, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_status(Rest, 0, 0, F@_1, F@_2, TrUserData); - 1 -> skip_64_status(Rest, 0, 0, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_status(Rest, 0, 0, F@_1, F@_2, TrUserData); - 3 -> skip_group_status(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); - 5 -> skip_32_status(Rest, 0, 0, F@_1, F@_2, TrUserData) - end + 8 -> d_field_status_deprecated_code(Rest, 0, 0, F@_1, F@_2, F@_3, TrUserData); + 18 -> d_field_status_message(Rest, 0, 0, F@_1, F@_2, F@_3, TrUserData); + 24 -> d_field_status_code(Rest, 0, 0, F@_1, F@_2, F@_3, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_status(Rest, 0, 0, F@_1, F@_2, F@_3, TrUserData); + 1 -> skip_64_status(Rest, 0, 0, F@_1, F@_2, F@_3, TrUserData); + 2 -> skip_length_delimited_status(Rest, 0, 0, F@_1, F@_2, F@_3, TrUserData); + 3 -> skip_group_status(Rest, Key bsr 3, 0, F@_1, F@_2, F@_3, TrUserData); + 5 -> skip_32_status(Rest, 0, 0, F@_1, F@_2, F@_3, TrUserData) + end end; -dg_read_field_def_status(<<>>, 0, 0, F@_1, F@_2, _) -> #{code => F@_1, message => F@_2}. +dg_read_field_def_status(<<>>, 0, 0, F@_1, F@_2, F@_3, _) -> #{deprecated_code => F@_1, message => F@_2, code => F@_3}. -d_field_status_code(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_status_code(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); -d_field_status_code(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_2, TrUserData) -> - {NewFValue, RestF} = {id('d_enum_status.StatusCode'(begin <> = <<(X bsl N + Acc):32/unsigned-native>>, id(Res, TrUserData) end), TrUserData), Rest}, dfp_read_field_def_status(RestF, 0, 0, NewFValue, F@_2, TrUserData). +d_field_status_deprecated_code(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_status_deprecated_code(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, TrUserData); +d_field_status_deprecated_code(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_2, F@_3, TrUserData) -> + {NewFValue, RestF} = {id('d_enum_status.DeprecatedStatusCode'(begin <> = <<(X bsl N + Acc):32/unsigned-native>>, id(Res, TrUserData) end), TrUserData), Rest}, + dfp_read_field_def_status(RestF, 0, 0, NewFValue, F@_2, F@_3, TrUserData). -d_field_status_message(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_status_message(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); -d_field_status_message(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, _, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, dfp_read_field_def_status(RestF, 0, 0, F@_1, NewFValue, TrUserData). +d_field_status_message(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_status_message(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, TrUserData); +d_field_status_message(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, _, F@_3, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, + dfp_read_field_def_status(RestF, 0, 0, F@_1, NewFValue, F@_3, TrUserData). + +d_field_status_code(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_status_code(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, TrUserData); +d_field_status_code(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, _, TrUserData) -> + {NewFValue, RestF} = {id('d_enum_status.StatusCode'(begin <> = <<(X bsl N + Acc):32/unsigned-native>>, id(Res, TrUserData) end), TrUserData), Rest}, + dfp_read_field_def_status(RestF, 0, 0, F@_1, F@_2, NewFValue, TrUserData). -skip_varint_status(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> skip_varint_status(Rest, Z1, Z2, F@_1, F@_2, TrUserData); -skip_varint_status(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_status(Rest, Z1, Z2, F@_1, F@_2, TrUserData). +skip_varint_status(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, TrUserData) -> skip_varint_status(Rest, Z1, Z2, F@_1, F@_2, F@_3, TrUserData); +skip_varint_status(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_status(Rest, Z1, Z2, F@_1, F@_2, F@_3, TrUserData). -skip_length_delimited_status(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_status(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); -skip_length_delimited_status(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_status(Rest2, 0, 0, F@_1, F@_2, TrUserData). +skip_length_delimited_status(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> skip_length_delimited_status(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, F@_3, TrUserData); +skip_length_delimited_status(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, F@_3, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_status(Rest2, 0, 0, F@_1, F@_2, F@_3, TrUserData). -skip_group_status(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_status(Rest, 0, Z2, F@_1, F@_2, TrUserData). +skip_group_status(Bin, FNum, Z2, F@_1, F@_2, F@_3, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_status(Rest, 0, Z2, F@_1, F@_2, F@_3, TrUserData). -skip_32_status(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_status(Rest, Z1, Z2, F@_1, F@_2, TrUserData). +skip_32_status(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_status(Rest, Z1, Z2, F@_1, F@_2, F@_3, TrUserData). -skip_64_status(<<_:64, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_status(Rest, Z1, Z2, F@_1, F@_2, TrUserData). +skip_64_status(<<_:64, Rest/binary>>, Z1, Z2, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_status(Rest, Z1, Z2, F@_1, F@_2, F@_3, TrUserData). decode_msg_any_value(Bin, TrUserData) -> dfp_read_field_def_any_value(Bin, 0, 0, id('$undef', TrUserData), TrUserData). @@ -1469,20 +1677,20 @@ dg_read_field_def_any_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) dg_read_field_def_any_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_any_value_string_value(Rest, 0, 0, F@_1, TrUserData); - 16 -> d_field_any_value_bool_value(Rest, 0, 0, F@_1, TrUserData); - 24 -> d_field_any_value_int_value(Rest, 0, 0, F@_1, TrUserData); - 33 -> d_field_any_value_double_value(Rest, 0, 0, F@_1, TrUserData); - 42 -> d_field_any_value_array_value(Rest, 0, 0, F@_1, TrUserData); - 50 -> d_field_any_value_kvlist_value(Rest, 0, 0, F@_1, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_any_value(Rest, 0, 0, F@_1, TrUserData); - 1 -> skip_64_any_value(Rest, 0, 0, F@_1, TrUserData); - 2 -> skip_length_delimited_any_value(Rest, 0, 0, F@_1, TrUserData); - 3 -> skip_group_any_value(Rest, Key bsr 3, 0, F@_1, TrUserData); - 5 -> skip_32_any_value(Rest, 0, 0, F@_1, TrUserData) - end + 10 -> d_field_any_value_string_value(Rest, 0, 0, F@_1, TrUserData); + 16 -> d_field_any_value_bool_value(Rest, 0, 0, F@_1, TrUserData); + 24 -> d_field_any_value_int_value(Rest, 0, 0, F@_1, TrUserData); + 33 -> d_field_any_value_double_value(Rest, 0, 0, F@_1, TrUserData); + 42 -> d_field_any_value_array_value(Rest, 0, 0, F@_1, TrUserData); + 50 -> d_field_any_value_kvlist_value(Rest, 0, 0, F@_1, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_any_value(Rest, 0, 0, F@_1, TrUserData); + 1 -> skip_64_any_value(Rest, 0, 0, F@_1, TrUserData); + 2 -> skip_length_delimited_any_value(Rest, 0, 0, F@_1, TrUserData); + 3 -> skip_group_any_value(Rest, Key bsr 3, 0, F@_1, TrUserData); + 5 -> skip_32_any_value(Rest, 0, 0, F@_1, TrUserData) + end end; dg_read_field_def_any_value(<<>>, 0, 0, F@_1, _) -> S1 = #{}, @@ -1492,14 +1700,18 @@ dg_read_field_def_any_value(<<>>, 0, 0, F@_1, _) -> d_field_any_value_string_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) when N < 57 -> d_field_any_value_string_value(Rest, N + 7, X bsl N + Acc, F@_1, TrUserData); d_field_any_value_string_value(<<0:1, X:7, Rest/binary>>, N, Acc, _, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, dfp_read_field_def_any_value(RestF, 0, 0, id({string_value, NewFValue}, TrUserData), TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, + dfp_read_field_def_any_value(RestF, 0, 0, id({string_value, NewFValue}, TrUserData), TrUserData). d_field_any_value_bool_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) when N < 57 -> d_field_any_value_bool_value(Rest, N + 7, X bsl N + Acc, F@_1, TrUserData); -d_field_any_value_bool_value(<<0:1, X:7, Rest/binary>>, N, Acc, _, TrUserData) -> {NewFValue, RestF} = {id(X bsl N + Acc =/= 0, TrUserData), Rest}, dfp_read_field_def_any_value(RestF, 0, 0, id({bool_value, NewFValue}, TrUserData), TrUserData). +d_field_any_value_bool_value(<<0:1, X:7, Rest/binary>>, N, Acc, _, TrUserData) -> + {NewFValue, RestF} = {id(X bsl N + Acc =/= 0, TrUserData), Rest}, + dfp_read_field_def_any_value(RestF, 0, 0, id({bool_value, NewFValue}, TrUserData), TrUserData). d_field_any_value_int_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) when N < 57 -> d_field_any_value_int_value(Rest, N + 7, X bsl N + Acc, F@_1, TrUserData); d_field_any_value_int_value(<<0:1, X:7, Rest/binary>>, N, Acc, _, TrUserData) -> - {NewFValue, RestF} = {begin <> = <<(X bsl N + Acc):64/unsigned-native>>, id(Res, TrUserData) end, Rest}, dfp_read_field_def_any_value(RestF, 0, 0, id({int_value, NewFValue}, TrUserData), TrUserData). + {NewFValue, RestF} = {begin <> = <<(X bsl N + Acc):64/unsigned-native>>, id(Res, TrUserData) end, Rest}, + dfp_read_field_def_any_value(RestF, 0, 0, id({int_value, NewFValue}, TrUserData), TrUserData). d_field_any_value_double_value(<<0:48, 240, 127, Rest/binary>>, Z1, Z2, _, TrUserData) -> dfp_read_field_def_any_value(Rest, Z1, Z2, id({double_value, id(infinity, TrUserData)}, TrUserData), TrUserData); d_field_any_value_double_value(<<0:48, 240, 255, Rest/binary>>, Z1, Z2, _, TrUserData) -> dfp_read_field_def_any_value(Rest, Z1, Z2, id({double_value, id('-infinity', TrUserData)}, TrUserData), TrUserData); @@ -1509,32 +1721,41 @@ d_field_any_value_double_value(<>, Z1, Z2, _ d_field_any_value_array_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) when N < 57 -> d_field_any_value_array_value(Rest, N + 7, X bsl N + Acc, F@_1, TrUserData); d_field_any_value_array_value(<<0:1, X:7, Rest/binary>>, N, Acc, Prev, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_array_value(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_any_value(RestF, 0, 0, - case Prev of - '$undef' -> id({array_value, NewFValue}, TrUserData); - {array_value, MVPrev} -> id({array_value, merge_msg_array_value(MVPrev, NewFValue, TrUserData)}, TrUserData); - _ -> id({array_value, NewFValue}, TrUserData) - end, - TrUserData). + dfp_read_field_def_any_value(RestF, + 0, + 0, + case Prev of + '$undef' -> id({array_value, NewFValue}, TrUserData); + {array_value, MVPrev} -> id({array_value, merge_msg_array_value(MVPrev, NewFValue, TrUserData)}, TrUserData); + _ -> id({array_value, NewFValue}, TrUserData) + end, + TrUserData). d_field_any_value_kvlist_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) when N < 57 -> d_field_any_value_kvlist_value(Rest, N + 7, X bsl N + Acc, F@_1, TrUserData); d_field_any_value_kvlist_value(<<0:1, X:7, Rest/binary>>, N, Acc, Prev, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_key_value_list(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_any_value(RestF, 0, 0, - case Prev of - '$undef' -> id({kvlist_value, NewFValue}, TrUserData); - {kvlist_value, MVPrev} -> id({kvlist_value, merge_msg_key_value_list(MVPrev, NewFValue, TrUserData)}, TrUserData); - _ -> id({kvlist_value, NewFValue}, TrUserData) - end, - TrUserData). + dfp_read_field_def_any_value(RestF, + 0, + 0, + case Prev of + '$undef' -> id({kvlist_value, NewFValue}, TrUserData); + {kvlist_value, MVPrev} -> id({kvlist_value, merge_msg_key_value_list(MVPrev, NewFValue, TrUserData)}, TrUserData); + _ -> id({kvlist_value, NewFValue}, TrUserData) + end, + TrUserData). skip_varint_any_value(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, TrUserData) -> skip_varint_any_value(Rest, Z1, Z2, F@_1, TrUserData); skip_varint_any_value(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, TrUserData) -> dfp_read_field_def_any_value(Rest, Z1, Z2, F@_1, TrUserData). skip_length_delimited_any_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) when N < 57 -> skip_length_delimited_any_value(Rest, N + 7, X bsl N + Acc, F@_1, TrUserData); -skip_length_delimited_any_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_any_value(Rest2, 0, 0, F@_1, TrUserData). +skip_length_delimited_any_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_any_value(Rest2, 0, 0, F@_1, TrUserData). -skip_group_any_value(Bin, FNum, Z2, F@_1, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_any_value(Rest, 0, Z2, F@_1, TrUserData). +skip_group_any_value(Bin, FNum, Z2, F@_1, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_any_value(Rest, 0, Z2, F@_1, TrUserData). skip_32_any_value(<<_:32, Rest/binary>>, Z1, Z2, F@_1, TrUserData) -> dfp_read_field_def_any_value(Rest, Z1, Z2, F@_1, TrUserData). @@ -1554,15 +1775,15 @@ dg_read_field_def_array_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserDat dg_read_field_def_array_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_array_value_values(Rest, 0, 0, F@_1, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_array_value(Rest, 0, 0, F@_1, TrUserData); - 1 -> skip_64_array_value(Rest, 0, 0, F@_1, TrUserData); - 2 -> skip_length_delimited_array_value(Rest, 0, 0, F@_1, TrUserData); - 3 -> skip_group_array_value(Rest, Key bsr 3, 0, F@_1, TrUserData); - 5 -> skip_32_array_value(Rest, 0, 0, F@_1, TrUserData) - end + 10 -> d_field_array_value_values(Rest, 0, 0, F@_1, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_array_value(Rest, 0, 0, F@_1, TrUserData); + 1 -> skip_64_array_value(Rest, 0, 0, F@_1, TrUserData); + 2 -> skip_length_delimited_array_value(Rest, 0, 0, F@_1, TrUserData); + 3 -> skip_group_array_value(Rest, Key bsr 3, 0, F@_1, TrUserData); + 5 -> skip_32_array_value(Rest, 0, 0, F@_1, TrUserData) + end end; dg_read_field_def_array_value(<<>>, 0, 0, R1, TrUserData) -> S1 = #{}, @@ -1572,15 +1793,21 @@ dg_read_field_def_array_value(<<>>, 0, 0, R1, TrUserData) -> d_field_array_value_values(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) when N < 57 -> d_field_array_value_values(Rest, N + 7, X bsl N + Acc, F@_1, TrUserData); d_field_array_value_values(<<0:1, X:7, Rest/binary>>, N, Acc, Prev, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_any_value(Bs, TrUserData), TrUserData), Rest2} end, dfp_read_field_def_array_value(RestF, 0, 0, cons(NewFValue, Prev, TrUserData), TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_any_value(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_array_value(RestF, 0, 0, cons(NewFValue, Prev, TrUserData), TrUserData). skip_varint_array_value(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, TrUserData) -> skip_varint_array_value(Rest, Z1, Z2, F@_1, TrUserData); skip_varint_array_value(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, TrUserData) -> dfp_read_field_def_array_value(Rest, Z1, Z2, F@_1, TrUserData). skip_length_delimited_array_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) when N < 57 -> skip_length_delimited_array_value(Rest, N + 7, X bsl N + Acc, F@_1, TrUserData); -skip_length_delimited_array_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_array_value(Rest2, 0, 0, F@_1, TrUserData). +skip_length_delimited_array_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_array_value(Rest2, 0, 0, F@_1, TrUserData). -skip_group_array_value(Bin, FNum, Z2, F@_1, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_array_value(Rest, 0, Z2, F@_1, TrUserData). +skip_group_array_value(Bin, FNum, Z2, F@_1, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_array_value(Rest, 0, Z2, F@_1, TrUserData). skip_32_array_value(<<_:32, Rest/binary>>, Z1, Z2, F@_1, TrUserData) -> dfp_read_field_def_array_value(Rest, Z1, Z2, F@_1, TrUserData). @@ -1600,15 +1827,15 @@ dg_read_field_def_key_value_list(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUser dg_read_field_def_key_value_list(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_key_value_list_values(Rest, 0, 0, F@_1, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_key_value_list(Rest, 0, 0, F@_1, TrUserData); - 1 -> skip_64_key_value_list(Rest, 0, 0, F@_1, TrUserData); - 2 -> skip_length_delimited_key_value_list(Rest, 0, 0, F@_1, TrUserData); - 3 -> skip_group_key_value_list(Rest, Key bsr 3, 0, F@_1, TrUserData); - 5 -> skip_32_key_value_list(Rest, 0, 0, F@_1, TrUserData) - end + 10 -> d_field_key_value_list_values(Rest, 0, 0, F@_1, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_key_value_list(Rest, 0, 0, F@_1, TrUserData); + 1 -> skip_64_key_value_list(Rest, 0, 0, F@_1, TrUserData); + 2 -> skip_length_delimited_key_value_list(Rest, 0, 0, F@_1, TrUserData); + 3 -> skip_group_key_value_list(Rest, Key bsr 3, 0, F@_1, TrUserData); + 5 -> skip_32_key_value_list(Rest, 0, 0, F@_1, TrUserData) + end end; dg_read_field_def_key_value_list(<<>>, 0, 0, R1, TrUserData) -> S1 = #{}, @@ -1618,15 +1845,21 @@ dg_read_field_def_key_value_list(<<>>, 0, 0, R1, TrUserData) -> d_field_key_value_list_values(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) when N < 57 -> d_field_key_value_list_values(Rest, N + 7, X bsl N + Acc, F@_1, TrUserData); d_field_key_value_list_values(<<0:1, X:7, Rest/binary>>, N, Acc, Prev, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_key_value(Bs, TrUserData), TrUserData), Rest2} end, dfp_read_field_def_key_value_list(RestF, 0, 0, cons(NewFValue, Prev, TrUserData), TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_key_value(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_key_value_list(RestF, 0, 0, cons(NewFValue, Prev, TrUserData), TrUserData). skip_varint_key_value_list(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, TrUserData) -> skip_varint_key_value_list(Rest, Z1, Z2, F@_1, TrUserData); skip_varint_key_value_list(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, TrUserData) -> dfp_read_field_def_key_value_list(Rest, Z1, Z2, F@_1, TrUserData). skip_length_delimited_key_value_list(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) when N < 57 -> skip_length_delimited_key_value_list(Rest, N + 7, X bsl N + Acc, F@_1, TrUserData); -skip_length_delimited_key_value_list(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_key_value_list(Rest2, 0, 0, F@_1, TrUserData). +skip_length_delimited_key_value_list(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_key_value_list(Rest2, 0, 0, F@_1, TrUserData). -skip_group_key_value_list(Bin, FNum, Z2, F@_1, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_key_value_list(Rest, 0, Z2, F@_1, TrUserData). +skip_group_key_value_list(Bin, FNum, Z2, F@_1, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_key_value_list(Rest, 0, Z2, F@_1, TrUserData). skip_32_key_value_list(<<_:32, Rest/binary>>, Z1, Z2, F@_1, TrUserData) -> dfp_read_field_def_key_value_list(Rest, Z1, Z2, F@_1, TrUserData). @@ -1647,16 +1880,16 @@ dg_read_field_def_key_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUse dg_read_field_def_key_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_key_value_key(Rest, 0, 0, F@_1, F@_2, TrUserData); - 18 -> d_field_key_value_value(Rest, 0, 0, F@_1, F@_2, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData); - 1 -> skip_64_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData); - 3 -> skip_group_key_value(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); - 5 -> skip_32_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData) - end + 10 -> d_field_key_value_key(Rest, 0, 0, F@_1, F@_2, TrUserData); + 18 -> d_field_key_value_value(Rest, 0, 0, F@_1, F@_2, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData); + 1 -> skip_64_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData); + 2 -> skip_length_delimited_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData); + 3 -> skip_group_key_value(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); + 5 -> skip_32_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData) + end end; dg_read_field_def_key_value(<<>>, 0, 0, F@_1, F@_2, _) -> S1 = #{key => F@_1}, @@ -1666,24 +1899,33 @@ dg_read_field_def_key_value(<<>>, 0, 0, F@_1, F@_2, _) -> d_field_key_value_key(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_key_value_key(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); d_field_key_value_key(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_2, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, dfp_read_field_def_key_value(RestF, 0, 0, NewFValue, F@_2, TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, + dfp_read_field_def_key_value(RestF, 0, 0, NewFValue, F@_2, TrUserData). d_field_key_value_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_key_value_value(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); d_field_key_value_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, Prev, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_any_value(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_key_value(RestF, 0, 0, F@_1, - if Prev == '$undef' -> NewFValue; - true -> merge_msg_any_value(Prev, NewFValue, TrUserData) - end, - TrUserData). + dfp_read_field_def_key_value(RestF, + 0, + 0, + F@_1, + if Prev == '$undef' -> NewFValue; + true -> merge_msg_any_value(Prev, NewFValue, TrUserData) + end, + TrUserData). skip_varint_key_value(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> skip_varint_key_value(Rest, Z1, Z2, F@_1, F@_2, TrUserData); skip_varint_key_value(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_key_value(Rest, Z1, Z2, F@_1, F@_2, TrUserData). skip_length_delimited_key_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_key_value(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); -skip_length_delimited_key_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_key_value(Rest2, 0, 0, F@_1, F@_2, TrUserData). +skip_length_delimited_key_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_key_value(Rest2, 0, 0, F@_1, F@_2, TrUserData). -skip_group_key_value(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_key_value(Rest, 0, Z2, F@_1, F@_2, TrUserData). +skip_group_key_value(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_key_value(Rest, 0, Z2, F@_1, F@_2, TrUserData). skip_32_key_value(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_key_value(Rest, Z1, Z2, F@_1, F@_2, TrUserData). @@ -1700,34 +1942,41 @@ dg_read_field_def_string_key_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2 dg_read_field_def_string_key_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_string_key_value_key(Rest, 0, 0, F@_1, F@_2, TrUserData); - 18 -> d_field_string_key_value_value(Rest, 0, 0, F@_1, F@_2, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_string_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData); - 1 -> skip_64_string_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_string_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData); - 3 -> skip_group_string_key_value(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); - 5 -> skip_32_string_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData) - end + 10 -> d_field_string_key_value_key(Rest, 0, 0, F@_1, F@_2, TrUserData); + 18 -> d_field_string_key_value_value(Rest, 0, 0, F@_1, F@_2, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_string_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData); + 1 -> skip_64_string_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData); + 2 -> skip_length_delimited_string_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData); + 3 -> skip_group_string_key_value(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); + 5 -> skip_32_string_key_value(Rest, 0, 0, F@_1, F@_2, TrUserData) + end end; dg_read_field_def_string_key_value(<<>>, 0, 0, F@_1, F@_2, _) -> #{key => F@_1, value => F@_2}. d_field_string_key_value_key(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_string_key_value_key(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); d_field_string_key_value_key(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_2, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, dfp_read_field_def_string_key_value(RestF, 0, 0, NewFValue, F@_2, TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, + dfp_read_field_def_string_key_value(RestF, 0, 0, NewFValue, F@_2, TrUserData). d_field_string_key_value_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_string_key_value_value(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); d_field_string_key_value_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, _, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, dfp_read_field_def_string_key_value(RestF, 0, 0, F@_1, NewFValue, TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, + dfp_read_field_def_string_key_value(RestF, 0, 0, F@_1, NewFValue, TrUserData). skip_varint_string_key_value(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> skip_varint_string_key_value(Rest, Z1, Z2, F@_1, F@_2, TrUserData); skip_varint_string_key_value(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_string_key_value(Rest, Z1, Z2, F@_1, F@_2, TrUserData). skip_length_delimited_string_key_value(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_string_key_value(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); -skip_length_delimited_string_key_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_string_key_value(Rest2, 0, 0, F@_1, F@_2, TrUserData). +skip_length_delimited_string_key_value(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_string_key_value(Rest2, 0, 0, F@_1, F@_2, TrUserData). -skip_group_string_key_value(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_string_key_value(Rest, 0, Z2, F@_1, F@_2, TrUserData). +skip_group_string_key_value(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_string_key_value(Rest, 0, Z2, F@_1, F@_2, TrUserData). skip_32_string_key_value(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_string_key_value(Rest, Z1, Z2, F@_1, F@_2, TrUserData). @@ -1744,35 +1993,41 @@ dg_read_field_def_instrumentation_library(<<1:1, X:7, Rest/binary>>, N, Acc, F@_ dg_read_field_def_instrumentation_library(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_instrumentation_library_name(Rest, 0, 0, F@_1, F@_2, TrUserData); - 18 -> d_field_instrumentation_library_version(Rest, 0, 0, F@_1, F@_2, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_instrumentation_library(Rest, 0, 0, F@_1, F@_2, TrUserData); - 1 -> skip_64_instrumentation_library(Rest, 0, 0, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_instrumentation_library(Rest, 0, 0, F@_1, F@_2, TrUserData); - 3 -> skip_group_instrumentation_library(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); - 5 -> skip_32_instrumentation_library(Rest, 0, 0, F@_1, F@_2, TrUserData) - end + 10 -> d_field_instrumentation_library_name(Rest, 0, 0, F@_1, F@_2, TrUserData); + 18 -> d_field_instrumentation_library_version(Rest, 0, 0, F@_1, F@_2, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_instrumentation_library(Rest, 0, 0, F@_1, F@_2, TrUserData); + 1 -> skip_64_instrumentation_library(Rest, 0, 0, F@_1, F@_2, TrUserData); + 2 -> skip_length_delimited_instrumentation_library(Rest, 0, 0, F@_1, F@_2, TrUserData); + 3 -> skip_group_instrumentation_library(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); + 5 -> skip_32_instrumentation_library(Rest, 0, 0, F@_1, F@_2, TrUserData) + end end; dg_read_field_def_instrumentation_library(<<>>, 0, 0, F@_1, F@_2, _) -> #{name => F@_1, version => F@_2}. d_field_instrumentation_library_name(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_instrumentation_library_name(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); d_field_instrumentation_library_name(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_2, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, dfp_read_field_def_instrumentation_library(RestF, 0, 0, NewFValue, F@_2, TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, + dfp_read_field_def_instrumentation_library(RestF, 0, 0, NewFValue, F@_2, TrUserData). d_field_instrumentation_library_version(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_instrumentation_library_version(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); d_field_instrumentation_library_version(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, _, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, dfp_read_field_def_instrumentation_library(RestF, 0, 0, F@_1, NewFValue, TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(binary:copy(Bytes), TrUserData), Rest2} end, + dfp_read_field_def_instrumentation_library(RestF, 0, 0, F@_1, NewFValue, TrUserData). skip_varint_instrumentation_library(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> skip_varint_instrumentation_library(Rest, Z1, Z2, F@_1, F@_2, TrUserData); skip_varint_instrumentation_library(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_instrumentation_library(Rest, Z1, Z2, F@_1, F@_2, TrUserData). skip_length_delimited_instrumentation_library(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_instrumentation_library(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); skip_length_delimited_instrumentation_library(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> - Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_instrumentation_library(Rest2, 0, 0, F@_1, F@_2, TrUserData). + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_instrumentation_library(Rest2, 0, 0, F@_1, F@_2, TrUserData). -skip_group_instrumentation_library(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_instrumentation_library(Rest, 0, Z2, F@_1, F@_2, TrUserData). +skip_group_instrumentation_library(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_instrumentation_library(Rest, 0, Z2, F@_1, F@_2, TrUserData). skip_32_instrumentation_library(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_instrumentation_library(Rest, Z1, Z2, F@_1, F@_2, TrUserData). @@ -1793,16 +2048,16 @@ dg_read_field_def_resource(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUser dg_read_field_def_resource(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_resource_attributes(Rest, 0, 0, F@_1, F@_2, TrUserData); - 16 -> d_field_resource_dropped_attributes_count(Rest, 0, 0, F@_1, F@_2, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_resource(Rest, 0, 0, F@_1, F@_2, TrUserData); - 1 -> skip_64_resource(Rest, 0, 0, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_resource(Rest, 0, 0, F@_1, F@_2, TrUserData); - 3 -> skip_group_resource(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); - 5 -> skip_32_resource(Rest, 0, 0, F@_1, F@_2, TrUserData) - end + 10 -> d_field_resource_attributes(Rest, 0, 0, F@_1, F@_2, TrUserData); + 16 -> d_field_resource_dropped_attributes_count(Rest, 0, 0, F@_1, F@_2, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_resource(Rest, 0, 0, F@_1, F@_2, TrUserData); + 1 -> skip_64_resource(Rest, 0, 0, F@_1, F@_2, TrUserData); + 2 -> skip_length_delimited_resource(Rest, 0, 0, F@_1, F@_2, TrUserData); + 3 -> skip_group_resource(Rest, Key bsr 3, 0, F@_1, F@_2, TrUserData); + 5 -> skip_32_resource(Rest, 0, 0, F@_1, F@_2, TrUserData) + end end; dg_read_field_def_resource(<<>>, 0, 0, R1, F@_2, TrUserData) -> S1 = #{dropped_attributes_count => F@_2}, @@ -1812,18 +2067,26 @@ dg_read_field_def_resource(<<>>, 0, 0, R1, F@_2, TrUserData) -> d_field_resource_attributes(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_resource_attributes(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); d_field_resource_attributes(<<0:1, X:7, Rest/binary>>, N, Acc, Prev, F@_2, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_key_value(Bs, TrUserData), TrUserData), Rest2} end, dfp_read_field_def_resource(RestF, 0, 0, cons(NewFValue, Prev, TrUserData), F@_2, TrUserData). + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_key_value(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_resource(RestF, 0, 0, cons(NewFValue, Prev, TrUserData), F@_2, TrUserData). d_field_resource_dropped_attributes_count(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> d_field_resource_dropped_attributes_count(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); -d_field_resource_dropped_attributes_count(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, _, TrUserData) -> {NewFValue, RestF} = {id(X bsl N + Acc, TrUserData), Rest}, dfp_read_field_def_resource(RestF, 0, 0, F@_1, NewFValue, TrUserData). +d_field_resource_dropped_attributes_count(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, _, TrUserData) -> + {NewFValue, RestF} = {id(X bsl N + Acc, TrUserData), Rest}, + dfp_read_field_def_resource(RestF, 0, 0, F@_1, NewFValue, TrUserData). skip_varint_resource(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> skip_varint_resource(Rest, Z1, Z2, F@_1, F@_2, TrUserData); skip_varint_resource(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_resource(Rest, Z1, Z2, F@_1, F@_2, TrUserData). skip_length_delimited_resource(<<1:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_resource(Rest, N + 7, X bsl N + Acc, F@_1, F@_2, TrUserData); -skip_length_delimited_resource(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, dfp_read_field_def_resource(Rest2, 0, 0, F@_1, F@_2, TrUserData). +skip_length_delimited_resource(<<0:1, X:7, Rest/binary>>, N, Acc, F@_1, F@_2, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_resource(Rest2, 0, 0, F@_1, F@_2, TrUserData). -skip_group_resource(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> {_, Rest} = read_group(Bin, FNum), dfp_read_field_def_resource(Rest, 0, Z2, F@_1, F@_2, TrUserData). +skip_group_resource(Bin, FNum, Z2, F@_1, F@_2, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_resource(Rest, 0, Z2, F@_1, F@_2, TrUserData). skip_32_resource(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_read_field_def_resource(Rest, Z1, Z2, F@_1, F@_2, TrUserData). @@ -1837,23 +2100,28 @@ skip_64_resource(<<_:64, Rest/binary>>, Z1, Z2, F@_1, F@_2, TrUserData) -> dfp_r 'd_enum_span.SpanKind'(5) -> 'SPAN_KIND_CONSUMER'; 'd_enum_span.SpanKind'(V) -> V. -'d_enum_status.StatusCode'(0) -> 'STATUS_CODE_OK'; -'d_enum_status.StatusCode'(1) -> 'STATUS_CODE_CANCELLED'; -'d_enum_status.StatusCode'(2) -> 'STATUS_CODE_UNKNOWN_ERROR'; -'d_enum_status.StatusCode'(3) -> 'STATUS_CODE_INVALID_ARGUMENT'; -'d_enum_status.StatusCode'(4) -> 'STATUS_CODE_DEADLINE_EXCEEDED'; -'d_enum_status.StatusCode'(5) -> 'STATUS_CODE_NOT_FOUND'; -'d_enum_status.StatusCode'(6) -> 'STATUS_CODE_ALREADY_EXISTS'; -'d_enum_status.StatusCode'(7) -> 'STATUS_CODE_PERMISSION_DENIED'; -'d_enum_status.StatusCode'(8) -> 'STATUS_CODE_RESOURCE_EXHAUSTED'; -'d_enum_status.StatusCode'(9) -> 'STATUS_CODE_FAILED_PRECONDITION'; -'d_enum_status.StatusCode'(10) -> 'STATUS_CODE_ABORTED'; -'d_enum_status.StatusCode'(11) -> 'STATUS_CODE_OUT_OF_RANGE'; -'d_enum_status.StatusCode'(12) -> 'STATUS_CODE_UNIMPLEMENTED'; -'d_enum_status.StatusCode'(13) -> 'STATUS_CODE_INTERNAL_ERROR'; -'d_enum_status.StatusCode'(14) -> 'STATUS_CODE_UNAVAILABLE'; -'d_enum_status.StatusCode'(15) -> 'STATUS_CODE_DATA_LOSS'; -'d_enum_status.StatusCode'(16) -> 'STATUS_CODE_UNAUTHENTICATED'; +'d_enum_status.DeprecatedStatusCode'(0) -> 'DEPRECATED_STATUS_CODE_OK'; +'d_enum_status.DeprecatedStatusCode'(1) -> 'DEPRECATED_STATUS_CODE_CANCELLED'; +'d_enum_status.DeprecatedStatusCode'(2) -> 'DEPRECATED_STATUS_CODE_UNKNOWN_ERROR'; +'d_enum_status.DeprecatedStatusCode'(3) -> 'DEPRECATED_STATUS_CODE_INVALID_ARGUMENT'; +'d_enum_status.DeprecatedStatusCode'(4) -> 'DEPRECATED_STATUS_CODE_DEADLINE_EXCEEDED'; +'d_enum_status.DeprecatedStatusCode'(5) -> 'DEPRECATED_STATUS_CODE_NOT_FOUND'; +'d_enum_status.DeprecatedStatusCode'(6) -> 'DEPRECATED_STATUS_CODE_ALREADY_EXISTS'; +'d_enum_status.DeprecatedStatusCode'(7) -> 'DEPRECATED_STATUS_CODE_PERMISSION_DENIED'; +'d_enum_status.DeprecatedStatusCode'(8) -> 'DEPRECATED_STATUS_CODE_RESOURCE_EXHAUSTED'; +'d_enum_status.DeprecatedStatusCode'(9) -> 'DEPRECATED_STATUS_CODE_FAILED_PRECONDITION'; +'d_enum_status.DeprecatedStatusCode'(10) -> 'DEPRECATED_STATUS_CODE_ABORTED'; +'d_enum_status.DeprecatedStatusCode'(11) -> 'DEPRECATED_STATUS_CODE_OUT_OF_RANGE'; +'d_enum_status.DeprecatedStatusCode'(12) -> 'DEPRECATED_STATUS_CODE_UNIMPLEMENTED'; +'d_enum_status.DeprecatedStatusCode'(13) -> 'DEPRECATED_STATUS_CODE_INTERNAL_ERROR'; +'d_enum_status.DeprecatedStatusCode'(14) -> 'DEPRECATED_STATUS_CODE_UNAVAILABLE'; +'d_enum_status.DeprecatedStatusCode'(15) -> 'DEPRECATED_STATUS_CODE_DATA_LOSS'; +'d_enum_status.DeprecatedStatusCode'(16) -> 'DEPRECATED_STATUS_CODE_UNAUTHENTICATED'; +'d_enum_status.DeprecatedStatusCode'(V) -> V. + +'d_enum_status.StatusCode'(0) -> 'STATUS_CODE_UNSET'; +'d_enum_status.StatusCode'(1) -> 'STATUS_CODE_OK'; +'d_enum_status.StatusCode'(2) -> 'STATUS_CODE_ERROR'; 'd_enum_status.StatusCode'(V) -> V. read_group(Bin, FieldNum) -> @@ -1919,31 +2187,31 @@ merge_msgs(Prev, New, MsgName) when is_atom(MsgName) -> merge_msgs(Prev, New, Ms merge_msgs(Prev, New, MsgName, Opts) -> TrUserData = proplists:get_value(user_data, Opts), case MsgName of - export_trace_service_request -> merge_msg_export_trace_service_request(Prev, New, TrUserData); - export_trace_service_response -> merge_msg_export_trace_service_response(Prev, New, TrUserData); - resource_spans -> merge_msg_resource_spans(Prev, New, TrUserData); - instrumentation_library_spans -> merge_msg_instrumentation_library_spans(Prev, New, TrUserData); - event -> merge_msg_event(Prev, New, TrUserData); - link -> merge_msg_link(Prev, New, TrUserData); - span -> merge_msg_span(Prev, New, TrUserData); - status -> merge_msg_status(Prev, New, TrUserData); - any_value -> merge_msg_any_value(Prev, New, TrUserData); - array_value -> merge_msg_array_value(Prev, New, TrUserData); - key_value_list -> merge_msg_key_value_list(Prev, New, TrUserData); - key_value -> merge_msg_key_value(Prev, New, TrUserData); - string_key_value -> merge_msg_string_key_value(Prev, New, TrUserData); - instrumentation_library -> merge_msg_instrumentation_library(Prev, New, TrUserData); - resource -> merge_msg_resource(Prev, New, TrUserData) + export_trace_service_request -> merge_msg_export_trace_service_request(Prev, New, TrUserData); + export_trace_service_response -> merge_msg_export_trace_service_response(Prev, New, TrUserData); + resource_spans -> merge_msg_resource_spans(Prev, New, TrUserData); + instrumentation_library_spans -> merge_msg_instrumentation_library_spans(Prev, New, TrUserData); + event -> merge_msg_event(Prev, New, TrUserData); + link -> merge_msg_link(Prev, New, TrUserData); + span -> merge_msg_span(Prev, New, TrUserData); + status -> merge_msg_status(Prev, New, TrUserData); + any_value -> merge_msg_any_value(Prev, New, TrUserData); + array_value -> merge_msg_array_value(Prev, New, TrUserData); + key_value_list -> merge_msg_key_value_list(Prev, New, TrUserData); + key_value -> merge_msg_key_value(Prev, New, TrUserData); + string_key_value -> merge_msg_string_key_value(Prev, New, TrUserData); + instrumentation_library -> merge_msg_instrumentation_library(Prev, New, TrUserData); + resource -> merge_msg_resource(Prev, New, TrUserData) end. -compile({nowarn_unused_function,merge_msg_export_trace_service_request/3}). merge_msg_export_trace_service_request(PMsg, NMsg, TrUserData) -> S1 = #{}, case {PMsg, NMsg} of - {#{resource_spans := PFresource_spans}, #{resource_spans := NFresource_spans}} -> S1#{resource_spans => 'erlang_++'(PFresource_spans, NFresource_spans, TrUserData)}; - {_, #{resource_spans := NFresource_spans}} -> S1#{resource_spans => NFresource_spans}; - {#{resource_spans := PFresource_spans}, _} -> S1#{resource_spans => PFresource_spans}; - {_, _} -> S1 + {#{resource_spans := PFresource_spans}, #{resource_spans := NFresource_spans}} -> S1#{resource_spans => 'erlang_++'(PFresource_spans, NFresource_spans, TrUserData)}; + {_, #{resource_spans := NFresource_spans}} -> S1#{resource_spans => NFresource_spans}; + {#{resource_spans := PFresource_spans}, _} -> S1#{resource_spans => PFresource_spans}; + {_, _} -> S1 end. -compile({nowarn_unused_function,merge_msg_export_trace_service_response/3}). @@ -1953,274 +2221,279 @@ merge_msg_export_trace_service_response(_Prev, New, _TrUserData) -> New. merge_msg_resource_spans(PMsg, NMsg, TrUserData) -> S1 = #{}, S2 = case {PMsg, NMsg} of - {#{resource := PFresource}, #{resource := NFresource}} -> S1#{resource => merge_msg_resource(PFresource, NFresource, TrUserData)}; - {_, #{resource := NFresource}} -> S1#{resource => NFresource}; - {#{resource := PFresource}, _} -> S1#{resource => PFresource}; - {_, _} -> S1 - end, + {#{resource := PFresource}, #{resource := NFresource}} -> S1#{resource => merge_msg_resource(PFresource, NFresource, TrUserData)}; + {_, #{resource := NFresource}} -> S1#{resource => NFresource}; + {#{resource := PFresource}, _} -> S1#{resource => PFresource}; + {_, _} -> S1 + end, case {PMsg, NMsg} of - {#{instrumentation_library_spans := PFinstrumentation_library_spans}, #{instrumentation_library_spans := NFinstrumentation_library_spans}} -> - S2#{instrumentation_library_spans => 'erlang_++'(PFinstrumentation_library_spans, NFinstrumentation_library_spans, TrUserData)}; - {_, #{instrumentation_library_spans := NFinstrumentation_library_spans}} -> S2#{instrumentation_library_spans => NFinstrumentation_library_spans}; - {#{instrumentation_library_spans := PFinstrumentation_library_spans}, _} -> S2#{instrumentation_library_spans => PFinstrumentation_library_spans}; - {_, _} -> S2 + {#{instrumentation_library_spans := PFinstrumentation_library_spans}, #{instrumentation_library_spans := NFinstrumentation_library_spans}} -> + S2#{instrumentation_library_spans => 'erlang_++'(PFinstrumentation_library_spans, NFinstrumentation_library_spans, TrUserData)}; + {_, #{instrumentation_library_spans := NFinstrumentation_library_spans}} -> S2#{instrumentation_library_spans => NFinstrumentation_library_spans}; + {#{instrumentation_library_spans := PFinstrumentation_library_spans}, _} -> S2#{instrumentation_library_spans => PFinstrumentation_library_spans}; + {_, _} -> S2 end. -compile({nowarn_unused_function,merge_msg_instrumentation_library_spans/3}). merge_msg_instrumentation_library_spans(PMsg, NMsg, TrUserData) -> S1 = #{}, S2 = case {PMsg, NMsg} of - {#{instrumentation_library := PFinstrumentation_library}, #{instrumentation_library := NFinstrumentation_library}} -> S1#{instrumentation_library => merge_msg_instrumentation_library(PFinstrumentation_library, NFinstrumentation_library, TrUserData)}; - {_, #{instrumentation_library := NFinstrumentation_library}} -> S1#{instrumentation_library => NFinstrumentation_library}; - {#{instrumentation_library := PFinstrumentation_library}, _} -> S1#{instrumentation_library => PFinstrumentation_library}; - {_, _} -> S1 - end, + {#{instrumentation_library := PFinstrumentation_library}, #{instrumentation_library := NFinstrumentation_library}} -> S1#{instrumentation_library => merge_msg_instrumentation_library(PFinstrumentation_library, NFinstrumentation_library, TrUserData)}; + {_, #{instrumentation_library := NFinstrumentation_library}} -> S1#{instrumentation_library => NFinstrumentation_library}; + {#{instrumentation_library := PFinstrumentation_library}, _} -> S1#{instrumentation_library => PFinstrumentation_library}; + {_, _} -> S1 + end, case {PMsg, NMsg} of - {#{spans := PFspans}, #{spans := NFspans}} -> S2#{spans => 'erlang_++'(PFspans, NFspans, TrUserData)}; - {_, #{spans := NFspans}} -> S2#{spans => NFspans}; - {#{spans := PFspans}, _} -> S2#{spans => PFspans}; - {_, _} -> S2 + {#{spans := PFspans}, #{spans := NFspans}} -> S2#{spans => 'erlang_++'(PFspans, NFspans, TrUserData)}; + {_, #{spans := NFspans}} -> S2#{spans => NFspans}; + {#{spans := PFspans}, _} -> S2#{spans => PFspans}; + {_, _} -> S2 end. -compile({nowarn_unused_function,merge_msg_event/3}). merge_msg_event(PMsg, NMsg, TrUserData) -> S1 = #{}, S2 = case {PMsg, NMsg} of - {_, #{time_unix_nano := NFtime_unix_nano}} -> S1#{time_unix_nano => NFtime_unix_nano}; - {#{time_unix_nano := PFtime_unix_nano}, _} -> S1#{time_unix_nano => PFtime_unix_nano}; - _ -> S1 - end, + {_, #{time_unix_nano := NFtime_unix_nano}} -> S1#{time_unix_nano => NFtime_unix_nano}; + {#{time_unix_nano := PFtime_unix_nano}, _} -> S1#{time_unix_nano => PFtime_unix_nano}; + _ -> S1 + end, S3 = case {PMsg, NMsg} of - {_, #{name := NFname}} -> S2#{name => NFname}; - {#{name := PFname}, _} -> S2#{name => PFname}; - _ -> S2 - end, + {_, #{name := NFname}} -> S2#{name => NFname}; + {#{name := PFname}, _} -> S2#{name => PFname}; + _ -> S2 + end, S4 = case {PMsg, NMsg} of - {#{attributes := PFattributes}, #{attributes := NFattributes}} -> S3#{attributes => 'erlang_++'(PFattributes, NFattributes, TrUserData)}; - {_, #{attributes := NFattributes}} -> S3#{attributes => NFattributes}; - {#{attributes := PFattributes}, _} -> S3#{attributes => PFattributes}; - {_, _} -> S3 - end, + {#{attributes := PFattributes}, #{attributes := NFattributes}} -> S3#{attributes => 'erlang_++'(PFattributes, NFattributes, TrUserData)}; + {_, #{attributes := NFattributes}} -> S3#{attributes => NFattributes}; + {#{attributes := PFattributes}, _} -> S3#{attributes => PFattributes}; + {_, _} -> S3 + end, case {PMsg, NMsg} of - {_, #{dropped_attributes_count := NFdropped_attributes_count}} -> S4#{dropped_attributes_count => NFdropped_attributes_count}; - {#{dropped_attributes_count := PFdropped_attributes_count}, _} -> S4#{dropped_attributes_count => PFdropped_attributes_count}; - _ -> S4 + {_, #{dropped_attributes_count := NFdropped_attributes_count}} -> S4#{dropped_attributes_count => NFdropped_attributes_count}; + {#{dropped_attributes_count := PFdropped_attributes_count}, _} -> S4#{dropped_attributes_count => PFdropped_attributes_count}; + _ -> S4 end. -compile({nowarn_unused_function,merge_msg_link/3}). merge_msg_link(PMsg, NMsg, TrUserData) -> S1 = #{}, S2 = case {PMsg, NMsg} of - {_, #{trace_id := NFtrace_id}} -> S1#{trace_id => NFtrace_id}; - {#{trace_id := PFtrace_id}, _} -> S1#{trace_id => PFtrace_id}; - _ -> S1 - end, + {_, #{trace_id := NFtrace_id}} -> S1#{trace_id => NFtrace_id}; + {#{trace_id := PFtrace_id}, _} -> S1#{trace_id => PFtrace_id}; + _ -> S1 + end, S3 = case {PMsg, NMsg} of - {_, #{span_id := NFspan_id}} -> S2#{span_id => NFspan_id}; - {#{span_id := PFspan_id}, _} -> S2#{span_id => PFspan_id}; - _ -> S2 - end, + {_, #{span_id := NFspan_id}} -> S2#{span_id => NFspan_id}; + {#{span_id := PFspan_id}, _} -> S2#{span_id => PFspan_id}; + _ -> S2 + end, S4 = case {PMsg, NMsg} of - {_, #{trace_state := NFtrace_state}} -> S3#{trace_state => NFtrace_state}; - {#{trace_state := PFtrace_state}, _} -> S3#{trace_state => PFtrace_state}; - _ -> S3 - end, + {_, #{trace_state := NFtrace_state}} -> S3#{trace_state => NFtrace_state}; + {#{trace_state := PFtrace_state}, _} -> S3#{trace_state => PFtrace_state}; + _ -> S3 + end, S5 = case {PMsg, NMsg} of - {#{attributes := PFattributes}, #{attributes := NFattributes}} -> S4#{attributes => 'erlang_++'(PFattributes, NFattributes, TrUserData)}; - {_, #{attributes := NFattributes}} -> S4#{attributes => NFattributes}; - {#{attributes := PFattributes}, _} -> S4#{attributes => PFattributes}; - {_, _} -> S4 - end, + {#{attributes := PFattributes}, #{attributes := NFattributes}} -> S4#{attributes => 'erlang_++'(PFattributes, NFattributes, TrUserData)}; + {_, #{attributes := NFattributes}} -> S4#{attributes => NFattributes}; + {#{attributes := PFattributes}, _} -> S4#{attributes => PFattributes}; + {_, _} -> S4 + end, case {PMsg, NMsg} of - {_, #{dropped_attributes_count := NFdropped_attributes_count}} -> S5#{dropped_attributes_count => NFdropped_attributes_count}; - {#{dropped_attributes_count := PFdropped_attributes_count}, _} -> S5#{dropped_attributes_count => PFdropped_attributes_count}; - _ -> S5 + {_, #{dropped_attributes_count := NFdropped_attributes_count}} -> S5#{dropped_attributes_count => NFdropped_attributes_count}; + {#{dropped_attributes_count := PFdropped_attributes_count}, _} -> S5#{dropped_attributes_count => PFdropped_attributes_count}; + _ -> S5 end. -compile({nowarn_unused_function,merge_msg_span/3}). merge_msg_span(PMsg, NMsg, TrUserData) -> S1 = #{}, S2 = case {PMsg, NMsg} of - {_, #{trace_id := NFtrace_id}} -> S1#{trace_id => NFtrace_id}; - {#{trace_id := PFtrace_id}, _} -> S1#{trace_id => PFtrace_id}; - _ -> S1 - end, + {_, #{trace_id := NFtrace_id}} -> S1#{trace_id => NFtrace_id}; + {#{trace_id := PFtrace_id}, _} -> S1#{trace_id => PFtrace_id}; + _ -> S1 + end, S3 = case {PMsg, NMsg} of - {_, #{span_id := NFspan_id}} -> S2#{span_id => NFspan_id}; - {#{span_id := PFspan_id}, _} -> S2#{span_id => PFspan_id}; - _ -> S2 - end, + {_, #{span_id := NFspan_id}} -> S2#{span_id => NFspan_id}; + {#{span_id := PFspan_id}, _} -> S2#{span_id => PFspan_id}; + _ -> S2 + end, S4 = case {PMsg, NMsg} of - {_, #{trace_state := NFtrace_state}} -> S3#{trace_state => NFtrace_state}; - {#{trace_state := PFtrace_state}, _} -> S3#{trace_state => PFtrace_state}; - _ -> S3 - end, + {_, #{trace_state := NFtrace_state}} -> S3#{trace_state => NFtrace_state}; + {#{trace_state := PFtrace_state}, _} -> S3#{trace_state => PFtrace_state}; + _ -> S3 + end, S5 = case {PMsg, NMsg} of - {_, #{parent_span_id := NFparent_span_id}} -> S4#{parent_span_id => NFparent_span_id}; - {#{parent_span_id := PFparent_span_id}, _} -> S4#{parent_span_id => PFparent_span_id}; - _ -> S4 - end, + {_, #{parent_span_id := NFparent_span_id}} -> S4#{parent_span_id => NFparent_span_id}; + {#{parent_span_id := PFparent_span_id}, _} -> S4#{parent_span_id => PFparent_span_id}; + _ -> S4 + end, S6 = case {PMsg, NMsg} of - {_, #{name := NFname}} -> S5#{name => NFname}; - {#{name := PFname}, _} -> S5#{name => PFname}; - _ -> S5 - end, + {_, #{name := NFname}} -> S5#{name => NFname}; + {#{name := PFname}, _} -> S5#{name => PFname}; + _ -> S5 + end, S7 = case {PMsg, NMsg} of - {_, #{kind := NFkind}} -> S6#{kind => NFkind}; - {#{kind := PFkind}, _} -> S6#{kind => PFkind}; - _ -> S6 - end, + {_, #{kind := NFkind}} -> S6#{kind => NFkind}; + {#{kind := PFkind}, _} -> S6#{kind => PFkind}; + _ -> S6 + end, S8 = case {PMsg, NMsg} of - {_, #{start_time_unix_nano := NFstart_time_unix_nano}} -> S7#{start_time_unix_nano => NFstart_time_unix_nano}; - {#{start_time_unix_nano := PFstart_time_unix_nano}, _} -> S7#{start_time_unix_nano => PFstart_time_unix_nano}; - _ -> S7 - end, + {_, #{start_time_unix_nano := NFstart_time_unix_nano}} -> S7#{start_time_unix_nano => NFstart_time_unix_nano}; + {#{start_time_unix_nano := PFstart_time_unix_nano}, _} -> S7#{start_time_unix_nano => PFstart_time_unix_nano}; + _ -> S7 + end, S9 = case {PMsg, NMsg} of - {_, #{end_time_unix_nano := NFend_time_unix_nano}} -> S8#{end_time_unix_nano => NFend_time_unix_nano}; - {#{end_time_unix_nano := PFend_time_unix_nano}, _} -> S8#{end_time_unix_nano => PFend_time_unix_nano}; - _ -> S8 - end, + {_, #{end_time_unix_nano := NFend_time_unix_nano}} -> S8#{end_time_unix_nano => NFend_time_unix_nano}; + {#{end_time_unix_nano := PFend_time_unix_nano}, _} -> S8#{end_time_unix_nano => PFend_time_unix_nano}; + _ -> S8 + end, S10 = case {PMsg, NMsg} of - {#{attributes := PFattributes}, #{attributes := NFattributes}} -> S9#{attributes => 'erlang_++'(PFattributes, NFattributes, TrUserData)}; - {_, #{attributes := NFattributes}} -> S9#{attributes => NFattributes}; - {#{attributes := PFattributes}, _} -> S9#{attributes => PFattributes}; - {_, _} -> S9 - end, + {#{attributes := PFattributes}, #{attributes := NFattributes}} -> S9#{attributes => 'erlang_++'(PFattributes, NFattributes, TrUserData)}; + {_, #{attributes := NFattributes}} -> S9#{attributes => NFattributes}; + {#{attributes := PFattributes}, _} -> S9#{attributes => PFattributes}; + {_, _} -> S9 + end, S11 = case {PMsg, NMsg} of - {_, #{dropped_attributes_count := NFdropped_attributes_count}} -> S10#{dropped_attributes_count => NFdropped_attributes_count}; - {#{dropped_attributes_count := PFdropped_attributes_count}, _} -> S10#{dropped_attributes_count => PFdropped_attributes_count}; - _ -> S10 - end, + {_, #{dropped_attributes_count := NFdropped_attributes_count}} -> S10#{dropped_attributes_count => NFdropped_attributes_count}; + {#{dropped_attributes_count := PFdropped_attributes_count}, _} -> S10#{dropped_attributes_count => PFdropped_attributes_count}; + _ -> S10 + end, S12 = case {PMsg, NMsg} of - {#{events := PFevents}, #{events := NFevents}} -> S11#{events => 'erlang_++'(PFevents, NFevents, TrUserData)}; - {_, #{events := NFevents}} -> S11#{events => NFevents}; - {#{events := PFevents}, _} -> S11#{events => PFevents}; - {_, _} -> S11 - end, + {#{events := PFevents}, #{events := NFevents}} -> S11#{events => 'erlang_++'(PFevents, NFevents, TrUserData)}; + {_, #{events := NFevents}} -> S11#{events => NFevents}; + {#{events := PFevents}, _} -> S11#{events => PFevents}; + {_, _} -> S11 + end, S13 = case {PMsg, NMsg} of - {_, #{dropped_events_count := NFdropped_events_count}} -> S12#{dropped_events_count => NFdropped_events_count}; - {#{dropped_events_count := PFdropped_events_count}, _} -> S12#{dropped_events_count => PFdropped_events_count}; - _ -> S12 - end, + {_, #{dropped_events_count := NFdropped_events_count}} -> S12#{dropped_events_count => NFdropped_events_count}; + {#{dropped_events_count := PFdropped_events_count}, _} -> S12#{dropped_events_count => PFdropped_events_count}; + _ -> S12 + end, S14 = case {PMsg, NMsg} of - {#{links := PFlinks}, #{links := NFlinks}} -> S13#{links => 'erlang_++'(PFlinks, NFlinks, TrUserData)}; - {_, #{links := NFlinks}} -> S13#{links => NFlinks}; - {#{links := PFlinks}, _} -> S13#{links => PFlinks}; - {_, _} -> S13 - end, + {#{links := PFlinks}, #{links := NFlinks}} -> S13#{links => 'erlang_++'(PFlinks, NFlinks, TrUserData)}; + {_, #{links := NFlinks}} -> S13#{links => NFlinks}; + {#{links := PFlinks}, _} -> S13#{links => PFlinks}; + {_, _} -> S13 + end, S15 = case {PMsg, NMsg} of - {_, #{dropped_links_count := NFdropped_links_count}} -> S14#{dropped_links_count => NFdropped_links_count}; - {#{dropped_links_count := PFdropped_links_count}, _} -> S14#{dropped_links_count => PFdropped_links_count}; - _ -> S14 - end, + {_, #{dropped_links_count := NFdropped_links_count}} -> S14#{dropped_links_count => NFdropped_links_count}; + {#{dropped_links_count := PFdropped_links_count}, _} -> S14#{dropped_links_count => PFdropped_links_count}; + _ -> S14 + end, case {PMsg, NMsg} of - {#{status := PFstatus}, #{status := NFstatus}} -> S15#{status => merge_msg_status(PFstatus, NFstatus, TrUserData)}; - {_, #{status := NFstatus}} -> S15#{status => NFstatus}; - {#{status := PFstatus}, _} -> S15#{status => PFstatus}; - {_, _} -> S15 + {#{status := PFstatus}, #{status := NFstatus}} -> S15#{status => merge_msg_status(PFstatus, NFstatus, TrUserData)}; + {_, #{status := NFstatus}} -> S15#{status => NFstatus}; + {#{status := PFstatus}, _} -> S15#{status => PFstatus}; + {_, _} -> S15 end. -compile({nowarn_unused_function,merge_msg_status/3}). merge_msg_status(PMsg, NMsg, _) -> S1 = #{}, S2 = case {PMsg, NMsg} of - {_, #{code := NFcode}} -> S1#{code => NFcode}; - {#{code := PFcode}, _} -> S1#{code => PFcode}; - _ -> S1 - end, + {_, #{deprecated_code := NFdeprecated_code}} -> S1#{deprecated_code => NFdeprecated_code}; + {#{deprecated_code := PFdeprecated_code}, _} -> S1#{deprecated_code => PFdeprecated_code}; + _ -> S1 + end, + S3 = case {PMsg, NMsg} of + {_, #{message := NFmessage}} -> S2#{message => NFmessage}; + {#{message := PFmessage}, _} -> S2#{message => PFmessage}; + _ -> S2 + end, case {PMsg, NMsg} of - {_, #{message := NFmessage}} -> S2#{message => NFmessage}; - {#{message := PFmessage}, _} -> S2#{message => PFmessage}; - _ -> S2 + {_, #{code := NFcode}} -> S3#{code => NFcode}; + {#{code := PFcode}, _} -> S3#{code => PFcode}; + _ -> S3 end. -compile({nowarn_unused_function,merge_msg_any_value/3}). merge_msg_any_value(PMsg, NMsg, TrUserData) -> S1 = #{}, case {PMsg, NMsg} of - {#{value := {array_value, OPFvalue}}, #{value := {array_value, ONFvalue}}} -> S1#{value => {array_value, merge_msg_array_value(OPFvalue, ONFvalue, TrUserData)}}; - {#{value := {kvlist_value, OPFvalue}}, #{value := {kvlist_value, ONFvalue}}} -> S1#{value => {kvlist_value, merge_msg_key_value_list(OPFvalue, ONFvalue, TrUserData)}}; - {_, #{value := NFvalue}} -> S1#{value => NFvalue}; - {#{value := PFvalue}, _} -> S1#{value => PFvalue}; - {_, _} -> S1 + {#{value := {array_value, OPFvalue}}, #{value := {array_value, ONFvalue}}} -> S1#{value => {array_value, merge_msg_array_value(OPFvalue, ONFvalue, TrUserData)}}; + {#{value := {kvlist_value, OPFvalue}}, #{value := {kvlist_value, ONFvalue}}} -> S1#{value => {kvlist_value, merge_msg_key_value_list(OPFvalue, ONFvalue, TrUserData)}}; + {_, #{value := NFvalue}} -> S1#{value => NFvalue}; + {#{value := PFvalue}, _} -> S1#{value => PFvalue}; + {_, _} -> S1 end. -compile({nowarn_unused_function,merge_msg_array_value/3}). merge_msg_array_value(PMsg, NMsg, TrUserData) -> S1 = #{}, case {PMsg, NMsg} of - {#{values := PFvalues}, #{values := NFvalues}} -> S1#{values => 'erlang_++'(PFvalues, NFvalues, TrUserData)}; - {_, #{values := NFvalues}} -> S1#{values => NFvalues}; - {#{values := PFvalues}, _} -> S1#{values => PFvalues}; - {_, _} -> S1 + {#{values := PFvalues}, #{values := NFvalues}} -> S1#{values => 'erlang_++'(PFvalues, NFvalues, TrUserData)}; + {_, #{values := NFvalues}} -> S1#{values => NFvalues}; + {#{values := PFvalues}, _} -> S1#{values => PFvalues}; + {_, _} -> S1 end. -compile({nowarn_unused_function,merge_msg_key_value_list/3}). merge_msg_key_value_list(PMsg, NMsg, TrUserData) -> S1 = #{}, case {PMsg, NMsg} of - {#{values := PFvalues}, #{values := NFvalues}} -> S1#{values => 'erlang_++'(PFvalues, NFvalues, TrUserData)}; - {_, #{values := NFvalues}} -> S1#{values => NFvalues}; - {#{values := PFvalues}, _} -> S1#{values => PFvalues}; - {_, _} -> S1 + {#{values := PFvalues}, #{values := NFvalues}} -> S1#{values => 'erlang_++'(PFvalues, NFvalues, TrUserData)}; + {_, #{values := NFvalues}} -> S1#{values => NFvalues}; + {#{values := PFvalues}, _} -> S1#{values => PFvalues}; + {_, _} -> S1 end. -compile({nowarn_unused_function,merge_msg_key_value/3}). merge_msg_key_value(PMsg, NMsg, TrUserData) -> S1 = #{}, S2 = case {PMsg, NMsg} of - {_, #{key := NFkey}} -> S1#{key => NFkey}; - {#{key := PFkey}, _} -> S1#{key => PFkey}; - _ -> S1 - end, + {_, #{key := NFkey}} -> S1#{key => NFkey}; + {#{key := PFkey}, _} -> S1#{key => PFkey}; + _ -> S1 + end, case {PMsg, NMsg} of - {#{value := PFvalue}, #{value := NFvalue}} -> S2#{value => merge_msg_any_value(PFvalue, NFvalue, TrUserData)}; - {_, #{value := NFvalue}} -> S2#{value => NFvalue}; - {#{value := PFvalue}, _} -> S2#{value => PFvalue}; - {_, _} -> S2 + {#{value := PFvalue}, #{value := NFvalue}} -> S2#{value => merge_msg_any_value(PFvalue, NFvalue, TrUserData)}; + {_, #{value := NFvalue}} -> S2#{value => NFvalue}; + {#{value := PFvalue}, _} -> S2#{value => PFvalue}; + {_, _} -> S2 end. -compile({nowarn_unused_function,merge_msg_string_key_value/3}). merge_msg_string_key_value(PMsg, NMsg, _) -> S1 = #{}, S2 = case {PMsg, NMsg} of - {_, #{key := NFkey}} -> S1#{key => NFkey}; - {#{key := PFkey}, _} -> S1#{key => PFkey}; - _ -> S1 - end, + {_, #{key := NFkey}} -> S1#{key => NFkey}; + {#{key := PFkey}, _} -> S1#{key => PFkey}; + _ -> S1 + end, case {PMsg, NMsg} of - {_, #{value := NFvalue}} -> S2#{value => NFvalue}; - {#{value := PFvalue}, _} -> S2#{value => PFvalue}; - _ -> S2 + {_, #{value := NFvalue}} -> S2#{value => NFvalue}; + {#{value := PFvalue}, _} -> S2#{value => PFvalue}; + _ -> S2 end. -compile({nowarn_unused_function,merge_msg_instrumentation_library/3}). merge_msg_instrumentation_library(PMsg, NMsg, _) -> S1 = #{}, S2 = case {PMsg, NMsg} of - {_, #{name := NFname}} -> S1#{name => NFname}; - {#{name := PFname}, _} -> S1#{name => PFname}; - _ -> S1 - end, + {_, #{name := NFname}} -> S1#{name => NFname}; + {#{name := PFname}, _} -> S1#{name => PFname}; + _ -> S1 + end, case {PMsg, NMsg} of - {_, #{version := NFversion}} -> S2#{version => NFversion}; - {#{version := PFversion}, _} -> S2#{version => PFversion}; - _ -> S2 + {_, #{version := NFversion}} -> S2#{version => NFversion}; + {#{version := PFversion}, _} -> S2#{version => PFversion}; + _ -> S2 end. -compile({nowarn_unused_function,merge_msg_resource/3}). merge_msg_resource(PMsg, NMsg, TrUserData) -> S1 = #{}, S2 = case {PMsg, NMsg} of - {#{attributes := PFattributes}, #{attributes := NFattributes}} -> S1#{attributes => 'erlang_++'(PFattributes, NFattributes, TrUserData)}; - {_, #{attributes := NFattributes}} -> S1#{attributes => NFattributes}; - {#{attributes := PFattributes}, _} -> S1#{attributes => PFattributes}; - {_, _} -> S1 - end, + {#{attributes := PFattributes}, #{attributes := NFattributes}} -> S1#{attributes => 'erlang_++'(PFattributes, NFattributes, TrUserData)}; + {_, #{attributes := NFattributes}} -> S1#{attributes => NFattributes}; + {#{attributes := PFattributes}, _} -> S1#{attributes => PFattributes}; + {_, _} -> S1 + end, case {PMsg, NMsg} of - {_, #{dropped_attributes_count := NFdropped_attributes_count}} -> S2#{dropped_attributes_count => NFdropped_attributes_count}; - {#{dropped_attributes_count := PFdropped_attributes_count}, _} -> S2#{dropped_attributes_count => PFdropped_attributes_count}; - _ -> S2 + {_, #{dropped_attributes_count := NFdropped_attributes_count}} -> S2#{dropped_attributes_count => NFdropped_attributes_count}; + {#{dropped_attributes_count := PFdropped_attributes_count}, _} -> S2#{dropped_attributes_count => PFdropped_attributes_count}; + _ -> S2 end. @@ -2229,22 +2502,22 @@ verify_msg(Msg, MsgName) when is_atom(MsgName) -> verify_msg(Msg, MsgName, []). verify_msg(Msg, MsgName, Opts) -> TrUserData = proplists:get_value(user_data, Opts), case MsgName of - export_trace_service_request -> v_msg_export_trace_service_request(Msg, [MsgName], TrUserData); - export_trace_service_response -> v_msg_export_trace_service_response(Msg, [MsgName], TrUserData); - resource_spans -> v_msg_resource_spans(Msg, [MsgName], TrUserData); - instrumentation_library_spans -> v_msg_instrumentation_library_spans(Msg, [MsgName], TrUserData); - event -> v_msg_event(Msg, [MsgName], TrUserData); - link -> v_msg_link(Msg, [MsgName], TrUserData); - span -> v_msg_span(Msg, [MsgName], TrUserData); - status -> v_msg_status(Msg, [MsgName], TrUserData); - any_value -> v_msg_any_value(Msg, [MsgName], TrUserData); - array_value -> v_msg_array_value(Msg, [MsgName], TrUserData); - key_value_list -> v_msg_key_value_list(Msg, [MsgName], TrUserData); - key_value -> v_msg_key_value(Msg, [MsgName], TrUserData); - string_key_value -> v_msg_string_key_value(Msg, [MsgName], TrUserData); - instrumentation_library -> v_msg_instrumentation_library(Msg, [MsgName], TrUserData); - resource -> v_msg_resource(Msg, [MsgName], TrUserData); - _ -> mk_type_error(not_a_known_message, Msg, []) + export_trace_service_request -> v_msg_export_trace_service_request(Msg, [MsgName], TrUserData); + export_trace_service_response -> v_msg_export_trace_service_response(Msg, [MsgName], TrUserData); + resource_spans -> v_msg_resource_spans(Msg, [MsgName], TrUserData); + instrumentation_library_spans -> v_msg_instrumentation_library_spans(Msg, [MsgName], TrUserData); + event -> v_msg_event(Msg, [MsgName], TrUserData); + link -> v_msg_link(Msg, [MsgName], TrUserData); + span -> v_msg_span(Msg, [MsgName], TrUserData); + status -> v_msg_status(Msg, [MsgName], TrUserData); + any_value -> v_msg_any_value(Msg, [MsgName], TrUserData); + array_value -> v_msg_array_value(Msg, [MsgName], TrUserData); + key_value_list -> v_msg_key_value_list(Msg, [MsgName], TrUserData); + key_value -> v_msg_key_value(Msg, [MsgName], TrUserData); + string_key_value -> v_msg_string_key_value(Msg, [MsgName], TrUserData); + instrumentation_library -> v_msg_instrumentation_library(Msg, [MsgName], TrUserData); + resource -> v_msg_resource(Msg, [MsgName], TrUserData); + _ -> mk_type_error(not_a_known_message, Msg, []) end. @@ -2252,23 +2525,27 @@ verify_msg(Msg, MsgName, Opts) -> -dialyzer({nowarn_function,v_msg_export_trace_service_request/3}). v_msg_export_trace_service_request(#{} = M, Path, TrUserData) -> case M of - #{resource_spans := F1} -> - if is_list(F1) -> _ = [v_msg_resource_spans(Elem, [resource_spans | Path], TrUserData) || Elem <- F1], ok; - true -> mk_type_error({invalid_list_of, {msg, resource_spans}}, F1, [resource_spans | Path]) - end; - _ -> ok + #{resource_spans := F1} -> + if is_list(F1) -> + _ = [v_msg_resource_spans(Elem, [resource_spans | Path], TrUserData) || Elem <- F1], + ok; + true -> mk_type_error({invalid_list_of, {msg, resource_spans}}, F1, [resource_spans | Path]) + end; + _ -> ok end, lists:foreach(fun (resource_spans) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_export_trace_service_request(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), export_trace_service_request}, M, Path); v_msg_export_trace_service_request(X, Path, _TrUserData) -> mk_type_error({expected_msg, export_trace_service_request}, X, Path). -compile({nowarn_unused_function,v_msg_export_trace_service_response/3}). -dialyzer({nowarn_function,v_msg_export_trace_service_response/3}). -v_msg_export_trace_service_response(#{} = M, Path, _) -> lists:foreach(fun (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) end, maps:keys(M)), ok; +v_msg_export_trace_service_response(#{} = M, Path, _) -> + lists:foreach(fun (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) end, maps:keys(M)), + ok; v_msg_export_trace_service_response(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), export_trace_service_response}, M, Path); v_msg_export_trace_service_response(X, Path, _TrUserData) -> mk_type_error({expected_msg, export_trace_service_response}, X, Path). @@ -2276,21 +2553,23 @@ v_msg_export_trace_service_response(X, Path, _TrUserData) -> mk_type_error({expe -dialyzer({nowarn_function,v_msg_resource_spans/3}). v_msg_resource_spans(#{} = M, Path, TrUserData) -> case M of - #{resource := F1} -> v_msg_resource(F1, [resource | Path], TrUserData); - _ -> ok + #{resource := F1} -> v_msg_resource(F1, [resource | Path], TrUserData); + _ -> ok end, case M of - #{instrumentation_library_spans := F2} -> - if is_list(F2) -> _ = [v_msg_instrumentation_library_spans(Elem, [instrumentation_library_spans | Path], TrUserData) || Elem <- F2], ok; - true -> mk_type_error({invalid_list_of, {msg, instrumentation_library_spans}}, F2, [instrumentation_library_spans | Path]) - end; - _ -> ok + #{instrumentation_library_spans := F2} -> + if is_list(F2) -> + _ = [v_msg_instrumentation_library_spans(Elem, [instrumentation_library_spans | Path], TrUserData) || Elem <- F2], + ok; + true -> mk_type_error({invalid_list_of, {msg, instrumentation_library_spans}}, F2, [instrumentation_library_spans | Path]) + end; + _ -> ok end, lists:foreach(fun (resource) -> ok; - (instrumentation_library_spans) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (instrumentation_library_spans) -> ok; + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_resource_spans(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), resource_spans}, M, Path); v_msg_resource_spans(X, Path, _TrUserData) -> mk_type_error({expected_msg, resource_spans}, X, Path). @@ -2299,21 +2578,23 @@ v_msg_resource_spans(X, Path, _TrUserData) -> mk_type_error({expected_msg, resou -dialyzer({nowarn_function,v_msg_instrumentation_library_spans/3}). v_msg_instrumentation_library_spans(#{} = M, Path, TrUserData) -> case M of - #{instrumentation_library := F1} -> v_msg_instrumentation_library(F1, [instrumentation_library | Path], TrUserData); - _ -> ok + #{instrumentation_library := F1} -> v_msg_instrumentation_library(F1, [instrumentation_library | Path], TrUserData); + _ -> ok end, case M of - #{spans := F2} -> - if is_list(F2) -> _ = [v_msg_span(Elem, [spans | Path], TrUserData) || Elem <- F2], ok; - true -> mk_type_error({invalid_list_of, {msg, span}}, F2, [spans | Path]) - end; - _ -> ok + #{spans := F2} -> + if is_list(F2) -> + _ = [v_msg_span(Elem, [spans | Path], TrUserData) || Elem <- F2], + ok; + true -> mk_type_error({invalid_list_of, {msg, span}}, F2, [spans | Path]) + end; + _ -> ok end, lists:foreach(fun (instrumentation_library) -> ok; - (spans) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (spans) -> ok; + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_instrumentation_library_spans(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), instrumentation_library_spans}, M, Path); v_msg_instrumentation_library_spans(X, Path, _TrUserData) -> mk_type_error({expected_msg, instrumentation_library_spans}, X, Path). @@ -2322,31 +2603,33 @@ v_msg_instrumentation_library_spans(X, Path, _TrUserData) -> mk_type_error({expe -dialyzer({nowarn_function,v_msg_event/3}). v_msg_event(#{} = M, Path, TrUserData) -> case M of - #{time_unix_nano := F1} -> v_type_fixed64(F1, [time_unix_nano | Path], TrUserData); - _ -> ok + #{time_unix_nano := F1} -> v_type_fixed64(F1, [time_unix_nano | Path], TrUserData); + _ -> ok end, case M of - #{name := F2} -> v_type_string(F2, [name | Path], TrUserData); - _ -> ok + #{name := F2} -> v_type_string(F2, [name | Path], TrUserData); + _ -> ok end, case M of - #{attributes := F3} -> - if is_list(F3) -> _ = [v_msg_key_value(Elem, [attributes | Path], TrUserData) || Elem <- F3], ok; - true -> mk_type_error({invalid_list_of, {msg, key_value}}, F3, [attributes | Path]) - end; - _ -> ok + #{attributes := F3} -> + if is_list(F3) -> + _ = [v_msg_key_value(Elem, [attributes | Path], TrUserData) || Elem <- F3], + ok; + true -> mk_type_error({invalid_list_of, {msg, key_value}}, F3, [attributes | Path]) + end; + _ -> ok end, case M of - #{dropped_attributes_count := F4} -> v_type_uint32(F4, [dropped_attributes_count | Path], TrUserData); - _ -> ok + #{dropped_attributes_count := F4} -> v_type_uint32(F4, [dropped_attributes_count | Path], TrUserData); + _ -> ok end, lists:foreach(fun (time_unix_nano) -> ok; - (name) -> ok; - (attributes) -> ok; - (dropped_attributes_count) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (name) -> ok; + (attributes) -> ok; + (dropped_attributes_count) -> ok; + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_event(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), event}, M, Path); v_msg_event(X, Path, _TrUserData) -> mk_type_error({expected_msg, event}, X, Path). @@ -2355,36 +2638,38 @@ v_msg_event(X, Path, _TrUserData) -> mk_type_error({expected_msg, event}, X, Pat -dialyzer({nowarn_function,v_msg_link/3}). v_msg_link(#{} = M, Path, TrUserData) -> case M of - #{trace_id := F1} -> v_type_bytes(F1, [trace_id | Path], TrUserData); - _ -> ok + #{trace_id := F1} -> v_type_bytes(F1, [trace_id | Path], TrUserData); + _ -> ok end, case M of - #{span_id := F2} -> v_type_bytes(F2, [span_id | Path], TrUserData); - _ -> ok + #{span_id := F2} -> v_type_bytes(F2, [span_id | Path], TrUserData); + _ -> ok end, case M of - #{trace_state := F3} -> v_type_string(F3, [trace_state | Path], TrUserData); - _ -> ok + #{trace_state := F3} -> v_type_string(F3, [trace_state | Path], TrUserData); + _ -> ok end, case M of - #{attributes := F4} -> - if is_list(F4) -> _ = [v_msg_key_value(Elem, [attributes | Path], TrUserData) || Elem <- F4], ok; - true -> mk_type_error({invalid_list_of, {msg, key_value}}, F4, [attributes | Path]) - end; - _ -> ok + #{attributes := F4} -> + if is_list(F4) -> + _ = [v_msg_key_value(Elem, [attributes | Path], TrUserData) || Elem <- F4], + ok; + true -> mk_type_error({invalid_list_of, {msg, key_value}}, F4, [attributes | Path]) + end; + _ -> ok end, case M of - #{dropped_attributes_count := F5} -> v_type_uint32(F5, [dropped_attributes_count | Path], TrUserData); - _ -> ok + #{dropped_attributes_count := F5} -> v_type_uint32(F5, [dropped_attributes_count | Path], TrUserData); + _ -> ok end, lists:foreach(fun (trace_id) -> ok; - (span_id) -> ok; - (trace_state) -> ok; - (attributes) -> ok; - (dropped_attributes_count) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (span_id) -> ok; + (trace_state) -> ok; + (attributes) -> ok; + (dropped_attributes_count) -> ok; + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_link(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), link}, M, Path); v_msg_link(X, Path, _TrUserData) -> mk_type_error({expected_msg, link}, X, Path). @@ -2393,92 +2678,98 @@ v_msg_link(X, Path, _TrUserData) -> mk_type_error({expected_msg, link}, X, Path) -dialyzer({nowarn_function,v_msg_span/3}). v_msg_span(#{} = M, Path, TrUserData) -> case M of - #{trace_id := F1} -> v_type_bytes(F1, [trace_id | Path], TrUserData); - _ -> ok + #{trace_id := F1} -> v_type_bytes(F1, [trace_id | Path], TrUserData); + _ -> ok end, case M of - #{span_id := F2} -> v_type_bytes(F2, [span_id | Path], TrUserData); - _ -> ok + #{span_id := F2} -> v_type_bytes(F2, [span_id | Path], TrUserData); + _ -> ok end, case M of - #{trace_state := F3} -> v_type_string(F3, [trace_state | Path], TrUserData); - _ -> ok + #{trace_state := F3} -> v_type_string(F3, [trace_state | Path], TrUserData); + _ -> ok end, case M of - #{parent_span_id := F4} -> v_type_bytes(F4, [parent_span_id | Path], TrUserData); - _ -> ok + #{parent_span_id := F4} -> v_type_bytes(F4, [parent_span_id | Path], TrUserData); + _ -> ok end, case M of - #{name := F5} -> v_type_string(F5, [name | Path], TrUserData); - _ -> ok + #{name := F5} -> v_type_string(F5, [name | Path], TrUserData); + _ -> ok end, case M of - #{kind := F6} -> 'v_enum_span.SpanKind'(F6, [kind | Path], TrUserData); - _ -> ok + #{kind := F6} -> 'v_enum_span.SpanKind'(F6, [kind | Path], TrUserData); + _ -> ok end, case M of - #{start_time_unix_nano := F7} -> v_type_fixed64(F7, [start_time_unix_nano | Path], TrUserData); - _ -> ok + #{start_time_unix_nano := F7} -> v_type_fixed64(F7, [start_time_unix_nano | Path], TrUserData); + _ -> ok end, case M of - #{end_time_unix_nano := F8} -> v_type_fixed64(F8, [end_time_unix_nano | Path], TrUserData); - _ -> ok + #{end_time_unix_nano := F8} -> v_type_fixed64(F8, [end_time_unix_nano | Path], TrUserData); + _ -> ok end, case M of - #{attributes := F9} -> - if is_list(F9) -> _ = [v_msg_key_value(Elem, [attributes | Path], TrUserData) || Elem <- F9], ok; - true -> mk_type_error({invalid_list_of, {msg, key_value}}, F9, [attributes | Path]) - end; - _ -> ok + #{attributes := F9} -> + if is_list(F9) -> + _ = [v_msg_key_value(Elem, [attributes | Path], TrUserData) || Elem <- F9], + ok; + true -> mk_type_error({invalid_list_of, {msg, key_value}}, F9, [attributes | Path]) + end; + _ -> ok end, case M of - #{dropped_attributes_count := F10} -> v_type_uint32(F10, [dropped_attributes_count | Path], TrUserData); - _ -> ok + #{dropped_attributes_count := F10} -> v_type_uint32(F10, [dropped_attributes_count | Path], TrUserData); + _ -> ok end, case M of - #{events := F11} -> - if is_list(F11) -> _ = [v_msg_event(Elem, [events | Path], TrUserData) || Elem <- F11], ok; - true -> mk_type_error({invalid_list_of, {msg, event}}, F11, [events | Path]) - end; - _ -> ok + #{events := F11} -> + if is_list(F11) -> + _ = [v_msg_event(Elem, [events | Path], TrUserData) || Elem <- F11], + ok; + true -> mk_type_error({invalid_list_of, {msg, event}}, F11, [events | Path]) + end; + _ -> ok end, case M of - #{dropped_events_count := F12} -> v_type_uint32(F12, [dropped_events_count | Path], TrUserData); - _ -> ok + #{dropped_events_count := F12} -> v_type_uint32(F12, [dropped_events_count | Path], TrUserData); + _ -> ok end, case M of - #{links := F13} -> - if is_list(F13) -> _ = [v_msg_link(Elem, [links | Path], TrUserData) || Elem <- F13], ok; - true -> mk_type_error({invalid_list_of, {msg, link}}, F13, [links | Path]) - end; - _ -> ok + #{links := F13} -> + if is_list(F13) -> + _ = [v_msg_link(Elem, [links | Path], TrUserData) || Elem <- F13], + ok; + true -> mk_type_error({invalid_list_of, {msg, link}}, F13, [links | Path]) + end; + _ -> ok end, case M of - #{dropped_links_count := F14} -> v_type_uint32(F14, [dropped_links_count | Path], TrUserData); - _ -> ok + #{dropped_links_count := F14} -> v_type_uint32(F14, [dropped_links_count | Path], TrUserData); + _ -> ok end, case M of - #{status := F15} -> v_msg_status(F15, [status | Path], TrUserData); - _ -> ok + #{status := F15} -> v_msg_status(F15, [status | Path], TrUserData); + _ -> ok end, lists:foreach(fun (trace_id) -> ok; - (span_id) -> ok; - (trace_state) -> ok; - (parent_span_id) -> ok; - (name) -> ok; - (kind) -> ok; - (start_time_unix_nano) -> ok; - (end_time_unix_nano) -> ok; - (attributes) -> ok; - (dropped_attributes_count) -> ok; - (events) -> ok; - (dropped_events_count) -> ok; - (links) -> ok; - (dropped_links_count) -> ok; - (status) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (span_id) -> ok; + (trace_state) -> ok; + (parent_span_id) -> ok; + (name) -> ok; + (kind) -> ok; + (start_time_unix_nano) -> ok; + (end_time_unix_nano) -> ok; + (attributes) -> ok; + (dropped_attributes_count) -> ok; + (events) -> ok; + (dropped_events_count) -> ok; + (links) -> ok; + (dropped_links_count) -> ok; + (status) -> ok; + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_span(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), span}, M, Path); v_msg_span(X, Path, _TrUserData) -> mk_type_error({expected_msg, span}, X, Path). @@ -2487,18 +2778,23 @@ v_msg_span(X, Path, _TrUserData) -> mk_type_error({expected_msg, span}, X, Path) -dialyzer({nowarn_function,v_msg_status/3}). v_msg_status(#{} = M, Path, TrUserData) -> case M of - #{code := F1} -> 'v_enum_status.StatusCode'(F1, [code | Path], TrUserData); - _ -> ok + #{deprecated_code := F1} -> 'v_enum_status.DeprecatedStatusCode'(F1, [deprecated_code | Path], TrUserData); + _ -> ok end, case M of - #{message := F2} -> v_type_string(F2, [message | Path], TrUserData); - _ -> ok + #{message := F2} -> v_type_string(F2, [message | Path], TrUserData); + _ -> ok end, - lists:foreach(fun (code) -> ok; - (message) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + case M of + #{code := F3} -> 'v_enum_status.StatusCode'(F3, [code | Path], TrUserData); + _ -> ok + end, + lists:foreach(fun (deprecated_code) -> ok; + (message) -> ok; + (code) -> ok; + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_status(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), status}, M, Path); v_msg_status(X, Path, _TrUserData) -> mk_type_error({expected_msg, status}, X, Path). @@ -2507,19 +2803,19 @@ v_msg_status(X, Path, _TrUserData) -> mk_type_error({expected_msg, status}, X, P -dialyzer({nowarn_function,v_msg_any_value/3}). v_msg_any_value(#{} = M, Path, TrUserData) -> case M of - #{value := {string_value, OF1}} -> v_type_string(OF1, [string_value, value | Path], TrUserData); - #{value := {bool_value, OF1}} -> v_type_bool(OF1, [bool_value, value | Path], TrUserData); - #{value := {int_value, OF1}} -> v_type_int64(OF1, [int_value, value | Path], TrUserData); - #{value := {double_value, OF1}} -> v_type_double(OF1, [double_value, value | Path], TrUserData); - #{value := {array_value, OF1}} -> v_msg_array_value(OF1, [array_value, value | Path], TrUserData); - #{value := {kvlist_value, OF1}} -> v_msg_key_value_list(OF1, [kvlist_value, value | Path], TrUserData); - #{value := F1} -> mk_type_error(invalid_oneof, F1, [value | Path]); - _ -> ok + #{value := {string_value, OF1}} -> v_type_string(OF1, [string_value, value | Path], TrUserData); + #{value := {bool_value, OF1}} -> v_type_bool(OF1, [bool_value, value | Path], TrUserData); + #{value := {int_value, OF1}} -> v_type_int64(OF1, [int_value, value | Path], TrUserData); + #{value := {double_value, OF1}} -> v_type_double(OF1, [double_value, value | Path], TrUserData); + #{value := {array_value, OF1}} -> v_msg_array_value(OF1, [array_value, value | Path], TrUserData); + #{value := {kvlist_value, OF1}} -> v_msg_key_value_list(OF1, [kvlist_value, value | Path], TrUserData); + #{value := F1} -> mk_type_error(invalid_oneof, F1, [value | Path]); + _ -> ok end, lists:foreach(fun (value) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_any_value(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), any_value}, M, Path); v_msg_any_value(X, Path, _TrUserData) -> mk_type_error({expected_msg, any_value}, X, Path). @@ -2528,16 +2824,18 @@ v_msg_any_value(X, Path, _TrUserData) -> mk_type_error({expected_msg, any_value} -dialyzer({nowarn_function,v_msg_array_value/3}). v_msg_array_value(#{} = M, Path, TrUserData) -> case M of - #{values := F1} -> - if is_list(F1) -> _ = [v_msg_any_value(Elem, [values | Path], TrUserData) || Elem <- F1], ok; - true -> mk_type_error({invalid_list_of, {msg, any_value}}, F1, [values | Path]) - end; - _ -> ok + #{values := F1} -> + if is_list(F1) -> + _ = [v_msg_any_value(Elem, [values | Path], TrUserData) || Elem <- F1], + ok; + true -> mk_type_error({invalid_list_of, {msg, any_value}}, F1, [values | Path]) + end; + _ -> ok end, lists:foreach(fun (values) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_array_value(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), array_value}, M, Path); v_msg_array_value(X, Path, _TrUserData) -> mk_type_error({expected_msg, array_value}, X, Path). @@ -2546,16 +2844,18 @@ v_msg_array_value(X, Path, _TrUserData) -> mk_type_error({expected_msg, array_va -dialyzer({nowarn_function,v_msg_key_value_list/3}). v_msg_key_value_list(#{} = M, Path, TrUserData) -> case M of - #{values := F1} -> - if is_list(F1) -> _ = [v_msg_key_value(Elem, [values | Path], TrUserData) || Elem <- F1], ok; - true -> mk_type_error({invalid_list_of, {msg, key_value}}, F1, [values | Path]) - end; - _ -> ok + #{values := F1} -> + if is_list(F1) -> + _ = [v_msg_key_value(Elem, [values | Path], TrUserData) || Elem <- F1], + ok; + true -> mk_type_error({invalid_list_of, {msg, key_value}}, F1, [values | Path]) + end; + _ -> ok end, lists:foreach(fun (values) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_key_value_list(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), key_value_list}, M, Path); v_msg_key_value_list(X, Path, _TrUserData) -> mk_type_error({expected_msg, key_value_list}, X, Path). @@ -2564,18 +2864,18 @@ v_msg_key_value_list(X, Path, _TrUserData) -> mk_type_error({expected_msg, key_v -dialyzer({nowarn_function,v_msg_key_value/3}). v_msg_key_value(#{} = M, Path, TrUserData) -> case M of - #{key := F1} -> v_type_string(F1, [key | Path], TrUserData); - _ -> ok + #{key := F1} -> v_type_string(F1, [key | Path], TrUserData); + _ -> ok end, case M of - #{value := F2} -> v_msg_any_value(F2, [value | Path], TrUserData); - _ -> ok + #{value := F2} -> v_msg_any_value(F2, [value | Path], TrUserData); + _ -> ok end, lists:foreach(fun (key) -> ok; - (value) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (value) -> ok; + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_key_value(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), key_value}, M, Path); v_msg_key_value(X, Path, _TrUserData) -> mk_type_error({expected_msg, key_value}, X, Path). @@ -2584,18 +2884,18 @@ v_msg_key_value(X, Path, _TrUserData) -> mk_type_error({expected_msg, key_value} -dialyzer({nowarn_function,v_msg_string_key_value/3}). v_msg_string_key_value(#{} = M, Path, TrUserData) -> case M of - #{key := F1} -> v_type_string(F1, [key | Path], TrUserData); - _ -> ok + #{key := F1} -> v_type_string(F1, [key | Path], TrUserData); + _ -> ok end, case M of - #{value := F2} -> v_type_string(F2, [value | Path], TrUserData); - _ -> ok + #{value := F2} -> v_type_string(F2, [value | Path], TrUserData); + _ -> ok end, lists:foreach(fun (key) -> ok; - (value) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (value) -> ok; + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_string_key_value(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), string_key_value}, M, Path); v_msg_string_key_value(X, Path, _TrUserData) -> mk_type_error({expected_msg, string_key_value}, X, Path). @@ -2604,18 +2904,18 @@ v_msg_string_key_value(X, Path, _TrUserData) -> mk_type_error({expected_msg, str -dialyzer({nowarn_function,v_msg_instrumentation_library/3}). v_msg_instrumentation_library(#{} = M, Path, TrUserData) -> case M of - #{name := F1} -> v_type_string(F1, [name | Path], TrUserData); - _ -> ok + #{name := F1} -> v_type_string(F1, [name | Path], TrUserData); + _ -> ok end, case M of - #{version := F2} -> v_type_string(F2, [version | Path], TrUserData); - _ -> ok + #{version := F2} -> v_type_string(F2, [version | Path], TrUserData); + _ -> ok end, lists:foreach(fun (name) -> ok; - (version) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (version) -> ok; + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_instrumentation_library(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), instrumentation_library}, M, Path); v_msg_instrumentation_library(X, Path, _TrUserData) -> mk_type_error({expected_msg, instrumentation_library}, X, Path). @@ -2624,21 +2924,23 @@ v_msg_instrumentation_library(X, Path, _TrUserData) -> mk_type_error({expected_m -dialyzer({nowarn_function,v_msg_resource/3}). v_msg_resource(#{} = M, Path, TrUserData) -> case M of - #{attributes := F1} -> - if is_list(F1) -> _ = [v_msg_key_value(Elem, [attributes | Path], TrUserData) || Elem <- F1], ok; - true -> mk_type_error({invalid_list_of, {msg, key_value}}, F1, [attributes | Path]) - end; - _ -> ok + #{attributes := F1} -> + if is_list(F1) -> + _ = [v_msg_key_value(Elem, [attributes | Path], TrUserData) || Elem <- F1], + ok; + true -> mk_type_error({invalid_list_of, {msg, key_value}}, F1, [attributes | Path]) + end; + _ -> ok end, case M of - #{dropped_attributes_count := F2} -> v_type_uint32(F2, [dropped_attributes_count | Path], TrUserData); - _ -> ok + #{dropped_attributes_count := F2} -> v_type_uint32(F2, [dropped_attributes_count | Path], TrUserData); + _ -> ok end, lists:foreach(fun (attributes) -> ok; - (dropped_attributes_count) -> ok; - (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) - end, - maps:keys(M)), + (dropped_attributes_count) -> ok; + (OtherKey) -> mk_type_error({extraneous_key, OtherKey}, M, Path) + end, + maps:keys(M)), ok; v_msg_resource(M, Path, _TrUserData) when is_map(M) -> mk_type_error({missing_fields, [] -- maps:keys(M), resource}, M, Path); v_msg_resource(X, Path, _TrUserData) -> mk_type_error({expected_msg, resource}, X, Path). @@ -2654,25 +2956,33 @@ v_msg_resource(X, Path, _TrUserData) -> mk_type_error({expected_msg, resource}, 'v_enum_span.SpanKind'(V, Path, TrUserData) when is_integer(V) -> v_type_sint32(V, Path, TrUserData); 'v_enum_span.SpanKind'(X, Path, _TrUserData) -> mk_type_error({invalid_enum, 'span.SpanKind'}, X, Path). +-compile({nowarn_unused_function,'v_enum_status.DeprecatedStatusCode'/3}). +-dialyzer({nowarn_function,'v_enum_status.DeprecatedStatusCode'/3}). +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_OK', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_CANCELLED', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_UNKNOWN_ERROR', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_INVALID_ARGUMENT', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_DEADLINE_EXCEEDED', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_NOT_FOUND', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_ALREADY_EXISTS', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_PERMISSION_DENIED', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_RESOURCE_EXHAUSTED', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_FAILED_PRECONDITION', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_ABORTED', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_OUT_OF_RANGE', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_UNIMPLEMENTED', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_INTERNAL_ERROR', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_UNAVAILABLE', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_DATA_LOSS', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_UNAUTHENTICATED', _Path, _TrUserData) -> ok; +'v_enum_status.DeprecatedStatusCode'(V, Path, TrUserData) when is_integer(V) -> v_type_sint32(V, Path, TrUserData); +'v_enum_status.DeprecatedStatusCode'(X, Path, _TrUserData) -> mk_type_error({invalid_enum, 'status.DeprecatedStatusCode'}, X, Path). + -compile({nowarn_unused_function,'v_enum_status.StatusCode'/3}). -dialyzer({nowarn_function,'v_enum_status.StatusCode'/3}). +'v_enum_status.StatusCode'('STATUS_CODE_UNSET', _Path, _TrUserData) -> ok; 'v_enum_status.StatusCode'('STATUS_CODE_OK', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_CANCELLED', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_UNKNOWN_ERROR', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_INVALID_ARGUMENT', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_DEADLINE_EXCEEDED', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_NOT_FOUND', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_ALREADY_EXISTS', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_PERMISSION_DENIED', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_RESOURCE_EXHAUSTED', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_FAILED_PRECONDITION', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_ABORTED', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_OUT_OF_RANGE', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_UNIMPLEMENTED', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_INTERNAL_ERROR', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_UNAVAILABLE', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_DATA_LOSS', _Path, _TrUserData) -> ok; -'v_enum_status.StatusCode'('STATUS_CODE_UNAUTHENTICATED', _Path, _TrUserData) -> ok; +'v_enum_status.StatusCode'('STATUS_CODE_ERROR', _Path, _TrUserData) -> ok; 'v_enum_status.StatusCode'(V, Path, TrUserData) when is_integer(V) -> v_type_sint32(V, Path, TrUserData); 'v_enum_status.StatusCode'(X, Path, _TrUserData) -> mk_type_error({invalid_enum, 'status.StatusCode'}, X, Path). @@ -2721,10 +3031,10 @@ v_type_double(X, Path, _TrUserData) -> mk_type_error(bad_double_value, X, Path). -dialyzer({nowarn_function,v_type_string/3}). v_type_string(S, Path, _TrUserData) when is_list(S); is_binary(S) -> try unicode:characters_to_binary(S) of - B when is_binary(B) -> ok; - {error, _, _} -> mk_type_error(bad_unicode_string, S, Path) + B when is_binary(B) -> ok; + {error, _, _} -> mk_type_error(bad_unicode_string, S, Path) catch - error:badarg -> mk_type_error(bad_unicode_string, S, Path) + error:badarg -> mk_type_error(bad_unicode_string, S, Path) end; v_type_string(X, Path, _TrUserData) -> mk_type_error(bad_unicode_string, X, Path). @@ -2736,7 +3046,9 @@ v_type_bytes(X, Path, _TrUserData) -> mk_type_error(bad_binary_value, X, Path). -compile({nowarn_unused_function,mk_type_error/3}). -spec mk_type_error(_, _, list()) -> no_return(). -mk_type_error(Error, ValueSeen, Path) -> Path2 = prettify_path(Path), erlang:error({gpb_type_error, {Error, [{value, ValueSeen}, {path, Path2}]}}). +mk_type_error(Error, ValueSeen, Path) -> + Path2 = prettify_path(Path), + erlang:error({gpb_type_error, {Error, [{value, ValueSeen}, {path, Path2}]}}). -compile({nowarn_unused_function,prettify_path/1}). @@ -2771,39 +3083,72 @@ cons(Elem, Acc, _TrUserData) -> [Elem | Acc]. get_msg_defs() -> [{{enum, 'span.SpanKind'}, [{'SPAN_KIND_UNSPECIFIED', 0}, {'SPAN_KIND_INTERNAL', 1}, {'SPAN_KIND_SERVER', 2}, {'SPAN_KIND_CLIENT', 3}, {'SPAN_KIND_PRODUCER', 4}, {'SPAN_KIND_CONSUMER', 5}]}, - {{enum, 'status.StatusCode'}, - [{'STATUS_CODE_OK', 0}, {'STATUS_CODE_CANCELLED', 1}, {'STATUS_CODE_UNKNOWN_ERROR', 2}, {'STATUS_CODE_INVALID_ARGUMENT', 3}, {'STATUS_CODE_DEADLINE_EXCEEDED', 4}, {'STATUS_CODE_NOT_FOUND', 5}, {'STATUS_CODE_ALREADY_EXISTS', 6}, - {'STATUS_CODE_PERMISSION_DENIED', 7}, {'STATUS_CODE_RESOURCE_EXHAUSTED', 8}, {'STATUS_CODE_FAILED_PRECONDITION', 9}, {'STATUS_CODE_ABORTED', 10}, {'STATUS_CODE_OUT_OF_RANGE', 11}, {'STATUS_CODE_UNIMPLEMENTED', 12}, {'STATUS_CODE_INTERNAL_ERROR', 13}, - {'STATUS_CODE_UNAVAILABLE', 14}, {'STATUS_CODE_DATA_LOSS', 15}, {'STATUS_CODE_UNAUTHENTICATED', 16}]}, - {{msg, export_trace_service_request}, [#{name => resource_spans, fnum => 1, rnum => 2, type => {msg, resource_spans}, occurrence => repeated, opts => []}]}, {{msg, export_trace_service_response}, []}, + {{enum, 'status.DeprecatedStatusCode'}, + [{'DEPRECATED_STATUS_CODE_OK', 0}, + {'DEPRECATED_STATUS_CODE_CANCELLED', 1}, + {'DEPRECATED_STATUS_CODE_UNKNOWN_ERROR', 2}, + {'DEPRECATED_STATUS_CODE_INVALID_ARGUMENT', 3}, + {'DEPRECATED_STATUS_CODE_DEADLINE_EXCEEDED', 4}, + {'DEPRECATED_STATUS_CODE_NOT_FOUND', 5}, + {'DEPRECATED_STATUS_CODE_ALREADY_EXISTS', 6}, + {'DEPRECATED_STATUS_CODE_PERMISSION_DENIED', 7}, + {'DEPRECATED_STATUS_CODE_RESOURCE_EXHAUSTED', 8}, + {'DEPRECATED_STATUS_CODE_FAILED_PRECONDITION', 9}, + {'DEPRECATED_STATUS_CODE_ABORTED', 10}, + {'DEPRECATED_STATUS_CODE_OUT_OF_RANGE', 11}, + {'DEPRECATED_STATUS_CODE_UNIMPLEMENTED', 12}, + {'DEPRECATED_STATUS_CODE_INTERNAL_ERROR', 13}, + {'DEPRECATED_STATUS_CODE_UNAVAILABLE', 14}, + {'DEPRECATED_STATUS_CODE_DATA_LOSS', 15}, + {'DEPRECATED_STATUS_CODE_UNAUTHENTICATED', 16}]}, + {{enum, 'status.StatusCode'}, [{'STATUS_CODE_UNSET', 0}, {'STATUS_CODE_OK', 1}, {'STATUS_CODE_ERROR', 2}]}, + {{msg, export_trace_service_request}, [#{name => resource_spans, fnum => 1, rnum => 2, type => {msg, resource_spans}, occurrence => repeated, opts => []}]}, + {{msg, export_trace_service_response}, []}, {{msg, resource_spans}, [#{name => resource, fnum => 1, rnum => 2, type => {msg, resource}, occurrence => optional, opts => []}, #{name => instrumentation_library_spans, fnum => 2, rnum => 3, type => {msg, instrumentation_library_spans}, occurrence => repeated, opts => []}]}, {{msg, instrumentation_library_spans}, [#{name => instrumentation_library, fnum => 1, rnum => 2, type => {msg, instrumentation_library}, occurrence => optional, opts => []}, #{name => spans, fnum => 2, rnum => 3, type => {msg, span}, occurrence => repeated, opts => []}]}, {{msg, event}, - [#{name => time_unix_nano, fnum => 1, rnum => 2, type => fixed64, occurrence => optional, opts => []}, #{name => name, fnum => 2, rnum => 3, type => string, occurrence => optional, opts => []}, - #{name => attributes, fnum => 3, rnum => 4, type => {msg, key_value}, occurrence => repeated, opts => []}, #{name => dropped_attributes_count, fnum => 4, rnum => 5, type => uint32, occurrence => optional, opts => []}]}, + [#{name => time_unix_nano, fnum => 1, rnum => 2, type => fixed64, occurrence => optional, opts => []}, + #{name => name, fnum => 2, rnum => 3, type => string, occurrence => optional, opts => []}, + #{name => attributes, fnum => 3, rnum => 4, type => {msg, key_value}, occurrence => repeated, opts => []}, + #{name => dropped_attributes_count, fnum => 4, rnum => 5, type => uint32, occurrence => optional, opts => []}]}, {{msg, link}, - [#{name => trace_id, fnum => 1, rnum => 2, type => bytes, occurrence => optional, opts => []}, #{name => span_id, fnum => 2, rnum => 3, type => bytes, occurrence => optional, opts => []}, - #{name => trace_state, fnum => 3, rnum => 4, type => string, occurrence => optional, opts => []}, #{name => attributes, fnum => 4, rnum => 5, type => {msg, key_value}, occurrence => repeated, opts => []}, + [#{name => trace_id, fnum => 1, rnum => 2, type => bytes, occurrence => optional, opts => []}, + #{name => span_id, fnum => 2, rnum => 3, type => bytes, occurrence => optional, opts => []}, + #{name => trace_state, fnum => 3, rnum => 4, type => string, occurrence => optional, opts => []}, + #{name => attributes, fnum => 4, rnum => 5, type => {msg, key_value}, occurrence => repeated, opts => []}, #{name => dropped_attributes_count, fnum => 5, rnum => 6, type => uint32, occurrence => optional, opts => []}]}, {{msg, span}, - [#{name => trace_id, fnum => 1, rnum => 2, type => bytes, occurrence => optional, opts => []}, #{name => span_id, fnum => 2, rnum => 3, type => bytes, occurrence => optional, opts => []}, - #{name => trace_state, fnum => 3, rnum => 4, type => string, occurrence => optional, opts => []}, #{name => parent_span_id, fnum => 4, rnum => 5, type => bytes, occurrence => optional, opts => []}, - #{name => name, fnum => 5, rnum => 6, type => string, occurrence => optional, opts => []}, #{name => kind, fnum => 6, rnum => 7, type => {enum, 'span.SpanKind'}, occurrence => optional, opts => []}, - #{name => start_time_unix_nano, fnum => 7, rnum => 8, type => fixed64, occurrence => optional, opts => []}, #{name => end_time_unix_nano, fnum => 8, rnum => 9, type => fixed64, occurrence => optional, opts => []}, - #{name => attributes, fnum => 9, rnum => 10, type => {msg, key_value}, occurrence => repeated, opts => []}, #{name => dropped_attributes_count, fnum => 10, rnum => 11, type => uint32, occurrence => optional, opts => []}, - #{name => events, fnum => 11, rnum => 12, type => {msg, event}, occurrence => repeated, opts => []}, #{name => dropped_events_count, fnum => 12, rnum => 13, type => uint32, occurrence => optional, opts => []}, - #{name => links, fnum => 13, rnum => 14, type => {msg, link}, occurrence => repeated, opts => []}, #{name => dropped_links_count, fnum => 14, rnum => 15, type => uint32, occurrence => optional, opts => []}, + [#{name => trace_id, fnum => 1, rnum => 2, type => bytes, occurrence => optional, opts => []}, + #{name => span_id, fnum => 2, rnum => 3, type => bytes, occurrence => optional, opts => []}, + #{name => trace_state, fnum => 3, rnum => 4, type => string, occurrence => optional, opts => []}, + #{name => parent_span_id, fnum => 4, rnum => 5, type => bytes, occurrence => optional, opts => []}, + #{name => name, fnum => 5, rnum => 6, type => string, occurrence => optional, opts => []}, + #{name => kind, fnum => 6, rnum => 7, type => {enum, 'span.SpanKind'}, occurrence => optional, opts => []}, + #{name => start_time_unix_nano, fnum => 7, rnum => 8, type => fixed64, occurrence => optional, opts => []}, + #{name => end_time_unix_nano, fnum => 8, rnum => 9, type => fixed64, occurrence => optional, opts => []}, + #{name => attributes, fnum => 9, rnum => 10, type => {msg, key_value}, occurrence => repeated, opts => []}, + #{name => dropped_attributes_count, fnum => 10, rnum => 11, type => uint32, occurrence => optional, opts => []}, + #{name => events, fnum => 11, rnum => 12, type => {msg, event}, occurrence => repeated, opts => []}, + #{name => dropped_events_count, fnum => 12, rnum => 13, type => uint32, occurrence => optional, opts => []}, + #{name => links, fnum => 13, rnum => 14, type => {msg, link}, occurrence => repeated, opts => []}, + #{name => dropped_links_count, fnum => 14, rnum => 15, type => uint32, occurrence => optional, opts => []}, #{name => status, fnum => 15, rnum => 16, type => {msg, status}, occurrence => optional, opts => []}]}, - {{msg, status}, [#{name => code, fnum => 1, rnum => 2, type => {enum, 'status.StatusCode'}, occurrence => optional, opts => []}, #{name => message, fnum => 2, rnum => 3, type => string, occurrence => optional, opts => []}]}, + {{msg, status}, + [#{name => deprecated_code, fnum => 1, rnum => 2, type => {enum, 'status.DeprecatedStatusCode'}, occurrence => optional, opts => [deprecated]}, + #{name => message, fnum => 2, rnum => 3, type => string, occurrence => optional, opts => []}, + #{name => code, fnum => 3, rnum => 4, type => {enum, 'status.StatusCode'}, occurrence => optional, opts => []}]}, {{msg, any_value}, [#{name => value, rnum => 2, - fields => - [#{name => string_value, fnum => 1, rnum => 2, type => string, occurrence => optional, opts => []}, #{name => bool_value, fnum => 2, rnum => 2, type => bool, occurrence => optional, opts => []}, - #{name => int_value, fnum => 3, rnum => 2, type => int64, occurrence => optional, opts => []}, #{name => double_value, fnum => 4, rnum => 2, type => double, occurrence => optional, opts => []}, - #{name => array_value, fnum => 5, rnum => 2, type => {msg, array_value}, occurrence => optional, opts => []}, #{name => kvlist_value, fnum => 6, rnum => 2, type => {msg, key_value_list}, occurrence => optional, opts => []}]}]}, + fields => + [#{name => string_value, fnum => 1, rnum => 2, type => string, occurrence => optional, opts => []}, + #{name => bool_value, fnum => 2, rnum => 2, type => bool, occurrence => optional, opts => []}, + #{name => int_value, fnum => 3, rnum => 2, type => int64, occurrence => optional, opts => []}, + #{name => double_value, fnum => 4, rnum => 2, type => double, occurrence => optional, opts => []}, + #{name => array_value, fnum => 5, rnum => 2, type => {msg, array_value}, occurrence => optional, opts => []}, + #{name => kvlist_value, fnum => 6, rnum => 2, type => {msg, key_value_list}, occurrence => optional, opts => []}]}]}, {{msg, array_value}, [#{name => values, fnum => 1, rnum => 2, type => {msg, any_value}, occurrence => repeated, opts => []}]}, {{msg, key_value_list}, [#{name => values, fnum => 1, rnum => 2, type => {msg, key_value}, occurrence => repeated, opts => []}]}, {{msg, key_value}, [#{name => key, fnum => 1, rnum => 2, type => string, occurrence => optional, opts => []}, #{name => value, fnum => 2, rnum => 3, type => {msg, any_value}, occurrence => optional, opts => []}]}, @@ -2823,20 +3168,20 @@ get_msg_or_group_names() -> [export_trace_service_request, export_trace_service_response, resource_spans, instrumentation_library_spans, event, link, span, status, any_value, array_value, key_value_list, key_value, string_key_value, instrumentation_library, resource]. -get_enum_names() -> ['span.SpanKind', 'status.StatusCode']. +get_enum_names() -> ['span.SpanKind', 'status.DeprecatedStatusCode', 'status.StatusCode']. fetch_msg_def(MsgName) -> case find_msg_def(MsgName) of - Fs when is_list(Fs) -> Fs; - error -> erlang:error({no_such_msg, MsgName}) + Fs when is_list(Fs) -> Fs; + error -> erlang:error({no_such_msg, MsgName}) end. fetch_enum_def(EnumName) -> case find_enum_def(EnumName) of - Es when is_list(Es) -> Es; - error -> erlang:error({no_such_enum, EnumName}) + Es when is_list(Es) -> Es; + error -> erlang:error({no_such_enum, EnumName}) end. @@ -2848,28 +3193,45 @@ find_msg_def(resource_spans) -> find_msg_def(instrumentation_library_spans) -> [#{name => instrumentation_library, fnum => 1, rnum => 2, type => {msg, instrumentation_library}, occurrence => optional, opts => []}, #{name => spans, fnum => 2, rnum => 3, type => {msg, span}, occurrence => repeated, opts => []}]; find_msg_def(event) -> - [#{name => time_unix_nano, fnum => 1, rnum => 2, type => fixed64, occurrence => optional, opts => []}, #{name => name, fnum => 2, rnum => 3, type => string, occurrence => optional, opts => []}, - #{name => attributes, fnum => 3, rnum => 4, type => {msg, key_value}, occurrence => repeated, opts => []}, #{name => dropped_attributes_count, fnum => 4, rnum => 5, type => uint32, occurrence => optional, opts => []}]; + [#{name => time_unix_nano, fnum => 1, rnum => 2, type => fixed64, occurrence => optional, opts => []}, + #{name => name, fnum => 2, rnum => 3, type => string, occurrence => optional, opts => []}, + #{name => attributes, fnum => 3, rnum => 4, type => {msg, key_value}, occurrence => repeated, opts => []}, + #{name => dropped_attributes_count, fnum => 4, rnum => 5, type => uint32, occurrence => optional, opts => []}]; find_msg_def(link) -> - [#{name => trace_id, fnum => 1, rnum => 2, type => bytes, occurrence => optional, opts => []}, #{name => span_id, fnum => 2, rnum => 3, type => bytes, occurrence => optional, opts => []}, - #{name => trace_state, fnum => 3, rnum => 4, type => string, occurrence => optional, opts => []}, #{name => attributes, fnum => 4, rnum => 5, type => {msg, key_value}, occurrence => repeated, opts => []}, + [#{name => trace_id, fnum => 1, rnum => 2, type => bytes, occurrence => optional, opts => []}, + #{name => span_id, fnum => 2, rnum => 3, type => bytes, occurrence => optional, opts => []}, + #{name => trace_state, fnum => 3, rnum => 4, type => string, occurrence => optional, opts => []}, + #{name => attributes, fnum => 4, rnum => 5, type => {msg, key_value}, occurrence => repeated, opts => []}, #{name => dropped_attributes_count, fnum => 5, rnum => 6, type => uint32, occurrence => optional, opts => []}]; find_msg_def(span) -> - [#{name => trace_id, fnum => 1, rnum => 2, type => bytes, occurrence => optional, opts => []}, #{name => span_id, fnum => 2, rnum => 3, type => bytes, occurrence => optional, opts => []}, - #{name => trace_state, fnum => 3, rnum => 4, type => string, occurrence => optional, opts => []}, #{name => parent_span_id, fnum => 4, rnum => 5, type => bytes, occurrence => optional, opts => []}, - #{name => name, fnum => 5, rnum => 6, type => string, occurrence => optional, opts => []}, #{name => kind, fnum => 6, rnum => 7, type => {enum, 'span.SpanKind'}, occurrence => optional, opts => []}, - #{name => start_time_unix_nano, fnum => 7, rnum => 8, type => fixed64, occurrence => optional, opts => []}, #{name => end_time_unix_nano, fnum => 8, rnum => 9, type => fixed64, occurrence => optional, opts => []}, - #{name => attributes, fnum => 9, rnum => 10, type => {msg, key_value}, occurrence => repeated, opts => []}, #{name => dropped_attributes_count, fnum => 10, rnum => 11, type => uint32, occurrence => optional, opts => []}, - #{name => events, fnum => 11, rnum => 12, type => {msg, event}, occurrence => repeated, opts => []}, #{name => dropped_events_count, fnum => 12, rnum => 13, type => uint32, occurrence => optional, opts => []}, - #{name => links, fnum => 13, rnum => 14, type => {msg, link}, occurrence => repeated, opts => []}, #{name => dropped_links_count, fnum => 14, rnum => 15, type => uint32, occurrence => optional, opts => []}, + [#{name => trace_id, fnum => 1, rnum => 2, type => bytes, occurrence => optional, opts => []}, + #{name => span_id, fnum => 2, rnum => 3, type => bytes, occurrence => optional, opts => []}, + #{name => trace_state, fnum => 3, rnum => 4, type => string, occurrence => optional, opts => []}, + #{name => parent_span_id, fnum => 4, rnum => 5, type => bytes, occurrence => optional, opts => []}, + #{name => name, fnum => 5, rnum => 6, type => string, occurrence => optional, opts => []}, + #{name => kind, fnum => 6, rnum => 7, type => {enum, 'span.SpanKind'}, occurrence => optional, opts => []}, + #{name => start_time_unix_nano, fnum => 7, rnum => 8, type => fixed64, occurrence => optional, opts => []}, + #{name => end_time_unix_nano, fnum => 8, rnum => 9, type => fixed64, occurrence => optional, opts => []}, + #{name => attributes, fnum => 9, rnum => 10, type => {msg, key_value}, occurrence => repeated, opts => []}, + #{name => dropped_attributes_count, fnum => 10, rnum => 11, type => uint32, occurrence => optional, opts => []}, + #{name => events, fnum => 11, rnum => 12, type => {msg, event}, occurrence => repeated, opts => []}, + #{name => dropped_events_count, fnum => 12, rnum => 13, type => uint32, occurrence => optional, opts => []}, + #{name => links, fnum => 13, rnum => 14, type => {msg, link}, occurrence => repeated, opts => []}, + #{name => dropped_links_count, fnum => 14, rnum => 15, type => uint32, occurrence => optional, opts => []}, #{name => status, fnum => 15, rnum => 16, type => {msg, status}, occurrence => optional, opts => []}]; -find_msg_def(status) -> [#{name => code, fnum => 1, rnum => 2, type => {enum, 'status.StatusCode'}, occurrence => optional, opts => []}, #{name => message, fnum => 2, rnum => 3, type => string, occurrence => optional, opts => []}]; +find_msg_def(status) -> + [#{name => deprecated_code, fnum => 1, rnum => 2, type => {enum, 'status.DeprecatedStatusCode'}, occurrence => optional, opts => [deprecated]}, + #{name => message, fnum => 2, rnum => 3, type => string, occurrence => optional, opts => []}, + #{name => code, fnum => 3, rnum => 4, type => {enum, 'status.StatusCode'}, occurrence => optional, opts => []}]; find_msg_def(any_value) -> [#{name => value, rnum => 2, fields => - [#{name => string_value, fnum => 1, rnum => 2, type => string, occurrence => optional, opts => []}, #{name => bool_value, fnum => 2, rnum => 2, type => bool, occurrence => optional, opts => []}, - #{name => int_value, fnum => 3, rnum => 2, type => int64, occurrence => optional, opts => []}, #{name => double_value, fnum => 4, rnum => 2, type => double, occurrence => optional, opts => []}, - #{name => array_value, fnum => 5, rnum => 2, type => {msg, array_value}, occurrence => optional, opts => []}, #{name => kvlist_value, fnum => 6, rnum => 2, type => {msg, key_value_list}, occurrence => optional, opts => []}]}]; + [#{name => string_value, fnum => 1, rnum => 2, type => string, occurrence => optional, opts => []}, + #{name => bool_value, fnum => 2, rnum => 2, type => bool, occurrence => optional, opts => []}, + #{name => int_value, fnum => 3, rnum => 2, type => int64, occurrence => optional, opts => []}, + #{name => double_value, fnum => 4, rnum => 2, type => double, occurrence => optional, opts => []}, + #{name => array_value, fnum => 5, rnum => 2, type => {msg, array_value}, occurrence => optional, opts => []}, + #{name => kvlist_value, fnum => 6, rnum => 2, type => {msg, key_value_list}, occurrence => optional, opts => []}]}]; find_msg_def(array_value) -> [#{name => values, fnum => 1, rnum => 2, type => {msg, any_value}, occurrence => repeated, opts => []}]; find_msg_def(key_value_list) -> [#{name => values, fnum => 1, rnum => 2, type => {msg, key_value}, occurrence => repeated, opts => []}]; find_msg_def(key_value) -> [#{name => key, fnum => 1, rnum => 2, type => string, occurrence => optional, opts => []}, #{name => value, fnum => 2, rnum => 3, type => {msg, any_value}, occurrence => optional, opts => []}]; @@ -2880,18 +3242,35 @@ find_msg_def(_) -> error. find_enum_def('span.SpanKind') -> [{'SPAN_KIND_UNSPECIFIED', 0}, {'SPAN_KIND_INTERNAL', 1}, {'SPAN_KIND_SERVER', 2}, {'SPAN_KIND_CLIENT', 3}, {'SPAN_KIND_PRODUCER', 4}, {'SPAN_KIND_CONSUMER', 5}]; -find_enum_def('status.StatusCode') -> - [{'STATUS_CODE_OK', 0}, {'STATUS_CODE_CANCELLED', 1}, {'STATUS_CODE_UNKNOWN_ERROR', 2}, {'STATUS_CODE_INVALID_ARGUMENT', 3}, {'STATUS_CODE_DEADLINE_EXCEEDED', 4}, {'STATUS_CODE_NOT_FOUND', 5}, {'STATUS_CODE_ALREADY_EXISTS', 6}, - {'STATUS_CODE_PERMISSION_DENIED', 7}, {'STATUS_CODE_RESOURCE_EXHAUSTED', 8}, {'STATUS_CODE_FAILED_PRECONDITION', 9}, {'STATUS_CODE_ABORTED', 10}, {'STATUS_CODE_OUT_OF_RANGE', 11}, {'STATUS_CODE_UNIMPLEMENTED', 12}, {'STATUS_CODE_INTERNAL_ERROR', 13}, - {'STATUS_CODE_UNAVAILABLE', 14}, {'STATUS_CODE_DATA_LOSS', 15}, {'STATUS_CODE_UNAUTHENTICATED', 16}]; +find_enum_def('status.DeprecatedStatusCode') -> + [{'DEPRECATED_STATUS_CODE_OK', 0}, + {'DEPRECATED_STATUS_CODE_CANCELLED', 1}, + {'DEPRECATED_STATUS_CODE_UNKNOWN_ERROR', 2}, + {'DEPRECATED_STATUS_CODE_INVALID_ARGUMENT', 3}, + {'DEPRECATED_STATUS_CODE_DEADLINE_EXCEEDED', 4}, + {'DEPRECATED_STATUS_CODE_NOT_FOUND', 5}, + {'DEPRECATED_STATUS_CODE_ALREADY_EXISTS', 6}, + {'DEPRECATED_STATUS_CODE_PERMISSION_DENIED', 7}, + {'DEPRECATED_STATUS_CODE_RESOURCE_EXHAUSTED', 8}, + {'DEPRECATED_STATUS_CODE_FAILED_PRECONDITION', 9}, + {'DEPRECATED_STATUS_CODE_ABORTED', 10}, + {'DEPRECATED_STATUS_CODE_OUT_OF_RANGE', 11}, + {'DEPRECATED_STATUS_CODE_UNIMPLEMENTED', 12}, + {'DEPRECATED_STATUS_CODE_INTERNAL_ERROR', 13}, + {'DEPRECATED_STATUS_CODE_UNAVAILABLE', 14}, + {'DEPRECATED_STATUS_CODE_DATA_LOSS', 15}, + {'DEPRECATED_STATUS_CODE_UNAUTHENTICATED', 16}]; +find_enum_def('status.StatusCode') -> [{'STATUS_CODE_UNSET', 0}, {'STATUS_CODE_OK', 1}, {'STATUS_CODE_ERROR', 2}]; find_enum_def(_) -> error. enum_symbol_by_value('span.SpanKind', Value) -> 'enum_symbol_by_value_span.SpanKind'(Value); +enum_symbol_by_value('status.DeprecatedStatusCode', Value) -> 'enum_symbol_by_value_status.DeprecatedStatusCode'(Value); enum_symbol_by_value('status.StatusCode', Value) -> 'enum_symbol_by_value_status.StatusCode'(Value). enum_value_by_symbol('span.SpanKind', Sym) -> 'enum_value_by_symbol_span.SpanKind'(Sym); +enum_value_by_symbol('status.DeprecatedStatusCode', Sym) -> 'enum_value_by_symbol_status.DeprecatedStatusCode'(Sym); enum_value_by_symbol('status.StatusCode', Sym) -> 'enum_value_by_symbol_status.StatusCode'(Sym). @@ -2910,42 +3289,51 @@ enum_value_by_symbol('status.StatusCode', Sym) -> 'enum_value_by_symbol_status.S 'enum_value_by_symbol_span.SpanKind'('SPAN_KIND_PRODUCER') -> 4; 'enum_value_by_symbol_span.SpanKind'('SPAN_KIND_CONSUMER') -> 5. -'enum_symbol_by_value_status.StatusCode'(0) -> 'STATUS_CODE_OK'; -'enum_symbol_by_value_status.StatusCode'(1) -> 'STATUS_CODE_CANCELLED'; -'enum_symbol_by_value_status.StatusCode'(2) -> 'STATUS_CODE_UNKNOWN_ERROR'; -'enum_symbol_by_value_status.StatusCode'(3) -> 'STATUS_CODE_INVALID_ARGUMENT'; -'enum_symbol_by_value_status.StatusCode'(4) -> 'STATUS_CODE_DEADLINE_EXCEEDED'; -'enum_symbol_by_value_status.StatusCode'(5) -> 'STATUS_CODE_NOT_FOUND'; -'enum_symbol_by_value_status.StatusCode'(6) -> 'STATUS_CODE_ALREADY_EXISTS'; -'enum_symbol_by_value_status.StatusCode'(7) -> 'STATUS_CODE_PERMISSION_DENIED'; -'enum_symbol_by_value_status.StatusCode'(8) -> 'STATUS_CODE_RESOURCE_EXHAUSTED'; -'enum_symbol_by_value_status.StatusCode'(9) -> 'STATUS_CODE_FAILED_PRECONDITION'; -'enum_symbol_by_value_status.StatusCode'(10) -> 'STATUS_CODE_ABORTED'; -'enum_symbol_by_value_status.StatusCode'(11) -> 'STATUS_CODE_OUT_OF_RANGE'; -'enum_symbol_by_value_status.StatusCode'(12) -> 'STATUS_CODE_UNIMPLEMENTED'; -'enum_symbol_by_value_status.StatusCode'(13) -> 'STATUS_CODE_INTERNAL_ERROR'; -'enum_symbol_by_value_status.StatusCode'(14) -> 'STATUS_CODE_UNAVAILABLE'; -'enum_symbol_by_value_status.StatusCode'(15) -> 'STATUS_CODE_DATA_LOSS'; -'enum_symbol_by_value_status.StatusCode'(16) -> 'STATUS_CODE_UNAUTHENTICATED'. - - -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_OK') -> 0; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_CANCELLED') -> 1; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_UNKNOWN_ERROR') -> 2; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_INVALID_ARGUMENT') -> 3; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_DEADLINE_EXCEEDED') -> 4; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_NOT_FOUND') -> 5; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_ALREADY_EXISTS') -> 6; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_PERMISSION_DENIED') -> 7; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_RESOURCE_EXHAUSTED') -> 8; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_FAILED_PRECONDITION') -> 9; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_ABORTED') -> 10; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_OUT_OF_RANGE') -> 11; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_UNIMPLEMENTED') -> 12; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_INTERNAL_ERROR') -> 13; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_UNAVAILABLE') -> 14; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_DATA_LOSS') -> 15; -'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_UNAUTHENTICATED') -> 16. +'enum_symbol_by_value_status.DeprecatedStatusCode'(0) -> 'DEPRECATED_STATUS_CODE_OK'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(1) -> 'DEPRECATED_STATUS_CODE_CANCELLED'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(2) -> 'DEPRECATED_STATUS_CODE_UNKNOWN_ERROR'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(3) -> 'DEPRECATED_STATUS_CODE_INVALID_ARGUMENT'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(4) -> 'DEPRECATED_STATUS_CODE_DEADLINE_EXCEEDED'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(5) -> 'DEPRECATED_STATUS_CODE_NOT_FOUND'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(6) -> 'DEPRECATED_STATUS_CODE_ALREADY_EXISTS'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(7) -> 'DEPRECATED_STATUS_CODE_PERMISSION_DENIED'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(8) -> 'DEPRECATED_STATUS_CODE_RESOURCE_EXHAUSTED'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(9) -> 'DEPRECATED_STATUS_CODE_FAILED_PRECONDITION'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(10) -> 'DEPRECATED_STATUS_CODE_ABORTED'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(11) -> 'DEPRECATED_STATUS_CODE_OUT_OF_RANGE'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(12) -> 'DEPRECATED_STATUS_CODE_UNIMPLEMENTED'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(13) -> 'DEPRECATED_STATUS_CODE_INTERNAL_ERROR'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(14) -> 'DEPRECATED_STATUS_CODE_UNAVAILABLE'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(15) -> 'DEPRECATED_STATUS_CODE_DATA_LOSS'; +'enum_symbol_by_value_status.DeprecatedStatusCode'(16) -> 'DEPRECATED_STATUS_CODE_UNAUTHENTICATED'. + + +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_OK') -> 0; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_CANCELLED') -> 1; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_UNKNOWN_ERROR') -> 2; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_INVALID_ARGUMENT') -> 3; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_DEADLINE_EXCEEDED') -> 4; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_NOT_FOUND') -> 5; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_ALREADY_EXISTS') -> 6; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_PERMISSION_DENIED') -> 7; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_RESOURCE_EXHAUSTED') -> 8; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_FAILED_PRECONDITION') -> 9; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_ABORTED') -> 10; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_OUT_OF_RANGE') -> 11; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_UNIMPLEMENTED') -> 12; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_INTERNAL_ERROR') -> 13; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_UNAVAILABLE') -> 14; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_DATA_LOSS') -> 15; +'enum_value_by_symbol_status.DeprecatedStatusCode'('DEPRECATED_STATUS_CODE_UNAUTHENTICATED') -> 16. + +'enum_symbol_by_value_status.StatusCode'(0) -> 'STATUS_CODE_UNSET'; +'enum_symbol_by_value_status.StatusCode'(1) -> 'STATUS_CODE_OK'; +'enum_symbol_by_value_status.StatusCode'(2) -> 'STATUS_CODE_ERROR'. + + +'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_UNSET') -> 0; +'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_OK') -> 1; +'enum_value_by_symbol_status.StatusCode'('STATUS_CODE_ERROR') -> 2. get_service_names() -> ['opentelemetry.proto.collector.trace.v1.TraceService']. @@ -2970,8 +3358,8 @@ find_rpc_def(_, _) -> error. fetch_rpc_def(ServiceName, RpcName) -> case find_rpc_def(ServiceName, RpcName) of - Def when is_map(Def) -> Def; - error -> erlang:error({no_such_rpc, ServiceName, RpcName}) + Def when is_map(Def) -> Def; + error -> erlang:error({no_such_rpc, ServiceName, RpcName}) end. @@ -3038,11 +3426,13 @@ msg_name_to_fqbin(E) -> error({gpb_error, {badmsg, E}}). fqbin_to_enum_name(<<"opentelemetry.proto.trace.v1.Span.SpanKind">>) -> 'span.SpanKind'; +fqbin_to_enum_name(<<"opentelemetry.proto.trace.v1.Status.DeprecatedStatusCode">>) -> 'status.DeprecatedStatusCode'; fqbin_to_enum_name(<<"opentelemetry.proto.trace.v1.Status.StatusCode">>) -> 'status.StatusCode'; fqbin_to_enum_name(E) -> error({gpb_error, {badenum, E}}). enum_name_to_fqbin('span.SpanKind') -> <<"opentelemetry.proto.trace.v1.Span.SpanKind">>; +enum_name_to_fqbin('status.DeprecatedStatusCode') -> <<"opentelemetry.proto.trace.v1.Status.DeprecatedStatusCode">>; enum_name_to_fqbin('status.StatusCode') -> <<"opentelemetry.proto.trace.v1.Status.StatusCode">>; enum_name_to_fqbin(E) -> error({gpb_error, {badenum, E}}). @@ -3103,7 +3493,7 @@ get_rpc_containment(P) -> error({gpb_error, {badproto, P}}). get_enum_containment("trace_service") -> []; -get_enum_containment("trace") -> ['span.SpanKind', 'status.StatusCode']; +get_enum_containment("trace") -> ['span.SpanKind', 'status.DeprecatedStatusCode', 'status.StatusCode']; get_enum_containment("common") -> []; get_enum_containment("resource") -> []; get_enum_containment(P) -> error({gpb_error, {badproto, P}}). @@ -3133,6 +3523,7 @@ get_proto_by_service_name_as_fqbin(E) -> error({gpb_error, {badservice, E}}). get_proto_by_enum_name_as_fqbin(<<"opentelemetry.proto.trace.v1.Span.SpanKind">>) -> "trace"; get_proto_by_enum_name_as_fqbin(<<"opentelemetry.proto.trace.v1.Status.StatusCode">>) -> "trace"; +get_proto_by_enum_name_as_fqbin(<<"opentelemetry.proto.trace.v1.Status.DeprecatedStatusCode">>) -> "trace"; get_proto_by_enum_name_as_fqbin(E) -> error({gpb_error, {badenum, E}}). @@ -3145,7 +3536,7 @@ get_protos_by_pkg_name_as_fqbin(E) -> error({gpb_error, {badpkg, E}}). gpb_version_as_string() -> - "4.14.1". + "4.14.2". gpb_version_as_list() -> - [4,14,1]. + [4,14,2]. diff --git a/apps/opentelemetry_exporter/test/opentelemetry_exporter_SUITE.erl b/apps/opentelemetry_exporter/test/opentelemetry_exporter_SUITE.erl index fd538900..1012f399 100644 --- a/apps/opentelemetry_exporter/test/opentelemetry_exporter_SUITE.erl +++ b/apps/opentelemetry_exporter/test/opentelemetry_exporter_SUITE.erl @@ -113,7 +113,7 @@ span_round_trip(_Config) -> {<<"proplist-key-1">>, [{proplistkey1, 456}, {<<"proplist-key-2">>, 9.345}]}, {<<"tuple-key-1">>, {a, 123, [456, {1, 2}]}} ], - status = #status{code='Ok', + status = #status{code=?OTEL_STATUS_OK, message = <<"">>}, instrumentation_library = #instrumentation_library{name = <<"tracer-1">>, version = <<"0.0.1">>}}, @@ -160,6 +160,8 @@ verify_export(Config) -> #event{system_time_nano=erlang:system_time(nanosecond), name = <<"event-2">>, attributes = [{<<"attr-3">>, <<"value-3">>}]}], + status = #status{code=?OTEL_STATUS_UNSET, + message = <<"hello I'm unset">>}, attributes = [{<<"attr-2">>, <<"value-2">>}]}, true = ets:insert(Tid, ParentSpan), @@ -176,6 +178,8 @@ verify_export(Config) -> #event{system_time_nano=erlang:system_time(nanosecond), name = <<"event-2">>, attributes = [{<<"attr-3">>, <<"value-3">>}]}], + status = #status{code=?OTEL_STATUS_ERROR, + message = <<"hello I'm an error">>}, attributes = [ {atom_attr, atom_value}, {<<"attr-2">>, <<"value-2">>},