ocaml-opentelemetry/src/metrics_pb.ml
2023-09-06 23:37:54 -04:00

1282 lines
47 KiB
OCaml

[@@@ocaml.warning "-27-30-39"]
type exemplar_mutable = {
mutable filtered_attributes : Common_types.key_value list;
mutable time_unix_nano : int64;
mutable value : Metrics_types.exemplar_value;
mutable span_id : bytes;
mutable trace_id : bytes;
}
let default_exemplar_mutable () : exemplar_mutable = {
filtered_attributes = [];
time_unix_nano = 0L;
value = Metrics_types.As_double (0.);
span_id = Bytes.create 0;
trace_id = Bytes.create 0;
}
type number_data_point_mutable = {
mutable attributes : Common_types.key_value list;
mutable start_time_unix_nano : int64;
mutable time_unix_nano : int64;
mutable value : Metrics_types.number_data_point_value;
mutable exemplars : Metrics_types.exemplar list;
mutable flags : int32;
}
let default_number_data_point_mutable () : number_data_point_mutable = {
attributes = [];
start_time_unix_nano = 0L;
time_unix_nano = 0L;
value = Metrics_types.As_double (0.);
exemplars = [];
flags = 0l;
}
type gauge_mutable = {
mutable data_points : Metrics_types.number_data_point list;
}
let default_gauge_mutable () : gauge_mutable = {
data_points = [];
}
type sum_mutable = {
mutable data_points : Metrics_types.number_data_point list;
mutable aggregation_temporality : Metrics_types.aggregation_temporality;
mutable is_monotonic : bool;
}
let default_sum_mutable () : sum_mutable = {
data_points = [];
aggregation_temporality = Metrics_types.default_aggregation_temporality ();
is_monotonic = false;
}
type histogram_data_point_mutable = {
mutable attributes : Common_types.key_value list;
mutable start_time_unix_nano : int64;
mutable time_unix_nano : int64;
mutable count : int64;
mutable sum : float option;
mutable bucket_counts : int64 list;
mutable explicit_bounds : float list;
mutable exemplars : Metrics_types.exemplar list;
mutable flags : int32;
mutable min : float option;
mutable max : float option;
}
let default_histogram_data_point_mutable () : histogram_data_point_mutable = {
attributes = [];
start_time_unix_nano = 0L;
time_unix_nano = 0L;
count = 0L;
sum = None;
bucket_counts = [];
explicit_bounds = [];
exemplars = [];
flags = 0l;
min = None;
max = None;
}
type histogram_mutable = {
mutable data_points : Metrics_types.histogram_data_point list;
mutable aggregation_temporality : Metrics_types.aggregation_temporality;
}
let default_histogram_mutable () : histogram_mutable = {
data_points = [];
aggregation_temporality = Metrics_types.default_aggregation_temporality ();
}
type exponential_histogram_data_point_buckets_mutable = {
mutable offset : int32;
mutable bucket_counts : int64 list;
}
let default_exponential_histogram_data_point_buckets_mutable () : exponential_histogram_data_point_buckets_mutable = {
offset = 0l;
bucket_counts = [];
}
type exponential_histogram_data_point_mutable = {
mutable attributes : Common_types.key_value list;
mutable start_time_unix_nano : int64;
mutable time_unix_nano : int64;
mutable count : int64;
mutable sum : float option;
mutable scale : int32;
mutable zero_count : int64;
mutable positive : Metrics_types.exponential_histogram_data_point_buckets option;
mutable negative : Metrics_types.exponential_histogram_data_point_buckets option;
mutable flags : int32;
mutable exemplars : Metrics_types.exemplar list;
mutable min : float option;
mutable max : float option;
mutable zero_threshold : float;
}
let default_exponential_histogram_data_point_mutable () : exponential_histogram_data_point_mutable = {
attributes = [];
start_time_unix_nano = 0L;
time_unix_nano = 0L;
count = 0L;
sum = None;
scale = 0l;
zero_count = 0L;
positive = None;
negative = None;
flags = 0l;
exemplars = [];
min = None;
max = None;
zero_threshold = 0.;
}
type exponential_histogram_mutable = {
mutable data_points : Metrics_types.exponential_histogram_data_point list;
mutable aggregation_temporality : Metrics_types.aggregation_temporality;
}
let default_exponential_histogram_mutable () : exponential_histogram_mutable = {
data_points = [];
aggregation_temporality = Metrics_types.default_aggregation_temporality ();
}
type summary_data_point_value_at_quantile_mutable = {
mutable quantile : float;
mutable value : float;
}
let default_summary_data_point_value_at_quantile_mutable () : summary_data_point_value_at_quantile_mutable = {
quantile = 0.;
value = 0.;
}
type summary_data_point_mutable = {
mutable attributes : Common_types.key_value list;
mutable start_time_unix_nano : int64;
mutable time_unix_nano : int64;
mutable count : int64;
mutable sum : float;
mutable quantile_values : Metrics_types.summary_data_point_value_at_quantile list;
mutable flags : int32;
}
let default_summary_data_point_mutable () : summary_data_point_mutable = {
attributes = [];
start_time_unix_nano = 0L;
time_unix_nano = 0L;
count = 0L;
sum = 0.;
quantile_values = [];
flags = 0l;
}
type summary_mutable = {
mutable data_points : Metrics_types.summary_data_point list;
}
let default_summary_mutable () : summary_mutable = {
data_points = [];
}
type metric_mutable = {
mutable name : string;
mutable description : string;
mutable unit_ : string;
mutable data : Metrics_types.metric_data;
}
let default_metric_mutable () : metric_mutable = {
name = "";
description = "";
unit_ = "";
data = Metrics_types.Gauge (Metrics_types.default_gauge ());
}
type scope_metrics_mutable = {
mutable scope : Common_types.instrumentation_scope option;
mutable metrics : Metrics_types.metric list;
mutable schema_url : string;
}
let default_scope_metrics_mutable () : scope_metrics_mutable = {
scope = None;
metrics = [];
schema_url = "";
}
type resource_metrics_mutable = {
mutable resource : Resource_types.resource option;
mutable scope_metrics : Metrics_types.scope_metrics list;
mutable schema_url : string;
}
let default_resource_metrics_mutable () : resource_metrics_mutable = {
resource = None;
scope_metrics = [];
schema_url = "";
}
type metrics_data_mutable = {
mutable resource_metrics : Metrics_types.resource_metrics list;
}
let default_metrics_data_mutable () : metrics_data_mutable = {
resource_metrics = [];
}
let rec decode_exemplar_value d =
let rec loop () =
let ret:Metrics_types.exemplar_value = match Pbrt.Decoder.key d with
| None -> Pbrt.Decoder.malformed_variant "exemplar_value"
| Some (3, _) -> (Metrics_types.As_double (Pbrt.Decoder.float_as_bits64 d) : Metrics_types.exemplar_value)
| Some (6, _) -> (Metrics_types.As_int (Pbrt.Decoder.int64_as_bits64 d) : Metrics_types.exemplar_value)
| Some (n, payload_kind) -> (
Pbrt.Decoder.skip d payload_kind;
loop ()
)
in
ret
in
loop ()
and decode_exemplar d =
let v = default_exemplar_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.filtered_attributes <- List.rev v.filtered_attributes;
); continue__ := false
| Some (7, Pbrt.Bytes) -> begin
v.filtered_attributes <- (Common_pb.decode_key_value (Pbrt.Decoder.nested d)) :: v.filtered_attributes;
end
| Some (7, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exemplar), field(7)" pk
| Some (2, Pbrt.Bits64) -> begin
v.time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exemplar), field(2)" pk
| Some (3, Pbrt.Bits64) -> begin
v.value <- Metrics_types.As_double (Pbrt.Decoder.float_as_bits64 d);
end
| Some (3, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exemplar), field(3)" pk
| Some (6, Pbrt.Bits64) -> begin
v.value <- Metrics_types.As_int (Pbrt.Decoder.int64_as_bits64 d);
end
| Some (6, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exemplar), field(6)" pk
| Some (4, Pbrt.Bytes) -> begin
v.span_id <- Pbrt.Decoder.bytes d;
end
| Some (4, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exemplar), field(4)" pk
| Some (5, Pbrt.Bytes) -> begin
v.trace_id <- Pbrt.Decoder.bytes d;
end
| Some (5, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exemplar), field(5)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.filtered_attributes = v.filtered_attributes;
Metrics_types.time_unix_nano = v.time_unix_nano;
Metrics_types.value = v.value;
Metrics_types.span_id = v.span_id;
Metrics_types.trace_id = v.trace_id;
} : Metrics_types.exemplar)
let rec decode_number_data_point_value d =
let rec loop () =
let ret:Metrics_types.number_data_point_value = match Pbrt.Decoder.key d with
| None -> Pbrt.Decoder.malformed_variant "number_data_point_value"
| Some (4, _) -> (Metrics_types.As_double (Pbrt.Decoder.float_as_bits64 d) : Metrics_types.number_data_point_value)
| Some (6, _) -> (Metrics_types.As_int (Pbrt.Decoder.int64_as_bits64 d) : Metrics_types.number_data_point_value)
| Some (n, payload_kind) -> (
Pbrt.Decoder.skip d payload_kind;
loop ()
)
in
ret
in
loop ()
and decode_number_data_point d =
let v = default_number_data_point_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.exemplars <- List.rev v.exemplars;
v.attributes <- List.rev v.attributes;
); continue__ := false
| Some (7, Pbrt.Bytes) -> begin
v.attributes <- (Common_pb.decode_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
end
| Some (7, pk) ->
Pbrt.Decoder.unexpected_payload "Message(number_data_point), field(7)" pk
| Some (2, Pbrt.Bits64) -> begin
v.start_time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(number_data_point), field(2)" pk
| Some (3, Pbrt.Bits64) -> begin
v.time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (3, pk) ->
Pbrt.Decoder.unexpected_payload "Message(number_data_point), field(3)" pk
| Some (4, Pbrt.Bits64) -> begin
v.value <- Metrics_types.As_double (Pbrt.Decoder.float_as_bits64 d);
end
| Some (4, pk) ->
Pbrt.Decoder.unexpected_payload "Message(number_data_point), field(4)" pk
| Some (6, Pbrt.Bits64) -> begin
v.value <- Metrics_types.As_int (Pbrt.Decoder.int64_as_bits64 d);
end
| Some (6, pk) ->
Pbrt.Decoder.unexpected_payload "Message(number_data_point), field(6)" pk
| Some (5, Pbrt.Bytes) -> begin
v.exemplars <- (decode_exemplar (Pbrt.Decoder.nested d)) :: v.exemplars;
end
| Some (5, pk) ->
Pbrt.Decoder.unexpected_payload "Message(number_data_point), field(5)" pk
| Some (8, Pbrt.Varint) -> begin
v.flags <- Pbrt.Decoder.int32_as_varint d;
end
| Some (8, pk) ->
Pbrt.Decoder.unexpected_payload "Message(number_data_point), field(8)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.attributes = v.attributes;
Metrics_types.start_time_unix_nano = v.start_time_unix_nano;
Metrics_types.time_unix_nano = v.time_unix_nano;
Metrics_types.value = v.value;
Metrics_types.exemplars = v.exemplars;
Metrics_types.flags = v.flags;
} : Metrics_types.number_data_point)
let rec decode_gauge d =
let v = default_gauge_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.data_points <- List.rev v.data_points;
); continue__ := false
| Some (1, Pbrt.Bytes) -> begin
v.data_points <- (decode_number_data_point (Pbrt.Decoder.nested d)) :: v.data_points;
end
| Some (1, pk) ->
Pbrt.Decoder.unexpected_payload "Message(gauge), field(1)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.data_points = v.data_points;
} : Metrics_types.gauge)
let rec decode_aggregation_temporality d =
match Pbrt.Decoder.int_as_varint d with
| 0 -> (Metrics_types.Aggregation_temporality_unspecified:Metrics_types.aggregation_temporality)
| 1 -> (Metrics_types.Aggregation_temporality_delta:Metrics_types.aggregation_temporality)
| 2 -> (Metrics_types.Aggregation_temporality_cumulative:Metrics_types.aggregation_temporality)
| _ -> Pbrt.Decoder.malformed_variant "aggregation_temporality"
let rec decode_sum d =
let v = default_sum_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.data_points <- List.rev v.data_points;
); continue__ := false
| Some (1, Pbrt.Bytes) -> begin
v.data_points <- (decode_number_data_point (Pbrt.Decoder.nested d)) :: v.data_points;
end
| Some (1, pk) ->
Pbrt.Decoder.unexpected_payload "Message(sum), field(1)" pk
| Some (2, Pbrt.Varint) -> begin
v.aggregation_temporality <- decode_aggregation_temporality d;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(sum), field(2)" pk
| Some (3, Pbrt.Varint) -> begin
v.is_monotonic <- Pbrt.Decoder.bool d;
end
| Some (3, pk) ->
Pbrt.Decoder.unexpected_payload "Message(sum), field(3)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.data_points = v.data_points;
Metrics_types.aggregation_temporality = v.aggregation_temporality;
Metrics_types.is_monotonic = v.is_monotonic;
} : Metrics_types.sum)
let rec decode_histogram_data_point d =
let v = default_histogram_data_point_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.exemplars <- List.rev v.exemplars;
v.explicit_bounds <- List.rev v.explicit_bounds;
v.bucket_counts <- List.rev v.bucket_counts;
v.attributes <- List.rev v.attributes;
); continue__ := false
| Some (9, Pbrt.Bytes) -> begin
v.attributes <- (Common_pb.decode_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
end
| Some (9, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram_data_point), field(9)" pk
| Some (2, Pbrt.Bits64) -> begin
v.start_time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram_data_point), field(2)" pk
| Some (3, Pbrt.Bits64) -> begin
v.time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (3, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram_data_point), field(3)" pk
| Some (4, Pbrt.Bits64) -> begin
v.count <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (4, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram_data_point), field(4)" pk
| Some (5, Pbrt.Bits64) -> begin
v.sum <- Some (Pbrt.Decoder.float_as_bits64 d);
end
| Some (5, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram_data_point), field(5)" pk
| Some (6, Pbrt.Bytes) -> begin
v.bucket_counts <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int64_as_bits64 d)::l) [] d;
end
| Some (6, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram_data_point), field(6)" pk
| Some (7, Pbrt.Bytes) -> begin
v.explicit_bounds <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.float_as_bits64 d)::l) [] d;
end
| Some (7, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram_data_point), field(7)" pk
| Some (8, Pbrt.Bytes) -> begin
v.exemplars <- (decode_exemplar (Pbrt.Decoder.nested d)) :: v.exemplars;
end
| Some (8, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram_data_point), field(8)" pk
| Some (10, Pbrt.Varint) -> begin
v.flags <- Pbrt.Decoder.int32_as_varint d;
end
| Some (10, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram_data_point), field(10)" pk
| Some (11, Pbrt.Bits64) -> begin
v.min <- Some (Pbrt.Decoder.float_as_bits64 d);
end
| Some (11, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram_data_point), field(11)" pk
| Some (12, Pbrt.Bits64) -> begin
v.max <- Some (Pbrt.Decoder.float_as_bits64 d);
end
| Some (12, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram_data_point), field(12)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.attributes = v.attributes;
Metrics_types.start_time_unix_nano = v.start_time_unix_nano;
Metrics_types.time_unix_nano = v.time_unix_nano;
Metrics_types.count = v.count;
Metrics_types.sum = v.sum;
Metrics_types.bucket_counts = v.bucket_counts;
Metrics_types.explicit_bounds = v.explicit_bounds;
Metrics_types.exemplars = v.exemplars;
Metrics_types.flags = v.flags;
Metrics_types.min = v.min;
Metrics_types.max = v.max;
} : Metrics_types.histogram_data_point)
let rec decode_histogram d =
let v = default_histogram_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.data_points <- List.rev v.data_points;
); continue__ := false
| Some (1, Pbrt.Bytes) -> begin
v.data_points <- (decode_histogram_data_point (Pbrt.Decoder.nested d)) :: v.data_points;
end
| Some (1, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram), field(1)" pk
| Some (2, Pbrt.Varint) -> begin
v.aggregation_temporality <- decode_aggregation_temporality d;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(histogram), field(2)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.data_points = v.data_points;
Metrics_types.aggregation_temporality = v.aggregation_temporality;
} : Metrics_types.histogram)
let rec decode_exponential_histogram_data_point_buckets d =
let v = default_exponential_histogram_data_point_buckets_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.bucket_counts <- List.rev v.bucket_counts;
); continue__ := false
| Some (1, Pbrt.Varint) -> begin
v.offset <- Pbrt.Decoder.int32_as_zigzag d;
end
| Some (1, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point_buckets), field(1)" pk
| Some (2, Pbrt.Bytes) -> begin
v.bucket_counts <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int64_as_varint d)::l) [] d;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point_buckets), field(2)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.offset = v.offset;
Metrics_types.bucket_counts = v.bucket_counts;
} : Metrics_types.exponential_histogram_data_point_buckets)
let rec decode_exponential_histogram_data_point d =
let v = default_exponential_histogram_data_point_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.exemplars <- List.rev v.exemplars;
v.attributes <- List.rev v.attributes;
); continue__ := false
| Some (1, Pbrt.Bytes) -> begin
v.attributes <- (Common_pb.decode_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
end
| Some (1, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(1)" pk
| Some (2, Pbrt.Bits64) -> begin
v.start_time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(2)" pk
| Some (3, Pbrt.Bits64) -> begin
v.time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (3, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(3)" pk
| Some (4, Pbrt.Bits64) -> begin
v.count <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (4, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(4)" pk
| Some (5, Pbrt.Bits64) -> begin
v.sum <- Some (Pbrt.Decoder.float_as_bits64 d);
end
| Some (5, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(5)" pk
| Some (6, Pbrt.Varint) -> begin
v.scale <- Pbrt.Decoder.int32_as_zigzag d;
end
| Some (6, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(6)" pk
| Some (7, Pbrt.Bits64) -> begin
v.zero_count <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (7, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(7)" pk
| Some (8, Pbrt.Bytes) -> begin
v.positive <- Some (decode_exponential_histogram_data_point_buckets (Pbrt.Decoder.nested d));
end
| Some (8, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(8)" pk
| Some (9, Pbrt.Bytes) -> begin
v.negative <- Some (decode_exponential_histogram_data_point_buckets (Pbrt.Decoder.nested d));
end
| Some (9, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(9)" pk
| Some (10, Pbrt.Varint) -> begin
v.flags <- Pbrt.Decoder.int32_as_varint d;
end
| Some (10, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(10)" pk
| Some (11, Pbrt.Bytes) -> begin
v.exemplars <- (decode_exemplar (Pbrt.Decoder.nested d)) :: v.exemplars;
end
| Some (11, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(11)" pk
| Some (12, Pbrt.Bits64) -> begin
v.min <- Some (Pbrt.Decoder.float_as_bits64 d);
end
| Some (12, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(12)" pk
| Some (13, Pbrt.Bits64) -> begin
v.max <- Some (Pbrt.Decoder.float_as_bits64 d);
end
| Some (13, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(13)" pk
| Some (14, Pbrt.Bits64) -> begin
v.zero_threshold <- Pbrt.Decoder.float_as_bits64 d;
end
| Some (14, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram_data_point), field(14)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.attributes = v.attributes;
Metrics_types.start_time_unix_nano = v.start_time_unix_nano;
Metrics_types.time_unix_nano = v.time_unix_nano;
Metrics_types.count = v.count;
Metrics_types.sum = v.sum;
Metrics_types.scale = v.scale;
Metrics_types.zero_count = v.zero_count;
Metrics_types.positive = v.positive;
Metrics_types.negative = v.negative;
Metrics_types.flags = v.flags;
Metrics_types.exemplars = v.exemplars;
Metrics_types.min = v.min;
Metrics_types.max = v.max;
Metrics_types.zero_threshold = v.zero_threshold;
} : Metrics_types.exponential_histogram_data_point)
let rec decode_exponential_histogram d =
let v = default_exponential_histogram_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.data_points <- List.rev v.data_points;
); continue__ := false
| Some (1, Pbrt.Bytes) -> begin
v.data_points <- (decode_exponential_histogram_data_point (Pbrt.Decoder.nested d)) :: v.data_points;
end
| Some (1, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram), field(1)" pk
| Some (2, Pbrt.Varint) -> begin
v.aggregation_temporality <- decode_aggregation_temporality d;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(exponential_histogram), field(2)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.data_points = v.data_points;
Metrics_types.aggregation_temporality = v.aggregation_temporality;
} : Metrics_types.exponential_histogram)
let rec decode_summary_data_point_value_at_quantile d =
let v = default_summary_data_point_value_at_quantile_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
); continue__ := false
| Some (1, Pbrt.Bits64) -> begin
v.quantile <- Pbrt.Decoder.float_as_bits64 d;
end
| Some (1, pk) ->
Pbrt.Decoder.unexpected_payload "Message(summary_data_point_value_at_quantile), field(1)" pk
| Some (2, Pbrt.Bits64) -> begin
v.value <- Pbrt.Decoder.float_as_bits64 d;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(summary_data_point_value_at_quantile), field(2)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.quantile = v.quantile;
Metrics_types.value = v.value;
} : Metrics_types.summary_data_point_value_at_quantile)
let rec decode_summary_data_point d =
let v = default_summary_data_point_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.quantile_values <- List.rev v.quantile_values;
v.attributes <- List.rev v.attributes;
); continue__ := false
| Some (7, Pbrt.Bytes) -> begin
v.attributes <- (Common_pb.decode_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
end
| Some (7, pk) ->
Pbrt.Decoder.unexpected_payload "Message(summary_data_point), field(7)" pk
| Some (2, Pbrt.Bits64) -> begin
v.start_time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(summary_data_point), field(2)" pk
| Some (3, Pbrt.Bits64) -> begin
v.time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (3, pk) ->
Pbrt.Decoder.unexpected_payload "Message(summary_data_point), field(3)" pk
| Some (4, Pbrt.Bits64) -> begin
v.count <- Pbrt.Decoder.int64_as_bits64 d;
end
| Some (4, pk) ->
Pbrt.Decoder.unexpected_payload "Message(summary_data_point), field(4)" pk
| Some (5, Pbrt.Bits64) -> begin
v.sum <- Pbrt.Decoder.float_as_bits64 d;
end
| Some (5, pk) ->
Pbrt.Decoder.unexpected_payload "Message(summary_data_point), field(5)" pk
| Some (6, Pbrt.Bytes) -> begin
v.quantile_values <- (decode_summary_data_point_value_at_quantile (Pbrt.Decoder.nested d)) :: v.quantile_values;
end
| Some (6, pk) ->
Pbrt.Decoder.unexpected_payload "Message(summary_data_point), field(6)" pk
| Some (8, Pbrt.Varint) -> begin
v.flags <- Pbrt.Decoder.int32_as_varint d;
end
| Some (8, pk) ->
Pbrt.Decoder.unexpected_payload "Message(summary_data_point), field(8)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.attributes = v.attributes;
Metrics_types.start_time_unix_nano = v.start_time_unix_nano;
Metrics_types.time_unix_nano = v.time_unix_nano;
Metrics_types.count = v.count;
Metrics_types.sum = v.sum;
Metrics_types.quantile_values = v.quantile_values;
Metrics_types.flags = v.flags;
} : Metrics_types.summary_data_point)
let rec decode_summary d =
let v = default_summary_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.data_points <- List.rev v.data_points;
); continue__ := false
| Some (1, Pbrt.Bytes) -> begin
v.data_points <- (decode_summary_data_point (Pbrt.Decoder.nested d)) :: v.data_points;
end
| Some (1, pk) ->
Pbrt.Decoder.unexpected_payload "Message(summary), field(1)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.data_points = v.data_points;
} : Metrics_types.summary)
let rec decode_metric_data d =
let rec loop () =
let ret:Metrics_types.metric_data = match Pbrt.Decoder.key d with
| None -> Pbrt.Decoder.malformed_variant "metric_data"
| Some (5, _) -> (Metrics_types.Gauge (decode_gauge (Pbrt.Decoder.nested d)) : Metrics_types.metric_data)
| Some (7, _) -> (Metrics_types.Sum (decode_sum (Pbrt.Decoder.nested d)) : Metrics_types.metric_data)
| Some (9, _) -> (Metrics_types.Histogram (decode_histogram (Pbrt.Decoder.nested d)) : Metrics_types.metric_data)
| Some (10, _) -> (Metrics_types.Exponential_histogram (decode_exponential_histogram (Pbrt.Decoder.nested d)) : Metrics_types.metric_data)
| Some (11, _) -> (Metrics_types.Summary (decode_summary (Pbrt.Decoder.nested d)) : Metrics_types.metric_data)
| Some (n, payload_kind) -> (
Pbrt.Decoder.skip d payload_kind;
loop ()
)
in
ret
in
loop ()
and decode_metric d =
let v = default_metric_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
); continue__ := false
| Some (1, Pbrt.Bytes) -> begin
v.name <- Pbrt.Decoder.string d;
end
| Some (1, pk) ->
Pbrt.Decoder.unexpected_payload "Message(metric), field(1)" pk
| Some (2, Pbrt.Bytes) -> begin
v.description <- Pbrt.Decoder.string d;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(metric), field(2)" pk
| Some (3, Pbrt.Bytes) -> begin
v.unit_ <- Pbrt.Decoder.string d;
end
| Some (3, pk) ->
Pbrt.Decoder.unexpected_payload "Message(metric), field(3)" pk
| Some (5, Pbrt.Bytes) -> begin
v.data <- Metrics_types.Gauge (decode_gauge (Pbrt.Decoder.nested d));
end
| Some (5, pk) ->
Pbrt.Decoder.unexpected_payload "Message(metric), field(5)" pk
| Some (7, Pbrt.Bytes) -> begin
v.data <- Metrics_types.Sum (decode_sum (Pbrt.Decoder.nested d));
end
| Some (7, pk) ->
Pbrt.Decoder.unexpected_payload "Message(metric), field(7)" pk
| Some (9, Pbrt.Bytes) -> begin
v.data <- Metrics_types.Histogram (decode_histogram (Pbrt.Decoder.nested d));
end
| Some (9, pk) ->
Pbrt.Decoder.unexpected_payload "Message(metric), field(9)" pk
| Some (10, Pbrt.Bytes) -> begin
v.data <- Metrics_types.Exponential_histogram (decode_exponential_histogram (Pbrt.Decoder.nested d));
end
| Some (10, pk) ->
Pbrt.Decoder.unexpected_payload "Message(metric), field(10)" pk
| Some (11, Pbrt.Bytes) -> begin
v.data <- Metrics_types.Summary (decode_summary (Pbrt.Decoder.nested d));
end
| Some (11, pk) ->
Pbrt.Decoder.unexpected_payload "Message(metric), field(11)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.name = v.name;
Metrics_types.description = v.description;
Metrics_types.unit_ = v.unit_;
Metrics_types.data = v.data;
} : Metrics_types.metric)
let rec decode_scope_metrics d =
let v = default_scope_metrics_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.metrics <- List.rev v.metrics;
); continue__ := false
| Some (1, Pbrt.Bytes) -> begin
v.scope <- Some (Common_pb.decode_instrumentation_scope (Pbrt.Decoder.nested d));
end
| Some (1, pk) ->
Pbrt.Decoder.unexpected_payload "Message(scope_metrics), field(1)" pk
| Some (2, Pbrt.Bytes) -> begin
v.metrics <- (decode_metric (Pbrt.Decoder.nested d)) :: v.metrics;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(scope_metrics), field(2)" pk
| Some (3, Pbrt.Bytes) -> begin
v.schema_url <- Pbrt.Decoder.string d;
end
| Some (3, pk) ->
Pbrt.Decoder.unexpected_payload "Message(scope_metrics), field(3)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.scope = v.scope;
Metrics_types.metrics = v.metrics;
Metrics_types.schema_url = v.schema_url;
} : Metrics_types.scope_metrics)
let rec decode_resource_metrics d =
let v = default_resource_metrics_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.scope_metrics <- List.rev v.scope_metrics;
); continue__ := false
| Some (1, Pbrt.Bytes) -> begin
v.resource <- Some (Resource_pb.decode_resource (Pbrt.Decoder.nested d));
end
| Some (1, pk) ->
Pbrt.Decoder.unexpected_payload "Message(resource_metrics), field(1)" pk
| Some (2, Pbrt.Bytes) -> begin
v.scope_metrics <- (decode_scope_metrics (Pbrt.Decoder.nested d)) :: v.scope_metrics;
end
| Some (2, pk) ->
Pbrt.Decoder.unexpected_payload "Message(resource_metrics), field(2)" pk
| Some (3, Pbrt.Bytes) -> begin
v.schema_url <- Pbrt.Decoder.string d;
end
| Some (3, pk) ->
Pbrt.Decoder.unexpected_payload "Message(resource_metrics), field(3)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.resource = v.resource;
Metrics_types.scope_metrics = v.scope_metrics;
Metrics_types.schema_url = v.schema_url;
} : Metrics_types.resource_metrics)
let rec decode_metrics_data d =
let v = default_metrics_data_mutable () in
let continue__= ref true in
while !continue__ do
match Pbrt.Decoder.key d with
| None -> (
v.resource_metrics <- List.rev v.resource_metrics;
); continue__ := false
| Some (1, Pbrt.Bytes) -> begin
v.resource_metrics <- (decode_resource_metrics (Pbrt.Decoder.nested d)) :: v.resource_metrics;
end
| Some (1, pk) ->
Pbrt.Decoder.unexpected_payload "Message(metrics_data), field(1)" pk
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
done;
({
Metrics_types.resource_metrics = v.resource_metrics;
} : Metrics_types.metrics_data)
let rec decode_data_point_flags d =
match Pbrt.Decoder.int_as_varint d with
| 0 -> (Metrics_types.Data_point_flags_do_not_use:Metrics_types.data_point_flags)
| 1 -> (Metrics_types.Data_point_flags_no_recorded_value_mask:Metrics_types.data_point_flags)
| _ -> Pbrt.Decoder.malformed_variant "data_point_flags"
let rec encode_exemplar_value (v:Metrics_types.exemplar_value) encoder =
begin match v with
| Metrics_types.As_double x ->
Pbrt.Encoder.key (3, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 x encoder;
| Metrics_types.As_int x ->
Pbrt.Encoder.key (6, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 x encoder;
end
and encode_exemplar (v:Metrics_types.exemplar) encoder =
List.iter (fun x ->
Pbrt.Encoder.key (7, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (Common_pb.encode_key_value x) encoder;
) v.Metrics_types.filtered_attributes;
Pbrt.Encoder.key (2, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.time_unix_nano encoder;
begin match v.Metrics_types.value with
| Metrics_types.As_double x ->
Pbrt.Encoder.key (3, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 x encoder;
| Metrics_types.As_int x ->
Pbrt.Encoder.key (6, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 x encoder;
end;
Pbrt.Encoder.key (4, Pbrt.Bytes) encoder;
Pbrt.Encoder.bytes v.Metrics_types.span_id encoder;
Pbrt.Encoder.key (5, Pbrt.Bytes) encoder;
Pbrt.Encoder.bytes v.Metrics_types.trace_id encoder;
()
let rec encode_number_data_point_value (v:Metrics_types.number_data_point_value) encoder =
begin match v with
| Metrics_types.As_double x ->
Pbrt.Encoder.key (4, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 x encoder;
| Metrics_types.As_int x ->
Pbrt.Encoder.key (6, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 x encoder;
end
and encode_number_data_point (v:Metrics_types.number_data_point) encoder =
List.iter (fun x ->
Pbrt.Encoder.key (7, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (Common_pb.encode_key_value x) encoder;
) v.Metrics_types.attributes;
Pbrt.Encoder.key (2, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.start_time_unix_nano encoder;
Pbrt.Encoder.key (3, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.time_unix_nano encoder;
begin match v.Metrics_types.value with
| Metrics_types.As_double x ->
Pbrt.Encoder.key (4, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 x encoder;
| Metrics_types.As_int x ->
Pbrt.Encoder.key (6, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 x encoder;
end;
List.iter (fun x ->
Pbrt.Encoder.key (5, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_exemplar x) encoder;
) v.Metrics_types.exemplars;
Pbrt.Encoder.key (8, Pbrt.Varint) encoder;
Pbrt.Encoder.int32_as_varint v.Metrics_types.flags encoder;
()
let rec encode_gauge (v:Metrics_types.gauge) encoder =
List.iter (fun x ->
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_number_data_point x) encoder;
) v.Metrics_types.data_points;
()
let rec encode_aggregation_temporality (v:Metrics_types.aggregation_temporality) encoder =
match v with
| Metrics_types.Aggregation_temporality_unspecified -> Pbrt.Encoder.int_as_varint (0) encoder
| Metrics_types.Aggregation_temporality_delta -> Pbrt.Encoder.int_as_varint 1 encoder
| Metrics_types.Aggregation_temporality_cumulative -> Pbrt.Encoder.int_as_varint 2 encoder
let rec encode_sum (v:Metrics_types.sum) encoder =
List.iter (fun x ->
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_number_data_point x) encoder;
) v.Metrics_types.data_points;
Pbrt.Encoder.key (2, Pbrt.Varint) encoder;
encode_aggregation_temporality v.Metrics_types.aggregation_temporality encoder;
Pbrt.Encoder.key (3, Pbrt.Varint) encoder;
Pbrt.Encoder.bool v.Metrics_types.is_monotonic encoder;
()
let rec encode_histogram_data_point (v:Metrics_types.histogram_data_point) encoder =
List.iter (fun x ->
Pbrt.Encoder.key (9, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (Common_pb.encode_key_value x) encoder;
) v.Metrics_types.attributes;
Pbrt.Encoder.key (2, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.start_time_unix_nano encoder;
Pbrt.Encoder.key (3, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.time_unix_nano encoder;
Pbrt.Encoder.key (4, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.count encoder;
begin match v.Metrics_types.sum with
| Some x ->
Pbrt.Encoder.key (5, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 x encoder;
| None -> ();
end;
Pbrt.Encoder.key (6, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (fun encoder ->
List.iter (fun x ->
Pbrt.Encoder.int64_as_bits64 x encoder;
) v.Metrics_types.bucket_counts;
) encoder;
Pbrt.Encoder.key (7, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (fun encoder ->
List.iter (fun x ->
Pbrt.Encoder.float_as_bits64 x encoder;
) v.Metrics_types.explicit_bounds;
) encoder;
List.iter (fun x ->
Pbrt.Encoder.key (8, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_exemplar x) encoder;
) v.Metrics_types.exemplars;
Pbrt.Encoder.key (10, Pbrt.Varint) encoder;
Pbrt.Encoder.int32_as_varint v.Metrics_types.flags encoder;
begin match v.Metrics_types.min with
| Some x ->
Pbrt.Encoder.key (11, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 x encoder;
| None -> ();
end;
begin match v.Metrics_types.max with
| Some x ->
Pbrt.Encoder.key (12, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 x encoder;
| None -> ();
end;
()
let rec encode_histogram (v:Metrics_types.histogram) encoder =
List.iter (fun x ->
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_histogram_data_point x) encoder;
) v.Metrics_types.data_points;
Pbrt.Encoder.key (2, Pbrt.Varint) encoder;
encode_aggregation_temporality v.Metrics_types.aggregation_temporality encoder;
()
let rec encode_exponential_histogram_data_point_buckets (v:Metrics_types.exponential_histogram_data_point_buckets) encoder =
Pbrt.Encoder.key (1, Pbrt.Varint) encoder;
Pbrt.Encoder.int32_as_zigzag v.Metrics_types.offset encoder;
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (fun encoder ->
List.iter (fun x ->
Pbrt.Encoder.int64_as_varint x encoder;
) v.Metrics_types.bucket_counts;
) encoder;
()
let rec encode_exponential_histogram_data_point (v:Metrics_types.exponential_histogram_data_point) encoder =
List.iter (fun x ->
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (Common_pb.encode_key_value x) encoder;
) v.Metrics_types.attributes;
Pbrt.Encoder.key (2, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.start_time_unix_nano encoder;
Pbrt.Encoder.key (3, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.time_unix_nano encoder;
Pbrt.Encoder.key (4, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.count encoder;
begin match v.Metrics_types.sum with
| Some x ->
Pbrt.Encoder.key (5, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 x encoder;
| None -> ();
end;
Pbrt.Encoder.key (6, Pbrt.Varint) encoder;
Pbrt.Encoder.int32_as_zigzag v.Metrics_types.scale encoder;
Pbrt.Encoder.key (7, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.zero_count encoder;
begin match v.Metrics_types.positive with
| Some x ->
Pbrt.Encoder.key (8, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_exponential_histogram_data_point_buckets x) encoder;
| None -> ();
end;
begin match v.Metrics_types.negative with
| Some x ->
Pbrt.Encoder.key (9, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_exponential_histogram_data_point_buckets x) encoder;
| None -> ();
end;
Pbrt.Encoder.key (10, Pbrt.Varint) encoder;
Pbrt.Encoder.int32_as_varint v.Metrics_types.flags encoder;
List.iter (fun x ->
Pbrt.Encoder.key (11, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_exemplar x) encoder;
) v.Metrics_types.exemplars;
begin match v.Metrics_types.min with
| Some x ->
Pbrt.Encoder.key (12, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 x encoder;
| None -> ();
end;
begin match v.Metrics_types.max with
| Some x ->
Pbrt.Encoder.key (13, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 x encoder;
| None -> ();
end;
Pbrt.Encoder.key (14, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 v.Metrics_types.zero_threshold encoder;
()
let rec encode_exponential_histogram (v:Metrics_types.exponential_histogram) encoder =
List.iter (fun x ->
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_exponential_histogram_data_point x) encoder;
) v.Metrics_types.data_points;
Pbrt.Encoder.key (2, Pbrt.Varint) encoder;
encode_aggregation_temporality v.Metrics_types.aggregation_temporality encoder;
()
let rec encode_summary_data_point_value_at_quantile (v:Metrics_types.summary_data_point_value_at_quantile) encoder =
Pbrt.Encoder.key (1, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 v.Metrics_types.quantile encoder;
Pbrt.Encoder.key (2, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 v.Metrics_types.value encoder;
()
let rec encode_summary_data_point (v:Metrics_types.summary_data_point) encoder =
List.iter (fun x ->
Pbrt.Encoder.key (7, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (Common_pb.encode_key_value x) encoder;
) v.Metrics_types.attributes;
Pbrt.Encoder.key (2, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.start_time_unix_nano encoder;
Pbrt.Encoder.key (3, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.time_unix_nano encoder;
Pbrt.Encoder.key (4, Pbrt.Bits64) encoder;
Pbrt.Encoder.int64_as_bits64 v.Metrics_types.count encoder;
Pbrt.Encoder.key (5, Pbrt.Bits64) encoder;
Pbrt.Encoder.float_as_bits64 v.Metrics_types.sum encoder;
List.iter (fun x ->
Pbrt.Encoder.key (6, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_summary_data_point_value_at_quantile x) encoder;
) v.Metrics_types.quantile_values;
Pbrt.Encoder.key (8, Pbrt.Varint) encoder;
Pbrt.Encoder.int32_as_varint v.Metrics_types.flags encoder;
()
let rec encode_summary (v:Metrics_types.summary) encoder =
List.iter (fun x ->
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_summary_data_point x) encoder;
) v.Metrics_types.data_points;
()
let rec encode_metric_data (v:Metrics_types.metric_data) encoder =
begin match v with
| Metrics_types.Gauge x ->
Pbrt.Encoder.key (5, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_gauge x) encoder;
| Metrics_types.Sum x ->
Pbrt.Encoder.key (7, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_sum x) encoder;
| Metrics_types.Histogram x ->
Pbrt.Encoder.key (9, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_histogram x) encoder;
| Metrics_types.Exponential_histogram x ->
Pbrt.Encoder.key (10, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_exponential_histogram x) encoder;
| Metrics_types.Summary x ->
Pbrt.Encoder.key (11, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_summary x) encoder;
end
and encode_metric (v:Metrics_types.metric) encoder =
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
Pbrt.Encoder.string v.Metrics_types.name encoder;
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
Pbrt.Encoder.string v.Metrics_types.description encoder;
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
Pbrt.Encoder.string v.Metrics_types.unit_ encoder;
begin match v.Metrics_types.data with
| Metrics_types.Gauge x ->
Pbrt.Encoder.key (5, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_gauge x) encoder;
| Metrics_types.Sum x ->
Pbrt.Encoder.key (7, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_sum x) encoder;
| Metrics_types.Histogram x ->
Pbrt.Encoder.key (9, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_histogram x) encoder;
| Metrics_types.Exponential_histogram x ->
Pbrt.Encoder.key (10, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_exponential_histogram x) encoder;
| Metrics_types.Summary x ->
Pbrt.Encoder.key (11, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_summary x) encoder;
end;
()
let rec encode_scope_metrics (v:Metrics_types.scope_metrics) encoder =
begin match v.Metrics_types.scope with
| Some x ->
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (Common_pb.encode_instrumentation_scope x) encoder;
| None -> ();
end;
List.iter (fun x ->
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_metric x) encoder;
) v.Metrics_types.metrics;
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
Pbrt.Encoder.string v.Metrics_types.schema_url encoder;
()
let rec encode_resource_metrics (v:Metrics_types.resource_metrics) encoder =
begin match v.Metrics_types.resource with
| Some x ->
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (Resource_pb.encode_resource x) encoder;
| None -> ();
end;
List.iter (fun x ->
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_scope_metrics x) encoder;
) v.Metrics_types.scope_metrics;
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
Pbrt.Encoder.string v.Metrics_types.schema_url encoder;
()
let rec encode_metrics_data (v:Metrics_types.metrics_data) encoder =
List.iter (fun x ->
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
Pbrt.Encoder.nested (encode_resource_metrics x) encoder;
) v.Metrics_types.resource_metrics;
()
let rec encode_data_point_flags (v:Metrics_types.data_point_flags) encoder =
match v with
| Metrics_types.Data_point_flags_do_not_use -> Pbrt.Encoder.int_as_varint (0) encoder
| Metrics_types.Data_point_flags_no_recorded_value_mask -> Pbrt.Encoder.int_as_varint 1 encoder