mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-16 07:19:55 -04:00
migrate to ocaml-protoc 3.0
This commit is contained in:
parent
e052893759
commit
725a806b8b
79 changed files with 6701 additions and 5532 deletions
10
dune-project
10
dune-project
|
|
@ -1,4 +1,4 @@
|
|||
(lang dune 2.7)
|
||||
(lang dune 2.9)
|
||||
|
||||
(name opentelemetry)
|
||||
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
(odoc :with-doc)
|
||||
(alcotest :with-test)
|
||||
(pbrt
|
||||
(and (>= 2.3) (< 3.0)))
|
||||
(and (>= 3.0) (< 4.0)))
|
||||
(ocaml-lsp-server :with-dev-setup)
|
||||
(ocamlformat
|
||||
(and
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
(trace
|
||||
(or
|
||||
(< 0.4)
|
||||
(>= 0.5))))
|
||||
(>= 0.6))))
|
||||
(tags
|
||||
(instrumentation tracing opentelemetry datadog jaeger)))
|
||||
|
||||
|
|
@ -77,8 +77,6 @@
|
|||
; atomic ; vendored
|
||||
(opentelemetry
|
||||
(= :version))
|
||||
(pbrt
|
||||
(and (>= 2.3) (< 3.0)))
|
||||
(odoc :with-doc)
|
||||
(ezcurl
|
||||
(>= 0.2.3))
|
||||
|
|
@ -113,8 +111,6 @@
|
|||
; for spans
|
||||
(opentelemetry
|
||||
(= :version))
|
||||
(pbrt
|
||||
(and (>= 2.2) (< 3.0)))
|
||||
(odoc :with-doc)
|
||||
(lwt
|
||||
(>= "5.3"))
|
||||
|
|
|
|||
|
|
@ -12,11 +12,10 @@ license: "MIT"
|
|||
homepage: "https://github.com/imandra-ai/ocaml-opentelemetry"
|
||||
bug-reports: "https://github.com/imandra-ai/ocaml-opentelemetry/issues"
|
||||
depends: [
|
||||
"dune" {>= "2.7"}
|
||||
"dune" {>= "2.9"}
|
||||
"ocaml" {>= "4.08"}
|
||||
"mtime" {>= "1.4"}
|
||||
"opentelemetry" {= version}
|
||||
"pbrt" {>= "2.2" & < "3.0"}
|
||||
"odoc" {with-doc}
|
||||
"lwt" {>= "5.3"}
|
||||
"lwt_ppx" {>= "2.0"}
|
||||
|
|
@ -33,9 +32,11 @@ build: [
|
|||
name
|
||||
"-j"
|
||||
jobs
|
||||
"--promote-install-files=false"
|
||||
"@install"
|
||||
"@runtest" {with-test}
|
||||
"@doc" {with-doc}
|
||||
]
|
||||
["dune" "install" "-p" name "--create-install-files" name]
|
||||
]
|
||||
dev-repo: "git+https://github.com/imandra-ai/ocaml-opentelemetry.git"
|
||||
|
|
|
|||
|
|
@ -12,11 +12,10 @@ license: "MIT"
|
|||
homepage: "https://github.com/imandra-ai/ocaml-opentelemetry"
|
||||
bug-reports: "https://github.com/imandra-ai/ocaml-opentelemetry/issues"
|
||||
depends: [
|
||||
"dune" {>= "2.7"}
|
||||
"dune" {>= "2.9"}
|
||||
"ocaml" {>= "4.08"}
|
||||
"mtime" {>= "1.4"}
|
||||
"opentelemetry" {= version}
|
||||
"pbrt" {>= "2.3" & < "3.0"}
|
||||
"odoc" {with-doc}
|
||||
"ezcurl" {>= "0.2.3"}
|
||||
"ocurl"
|
||||
|
|
@ -31,9 +30,11 @@ build: [
|
|||
name
|
||||
"-j"
|
||||
jobs
|
||||
"--promote-install-files=false"
|
||||
"@install"
|
||||
"@runtest" {with-test}
|
||||
"@doc" {with-doc}
|
||||
]
|
||||
["dune" "install" "-p" name "--create-install-files" name]
|
||||
]
|
||||
dev-repo: "git+https://github.com/imandra-ai/ocaml-opentelemetry.git"
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ license: "MIT"
|
|||
homepage: "https://github.com/imandra-ai/ocaml-opentelemetry"
|
||||
bug-reports: "https://github.com/imandra-ai/ocaml-opentelemetry/issues"
|
||||
depends: [
|
||||
"dune" {>= "2.7"}
|
||||
"dune" {>= "2.9"}
|
||||
"ocaml" {>= "4.08"}
|
||||
"opentelemetry" {= version}
|
||||
"opentelemetry-lwt" {= version}
|
||||
|
|
@ -30,9 +30,11 @@ build: [
|
|||
name
|
||||
"-j"
|
||||
jobs
|
||||
"--promote-install-files=false"
|
||||
"@install"
|
||||
"@runtest" {with-test}
|
||||
"@doc" {with-doc}
|
||||
]
|
||||
["dune" "install" "-p" name "--create-install-files" name]
|
||||
]
|
||||
dev-repo: "git+https://github.com/imandra-ai/ocaml-opentelemetry.git"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ tags: ["instrumentation" "tracing" "opentelemetry" "datadog" "lwt"]
|
|||
homepage: "https://github.com/imandra-ai/ocaml-opentelemetry"
|
||||
bug-reports: "https://github.com/imandra-ai/ocaml-opentelemetry/issues"
|
||||
depends: [
|
||||
"dune" {>= "2.7"}
|
||||
"dune" {>= "2.9"}
|
||||
"ocaml" {>= "4.08"}
|
||||
"ambient-context"
|
||||
"opentelemetry" {= version}
|
||||
|
|
@ -32,9 +32,11 @@ build: [
|
|||
name
|
||||
"-j"
|
||||
jobs
|
||||
"--promote-install-files=false"
|
||||
"@install"
|
||||
"@runtest" {with-test}
|
||||
"@doc" {with-doc}
|
||||
]
|
||||
["dune" "install" "-p" name "--create-install-files" name]
|
||||
]
|
||||
dev-repo: "git+https://github.com/imandra-ai/ocaml-opentelemetry.git"
|
||||
|
|
|
|||
|
|
@ -13,19 +13,19 @@ tags: ["instrumentation" "tracing" "opentelemetry" "datadog" "jaeger"]
|
|||
homepage: "https://github.com/imandra-ai/ocaml-opentelemetry"
|
||||
bug-reports: "https://github.com/imandra-ai/ocaml-opentelemetry/issues"
|
||||
depends: [
|
||||
"dune" {>= "2.7"}
|
||||
"dune" {>= "2.9"}
|
||||
"ocaml" {>= "4.08"}
|
||||
"ptime"
|
||||
"ambient-context"
|
||||
"odoc" {with-doc}
|
||||
"alcotest" {with-test}
|
||||
"pbrt" {>= "2.3" & < "3.0"}
|
||||
"pbrt" {>= "3.0" & < "4.0"}
|
||||
"ocaml-lsp-server" {with-dev-setup}
|
||||
"ocamlformat" {with-dev-setup & >= "0.24" & < "0.25"}
|
||||
]
|
||||
depopts: ["trace"]
|
||||
conflicts: [
|
||||
"trace" {< "0.4" | >= "0.5"}
|
||||
"trace" {< "0.4" | >= "0.6"}
|
||||
]
|
||||
build: [
|
||||
["dune" "subst"] {dev}
|
||||
|
|
@ -36,9 +36,11 @@ build: [
|
|||
name
|
||||
"-j"
|
||||
jobs
|
||||
"--promote-install-files=false"
|
||||
"@install"
|
||||
"@runtest" {with-test}
|
||||
"@doc" {with-doc}
|
||||
]
|
||||
["dune" "install" "-p" name "--create-install-files" name]
|
||||
]
|
||||
dev-repo: "git+https://github.com/imandra-ai/ocaml-opentelemetry.git"
|
||||
|
|
|
|||
372
src/proto/common.ml
Normal file
372
src/proto/common.ml
Normal file
|
|
@ -0,0 +1,372 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type any_value =
|
||||
| String_value of string
|
||||
| Bool_value of bool
|
||||
| Int_value of int64
|
||||
| Double_value of float
|
||||
| Array_value of array_value
|
||||
| Kvlist_value of key_value_list
|
||||
| Bytes_value of bytes
|
||||
|
||||
and array_value = {
|
||||
values : any_value list;
|
||||
}
|
||||
|
||||
and key_value_list = {
|
||||
values : key_value list;
|
||||
}
|
||||
|
||||
and key_value = {
|
||||
key : string;
|
||||
value : any_value option;
|
||||
}
|
||||
|
||||
type instrumentation_scope = {
|
||||
name : string;
|
||||
version : string;
|
||||
attributes : key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
let rec default_any_value () : any_value = String_value ("")
|
||||
|
||||
and default_array_value
|
||||
?values:((values:any_value list) = [])
|
||||
() : array_value = {
|
||||
values;
|
||||
}
|
||||
|
||||
and default_key_value_list
|
||||
?values:((values:key_value list) = [])
|
||||
() : key_value_list = {
|
||||
values;
|
||||
}
|
||||
|
||||
and default_key_value
|
||||
?key:((key:string) = "")
|
||||
?value:((value:any_value option) = None)
|
||||
() : key_value = {
|
||||
key;
|
||||
value;
|
||||
}
|
||||
|
||||
let rec default_instrumentation_scope
|
||||
?name:((name:string) = "")
|
||||
?version:((version:string) = "")
|
||||
?attributes:((attributes:key_value list) = [])
|
||||
?dropped_attributes_count:((dropped_attributes_count:int32) = 0l)
|
||||
() : instrumentation_scope = {
|
||||
name;
|
||||
version;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
}
|
||||
|
||||
type array_value_mutable = {
|
||||
mutable values : any_value list;
|
||||
}
|
||||
|
||||
let default_array_value_mutable () : array_value_mutable = {
|
||||
values = [];
|
||||
}
|
||||
|
||||
type key_value_list_mutable = {
|
||||
mutable values : key_value list;
|
||||
}
|
||||
|
||||
let default_key_value_list_mutable () : key_value_list_mutable = {
|
||||
values = [];
|
||||
}
|
||||
|
||||
type key_value_mutable = {
|
||||
mutable key : string;
|
||||
mutable value : any_value option;
|
||||
}
|
||||
|
||||
let default_key_value_mutable () : key_value_mutable = {
|
||||
key = "";
|
||||
value = None;
|
||||
}
|
||||
|
||||
type instrumentation_scope_mutable = {
|
||||
mutable name : string;
|
||||
mutable version : string;
|
||||
mutable attributes : key_value list;
|
||||
mutable dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
let default_instrumentation_scope_mutable () : instrumentation_scope_mutable = {
|
||||
name = "";
|
||||
version = "";
|
||||
attributes = [];
|
||||
dropped_attributes_count = 0l;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
|
||||
let rec make_array_value
|
||||
~(values:any_value list)
|
||||
() : array_value = {
|
||||
values;
|
||||
}
|
||||
|
||||
and make_key_value_list
|
||||
~(values:key_value list)
|
||||
() : key_value_list = {
|
||||
values;
|
||||
}
|
||||
|
||||
and make_key_value
|
||||
~(key:string)
|
||||
?value:((value:any_value option) = None)
|
||||
() : key_value = {
|
||||
key;
|
||||
value;
|
||||
}
|
||||
|
||||
let rec make_instrumentation_scope
|
||||
~(name:string)
|
||||
~(version:string)
|
||||
~(attributes:key_value list)
|
||||
~(dropped_attributes_count:int32)
|
||||
() : instrumentation_scope = {
|
||||
name;
|
||||
version;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
}
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
let rec pp_any_value fmt (v:any_value) =
|
||||
match v with
|
||||
| String_value x -> Format.fprintf fmt "@[<hv2>String_value(@,%a)@]" Pbrt.Pp.pp_string x
|
||||
| Bool_value x -> Format.fprintf fmt "@[<hv2>Bool_value(@,%a)@]" Pbrt.Pp.pp_bool x
|
||||
| Int_value x -> Format.fprintf fmt "@[<hv2>Int_value(@,%a)@]" Pbrt.Pp.pp_int64 x
|
||||
| Double_value x -> Format.fprintf fmt "@[<hv2>Double_value(@,%a)@]" Pbrt.Pp.pp_float x
|
||||
| Array_value x -> Format.fprintf fmt "@[<hv2>Array_value(@,%a)@]" pp_array_value x
|
||||
| Kvlist_value x -> Format.fprintf fmt "@[<hv2>Kvlist_value(@,%a)@]" pp_key_value_list x
|
||||
| Bytes_value x -> Format.fprintf fmt "@[<hv2>Bytes_value(@,%a)@]" Pbrt.Pp.pp_bytes x
|
||||
|
||||
and pp_array_value fmt (v:array_value) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "values" (Pbrt.Pp.pp_list pp_any_value) fmt v.values;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
and pp_key_value_list fmt (v:key_value_list) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "values" (Pbrt.Pp.pp_list pp_key_value) fmt v.values;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
and pp_key_value fmt (v:key_value) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "key" Pbrt.Pp.pp_string fmt v.key;
|
||||
Pbrt.Pp.pp_record_field ~first:false "value" (Pbrt.Pp.pp_option pp_any_value) fmt v.value;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_instrumentation_scope fmt (v:instrumentation_scope) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "name" Pbrt.Pp.pp_string fmt v.name;
|
||||
Pbrt.Pp.pp_record_field ~first:false "version" Pbrt.Pp.pp_string fmt v.version;
|
||||
Pbrt.Pp.pp_record_field ~first:false "attributes" (Pbrt.Pp.pp_list pp_key_value) fmt v.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_attributes_count" Pbrt.Pp.pp_int32 fmt v.dropped_attributes_count;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
let rec encode_pb_any_value (v:any_value) encoder =
|
||||
begin match v with
|
||||
| String_value x ->
|
||||
Pbrt.Encoder.string x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
| Bool_value x ->
|
||||
Pbrt.Encoder.bool x encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Varint encoder;
|
||||
| Int_value x ->
|
||||
Pbrt.Encoder.int64_as_varint x encoder;
|
||||
Pbrt.Encoder.key 3 Pbrt.Varint encoder;
|
||||
| Double_value x ->
|
||||
Pbrt.Encoder.float_as_bits64 x encoder;
|
||||
Pbrt.Encoder.key 4 Pbrt.Bits64 encoder;
|
||||
| Array_value x ->
|
||||
Pbrt.Encoder.nested encode_pb_array_value x encoder;
|
||||
Pbrt.Encoder.key 5 Pbrt.Bytes encoder;
|
||||
| Kvlist_value x ->
|
||||
Pbrt.Encoder.nested encode_pb_key_value_list x encoder;
|
||||
Pbrt.Encoder.key 6 Pbrt.Bytes encoder;
|
||||
| Bytes_value x ->
|
||||
Pbrt.Encoder.bytes x encoder;
|
||||
Pbrt.Encoder.key 7 Pbrt.Bytes encoder;
|
||||
end
|
||||
|
||||
and encode_pb_array_value (v:array_value) encoder =
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested encode_pb_any_value x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
) v.values encoder;
|
||||
()
|
||||
|
||||
and encode_pb_key_value_list (v:key_value_list) encoder =
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested encode_pb_key_value x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
) v.values encoder;
|
||||
()
|
||||
|
||||
and encode_pb_key_value (v:key_value) encoder =
|
||||
Pbrt.Encoder.string v.key encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
begin match v.value with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.nested encode_pb_any_value x encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
()
|
||||
|
||||
let rec encode_pb_instrumentation_scope (v:instrumentation_scope) encoder =
|
||||
Pbrt.Encoder.string v.name encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
Pbrt.Encoder.string v.version encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested encode_pb_key_value x encoder;
|
||||
Pbrt.Encoder.key 3 Pbrt.Bytes encoder;
|
||||
) v.attributes encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.dropped_attributes_count encoder;
|
||||
Pbrt.Encoder.key 4 Pbrt.Varint encoder;
|
||||
()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
let rec decode_pb_any_value d =
|
||||
let rec loop () =
|
||||
let ret:any_value = match Pbrt.Decoder.key d with
|
||||
| None -> Pbrt.Decoder.malformed_variant "any_value"
|
||||
| Some (1, _) -> (String_value (Pbrt.Decoder.string d) : any_value)
|
||||
| Some (2, _) -> (Bool_value (Pbrt.Decoder.bool d) : any_value)
|
||||
| Some (3, _) -> (Int_value (Pbrt.Decoder.int64_as_varint d) : any_value)
|
||||
| Some (4, _) -> (Double_value (Pbrt.Decoder.float_as_bits64 d) : any_value)
|
||||
| Some (5, _) -> (Array_value (decode_pb_array_value (Pbrt.Decoder.nested d)) : any_value)
|
||||
| Some (6, _) -> (Kvlist_value (decode_pb_key_value_list (Pbrt.Decoder.nested d)) : any_value)
|
||||
| Some (7, _) -> (Bytes_value (Pbrt.Decoder.bytes d) : any_value)
|
||||
| Some (n, payload_kind) -> (
|
||||
Pbrt.Decoder.skip d payload_kind;
|
||||
loop ()
|
||||
)
|
||||
in
|
||||
ret
|
||||
in
|
||||
loop ()
|
||||
|
||||
and decode_pb_array_value d =
|
||||
let v = default_array_value_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.values <- List.rev v.values;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.values <- (decode_pb_any_value (Pbrt.Decoder.nested d)) :: v.values;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(array_value), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
values = v.values;
|
||||
} : array_value)
|
||||
|
||||
and decode_pb_key_value_list d =
|
||||
let v = default_key_value_list_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.values <- List.rev v.values;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.values <- (decode_pb_key_value (Pbrt.Decoder.nested d)) :: v.values;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(key_value_list), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
values = v.values;
|
||||
} : key_value_list)
|
||||
|
||||
and decode_pb_key_value d =
|
||||
let v = default_key_value_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.key <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(key_value), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.value <- Some (decode_pb_any_value (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(key_value), field(2)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
key = v.key;
|
||||
value = v.value;
|
||||
} : key_value)
|
||||
|
||||
let rec decode_pb_instrumentation_scope d =
|
||||
let v = default_instrumentation_scope_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.attributes <- List.rev v.attributes;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.name <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(instrumentation_scope), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.version <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(instrumentation_scope), field(2)" pk
|
||||
| Some (3, Pbrt.Bytes) -> begin
|
||||
v.attributes <- (decode_pb_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(instrumentation_scope), field(3)" pk
|
||||
| Some (4, Pbrt.Varint) -> begin
|
||||
v.dropped_attributes_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (4, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(instrumentation_scope), field(4)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
name = v.name;
|
||||
version = v.version;
|
||||
attributes = v.attributes;
|
||||
dropped_attributes_count = v.dropped_attributes_count;
|
||||
} : instrumentation_scope)
|
||||
160
src/proto/common.mli
Normal file
160
src/proto/common.mli
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
|
||||
(** Code for common.proto *)
|
||||
|
||||
(* generated from "../../vendor/opentelemetry-proto/opentelemetry/proto/common/v1/common.proto", do not edit *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type any_value =
|
||||
| String_value of string
|
||||
| Bool_value of bool
|
||||
| Int_value of int64
|
||||
| Double_value of float
|
||||
| Array_value of array_value
|
||||
| Kvlist_value of key_value_list
|
||||
| Bytes_value of bytes
|
||||
|
||||
and array_value = {
|
||||
values : any_value list;
|
||||
}
|
||||
|
||||
and key_value_list = {
|
||||
values : key_value list;
|
||||
}
|
||||
|
||||
and key_value = {
|
||||
key : string;
|
||||
value : any_value option;
|
||||
}
|
||||
|
||||
type instrumentation_scope = {
|
||||
name : string;
|
||||
version : string;
|
||||
attributes : key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Basic values} *)
|
||||
|
||||
val default_any_value : unit -> any_value
|
||||
(** [default_any_value ()] is the default value for type [any_value] *)
|
||||
|
||||
val default_array_value :
|
||||
?values:any_value list ->
|
||||
unit ->
|
||||
array_value
|
||||
(** [default_array_value ()] is the default value for type [array_value] *)
|
||||
|
||||
val default_key_value_list :
|
||||
?values:key_value list ->
|
||||
unit ->
|
||||
key_value_list
|
||||
(** [default_key_value_list ()] is the default value for type [key_value_list] *)
|
||||
|
||||
val default_key_value :
|
||||
?key:string ->
|
||||
?value:any_value option ->
|
||||
unit ->
|
||||
key_value
|
||||
(** [default_key_value ()] is the default value for type [key_value] *)
|
||||
|
||||
val default_instrumentation_scope :
|
||||
?name:string ->
|
||||
?version:string ->
|
||||
?attributes:key_value list ->
|
||||
?dropped_attributes_count:int32 ->
|
||||
unit ->
|
||||
instrumentation_scope
|
||||
(** [default_instrumentation_scope ()] is the default value for type [instrumentation_scope] *)
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
|
||||
val make_array_value :
|
||||
values:any_value list ->
|
||||
unit ->
|
||||
array_value
|
||||
(** [make_array_value … ()] is a builder for type [array_value] *)
|
||||
|
||||
val make_key_value_list :
|
||||
values:key_value list ->
|
||||
unit ->
|
||||
key_value_list
|
||||
(** [make_key_value_list … ()] is a builder for type [key_value_list] *)
|
||||
|
||||
val make_key_value :
|
||||
key:string ->
|
||||
?value:any_value option ->
|
||||
unit ->
|
||||
key_value
|
||||
(** [make_key_value … ()] is a builder for type [key_value] *)
|
||||
|
||||
val make_instrumentation_scope :
|
||||
name:string ->
|
||||
version:string ->
|
||||
attributes:key_value list ->
|
||||
dropped_attributes_count:int32 ->
|
||||
unit ->
|
||||
instrumentation_scope
|
||||
(** [make_instrumentation_scope … ()] is a builder for type [instrumentation_scope] *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_any_value : Format.formatter -> any_value -> unit
|
||||
(** [pp_any_value v] formats v *)
|
||||
|
||||
val pp_array_value : Format.formatter -> array_value -> unit
|
||||
(** [pp_array_value v] formats v *)
|
||||
|
||||
val pp_key_value_list : Format.formatter -> key_value_list -> unit
|
||||
(** [pp_key_value_list v] formats v *)
|
||||
|
||||
val pp_key_value : Format.formatter -> key_value -> unit
|
||||
(** [pp_key_value v] formats v *)
|
||||
|
||||
val pp_instrumentation_scope : Format.formatter -> instrumentation_scope -> unit
|
||||
(** [pp_instrumentation_scope v] formats v *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_pb_any_value : any_value -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_any_value v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_array_value : array_value -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_array_value v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_key_value_list : key_value_list -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_key_value_list v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_key_value : key_value -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_key_value v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_instrumentation_scope : instrumentation_scope -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_instrumentation_scope v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_pb_any_value : Pbrt.Decoder.t -> any_value
|
||||
(** [decode_pb_any_value decoder] decodes a [any_value] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_array_value : Pbrt.Decoder.t -> array_value
|
||||
(** [decode_pb_array_value decoder] decodes a [array_value] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_key_value_list : Pbrt.Decoder.t -> key_value_list
|
||||
(** [decode_pb_key_value_list decoder] decodes a [key_value_list] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_key_value : Pbrt.Decoder.t -> key_value
|
||||
(** [decode_pb_key_value decoder] decodes a [key_value] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_instrumentation_scope : Pbrt.Decoder.t -> instrumentation_scope
|
||||
(** [decode_pb_instrumentation_scope decoder] decodes a [instrumentation_scope] binary value from [decoder] *)
|
||||
|
||||
|
||||
(** {2 Services} *)
|
||||
|
|
@ -1,224 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type array_value_mutable = {
|
||||
mutable values : Common_types.any_value list;
|
||||
}
|
||||
|
||||
let default_array_value_mutable () : array_value_mutable = {
|
||||
values = [];
|
||||
}
|
||||
|
||||
type key_value_list_mutable = {
|
||||
mutable values : Common_types.key_value list;
|
||||
}
|
||||
|
||||
let default_key_value_list_mutable () : key_value_list_mutable = {
|
||||
values = [];
|
||||
}
|
||||
|
||||
type key_value_mutable = {
|
||||
mutable key : string;
|
||||
mutable value : Common_types.any_value option;
|
||||
}
|
||||
|
||||
let default_key_value_mutable () : key_value_mutable = {
|
||||
key = "";
|
||||
value = None;
|
||||
}
|
||||
|
||||
type instrumentation_scope_mutable = {
|
||||
mutable name : string;
|
||||
mutable version : string;
|
||||
mutable attributes : Common_types.key_value list;
|
||||
mutable dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
let default_instrumentation_scope_mutable () : instrumentation_scope_mutable = {
|
||||
name = "";
|
||||
version = "";
|
||||
attributes = [];
|
||||
dropped_attributes_count = 0l;
|
||||
}
|
||||
|
||||
|
||||
let rec decode_any_value d =
|
||||
let rec loop () =
|
||||
let ret:Common_types.any_value = match Pbrt.Decoder.key d with
|
||||
| None -> Pbrt.Decoder.malformed_variant "any_value"
|
||||
| Some (1, _) -> (Common_types.String_value (Pbrt.Decoder.string d) : Common_types.any_value)
|
||||
| Some (2, _) -> (Common_types.Bool_value (Pbrt.Decoder.bool d) : Common_types.any_value)
|
||||
| Some (3, _) -> (Common_types.Int_value (Pbrt.Decoder.int64_as_varint d) : Common_types.any_value)
|
||||
| Some (4, _) -> (Common_types.Double_value (Pbrt.Decoder.float_as_bits64 d) : Common_types.any_value)
|
||||
| Some (5, _) -> (Common_types.Array_value (decode_array_value (Pbrt.Decoder.nested d)) : Common_types.any_value)
|
||||
| Some (6, _) -> (Common_types.Kvlist_value (decode_key_value_list (Pbrt.Decoder.nested d)) : Common_types.any_value)
|
||||
| Some (7, _) -> (Common_types.Bytes_value (Pbrt.Decoder.bytes d) : Common_types.any_value)
|
||||
| Some (n, payload_kind) -> (
|
||||
Pbrt.Decoder.skip d payload_kind;
|
||||
loop ()
|
||||
)
|
||||
in
|
||||
ret
|
||||
in
|
||||
loop ()
|
||||
|
||||
and decode_array_value d =
|
||||
let v = default_array_value_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.values <- List.rev v.values;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.values <- (decode_any_value (Pbrt.Decoder.nested d)) :: v.values;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(array_value), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Common_types.values = v.values;
|
||||
} : Common_types.array_value)
|
||||
|
||||
and decode_key_value_list d =
|
||||
let v = default_key_value_list_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.values <- List.rev v.values;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.values <- (decode_key_value (Pbrt.Decoder.nested d)) :: v.values;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(key_value_list), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Common_types.values = v.values;
|
||||
} : Common_types.key_value_list)
|
||||
|
||||
and decode_key_value d =
|
||||
let v = default_key_value_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.key <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(key_value), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.value <- Some (decode_any_value (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(key_value), field(2)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Common_types.key = v.key;
|
||||
Common_types.value = v.value;
|
||||
} : Common_types.key_value)
|
||||
|
||||
let rec decode_instrumentation_scope d =
|
||||
let v = default_instrumentation_scope_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.attributes <- List.rev v.attributes;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.name <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(instrumentation_scope), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.version <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(instrumentation_scope), field(2)" pk
|
||||
| Some (3, Pbrt.Bytes) -> begin
|
||||
v.attributes <- (decode_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(instrumentation_scope), field(3)" pk
|
||||
| Some (4, Pbrt.Varint) -> begin
|
||||
v.dropped_attributes_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (4, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(instrumentation_scope), field(4)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Common_types.name = v.name;
|
||||
Common_types.version = v.version;
|
||||
Common_types.attributes = v.attributes;
|
||||
Common_types.dropped_attributes_count = v.dropped_attributes_count;
|
||||
} : Common_types.instrumentation_scope)
|
||||
|
||||
let rec encode_any_value (v:Common_types.any_value) encoder =
|
||||
begin match v with
|
||||
| Common_types.String_value x ->
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string x encoder;
|
||||
| Common_types.Bool_value x ->
|
||||
Pbrt.Encoder.key (2, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.bool x encoder;
|
||||
| Common_types.Int_value x ->
|
||||
Pbrt.Encoder.key (3, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int64_as_varint x encoder;
|
||||
| Common_types.Double_value x ->
|
||||
Pbrt.Encoder.key (4, Pbrt.Bits64) encoder;
|
||||
Pbrt.Encoder.float_as_bits64 x encoder;
|
||||
| Common_types.Array_value x ->
|
||||
Pbrt.Encoder.key (5, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_array_value x) encoder;
|
||||
| Common_types.Kvlist_value x ->
|
||||
Pbrt.Encoder.key (6, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_key_value_list x) encoder;
|
||||
| Common_types.Bytes_value x ->
|
||||
Pbrt.Encoder.key (7, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.bytes x encoder;
|
||||
end
|
||||
|
||||
and encode_array_value (v:Common_types.array_value) encoder =
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_any_value x) encoder;
|
||||
) v.Common_types.values;
|
||||
()
|
||||
|
||||
and encode_key_value_list (v:Common_types.key_value_list) encoder =
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_key_value x) encoder;
|
||||
) v.Common_types.values;
|
||||
()
|
||||
|
||||
and encode_key_value (v:Common_types.key_value) encoder =
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Common_types.key encoder;
|
||||
begin match v.Common_types.value with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_any_value x) encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
()
|
||||
|
||||
let rec encode_instrumentation_scope (v:Common_types.instrumentation_scope) encoder =
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Common_types.name encoder;
|
||||
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Common_types.version encoder;
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_key_value x) encoder;
|
||||
) v.Common_types.attributes;
|
||||
Pbrt.Encoder.key (4, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.Common_types.dropped_attributes_count encoder;
|
||||
()
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
(** common.proto Binary Encoding *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_any_value : Common_types.any_value -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_any_value v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_array_value : Common_types.array_value -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_array_value v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_key_value_list : Common_types.key_value_list -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_key_value_list v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_key_value : Common_types.key_value -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_key_value v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_instrumentation_scope : Common_types.instrumentation_scope -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_instrumentation_scope v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_any_value : Pbrt.Decoder.t -> Common_types.any_value
|
||||
(** [decode_any_value decoder] decodes a [any_value] value from [decoder] *)
|
||||
|
||||
val decode_array_value : Pbrt.Decoder.t -> Common_types.array_value
|
||||
(** [decode_array_value decoder] decodes a [array_value] value from [decoder] *)
|
||||
|
||||
val decode_key_value_list : Pbrt.Decoder.t -> Common_types.key_value_list
|
||||
(** [decode_key_value_list decoder] decodes a [key_value_list] value from [decoder] *)
|
||||
|
||||
val decode_key_value : Pbrt.Decoder.t -> Common_types.key_value
|
||||
(** [decode_key_value decoder] decodes a [key_value] value from [decoder] *)
|
||||
|
||||
val decode_instrumentation_scope : Pbrt.Decoder.t -> Common_types.instrumentation_scope
|
||||
(** [decode_instrumentation_scope decoder] decodes a [instrumentation_scope] value from [decoder] *)
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
let rec pp_any_value fmt (v:Common_types.any_value) =
|
||||
match v with
|
||||
| Common_types.String_value x -> Format.fprintf fmt "@[<hv2>String_value(@,%a)@]" Pbrt.Pp.pp_string x
|
||||
| Common_types.Bool_value x -> Format.fprintf fmt "@[<hv2>Bool_value(@,%a)@]" Pbrt.Pp.pp_bool x
|
||||
| Common_types.Int_value x -> Format.fprintf fmt "@[<hv2>Int_value(@,%a)@]" Pbrt.Pp.pp_int64 x
|
||||
| Common_types.Double_value x -> Format.fprintf fmt "@[<hv2>Double_value(@,%a)@]" Pbrt.Pp.pp_float x
|
||||
| Common_types.Array_value x -> Format.fprintf fmt "@[<hv2>Array_value(@,%a)@]" pp_array_value x
|
||||
| Common_types.Kvlist_value x -> Format.fprintf fmt "@[<hv2>Kvlist_value(@,%a)@]" pp_key_value_list x
|
||||
| Common_types.Bytes_value x -> Format.fprintf fmt "@[<hv2>Bytes_value(@,%a)@]" Pbrt.Pp.pp_bytes x
|
||||
|
||||
and pp_array_value fmt (v:Common_types.array_value) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "values" (Pbrt.Pp.pp_list pp_any_value) fmt v.Common_types.values;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
and pp_key_value_list fmt (v:Common_types.key_value_list) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "values" (Pbrt.Pp.pp_list pp_key_value) fmt v.Common_types.values;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
and pp_key_value fmt (v:Common_types.key_value) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "key" Pbrt.Pp.pp_string fmt v.Common_types.key;
|
||||
Pbrt.Pp.pp_record_field ~first:false "value" (Pbrt.Pp.pp_option pp_any_value) fmt v.Common_types.value;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_instrumentation_scope fmt (v:Common_types.instrumentation_scope) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "name" Pbrt.Pp.pp_string fmt v.Common_types.name;
|
||||
Pbrt.Pp.pp_record_field ~first:false "version" Pbrt.Pp.pp_string fmt v.Common_types.version;
|
||||
Pbrt.Pp.pp_record_field ~first:false "attributes" (Pbrt.Pp.pp_list pp_key_value) fmt v.Common_types.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_attributes_count" Pbrt.Pp.pp_int32 fmt v.Common_types.dropped_attributes_count;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
(** common.proto Pretty Printing *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_any_value : Format.formatter -> Common_types.any_value -> unit
|
||||
(** [pp_any_value v] formats v *)
|
||||
|
||||
val pp_array_value : Format.formatter -> Common_types.array_value -> unit
|
||||
(** [pp_array_value v] formats v *)
|
||||
|
||||
val pp_key_value_list : Format.formatter -> Common_types.key_value_list -> unit
|
||||
(** [pp_key_value_list v] formats v *)
|
||||
|
||||
val pp_key_value : Format.formatter -> Common_types.key_value -> unit
|
||||
(** [pp_key_value v] formats v *)
|
||||
|
||||
val pp_instrumentation_scope : Format.formatter -> Common_types.instrumentation_scope -> unit
|
||||
(** [pp_instrumentation_scope v] formats v *)
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
|
||||
type any_value =
|
||||
| String_value of string
|
||||
| Bool_value of bool
|
||||
| Int_value of int64
|
||||
| Double_value of float
|
||||
| Array_value of array_value
|
||||
| Kvlist_value of key_value_list
|
||||
| Bytes_value of bytes
|
||||
|
||||
and array_value = {
|
||||
values : any_value list;
|
||||
}
|
||||
|
||||
and key_value_list = {
|
||||
values : key_value list;
|
||||
}
|
||||
|
||||
and key_value = {
|
||||
key : string;
|
||||
value : any_value option;
|
||||
}
|
||||
|
||||
type instrumentation_scope = {
|
||||
name : string;
|
||||
version : string;
|
||||
attributes : key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
let rec default_any_value () : any_value = String_value ("")
|
||||
|
||||
and default_array_value
|
||||
?values:((values:any_value list) = [])
|
||||
() : array_value = {
|
||||
values;
|
||||
}
|
||||
|
||||
and default_key_value_list
|
||||
?values:((values:key_value list) = [])
|
||||
() : key_value_list = {
|
||||
values;
|
||||
}
|
||||
|
||||
and default_key_value
|
||||
?key:((key:string) = "")
|
||||
?value:((value:any_value option) = None)
|
||||
() : key_value = {
|
||||
key;
|
||||
value;
|
||||
}
|
||||
|
||||
let rec default_instrumentation_scope
|
||||
?name:((name:string) = "")
|
||||
?version:((version:string) = "")
|
||||
?attributes:((attributes:key_value list) = [])
|
||||
?dropped_attributes_count:((dropped_attributes_count:int32) = 0l)
|
||||
() : instrumentation_scope = {
|
||||
name;
|
||||
version;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
}
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
(** common.proto Types *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type any_value =
|
||||
| String_value of string
|
||||
| Bool_value of bool
|
||||
| Int_value of int64
|
||||
| Double_value of float
|
||||
| Array_value of array_value
|
||||
| Kvlist_value of key_value_list
|
||||
| Bytes_value of bytes
|
||||
|
||||
and array_value = {
|
||||
values : any_value list;
|
||||
}
|
||||
|
||||
and key_value_list = {
|
||||
values : key_value list;
|
||||
}
|
||||
|
||||
and key_value = {
|
||||
key : string;
|
||||
value : any_value option;
|
||||
}
|
||||
|
||||
type instrumentation_scope = {
|
||||
name : string;
|
||||
version : string;
|
||||
attributes : key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Default values} *)
|
||||
|
||||
val default_any_value : unit -> any_value
|
||||
(** [default_any_value ()] is the default value for type [any_value] *)
|
||||
|
||||
val default_array_value :
|
||||
?values:any_value list ->
|
||||
unit ->
|
||||
array_value
|
||||
(** [default_array_value ()] is the default value for type [array_value] *)
|
||||
|
||||
val default_key_value_list :
|
||||
?values:key_value list ->
|
||||
unit ->
|
||||
key_value_list
|
||||
(** [default_key_value_list ()] is the default value for type [key_value_list] *)
|
||||
|
||||
val default_key_value :
|
||||
?key:string ->
|
||||
?value:any_value option ->
|
||||
unit ->
|
||||
key_value
|
||||
(** [default_key_value ()] is the default value for type [key_value] *)
|
||||
|
||||
val default_instrumentation_scope :
|
||||
?name:string ->
|
||||
?version:string ->
|
||||
?attributes:key_value list ->
|
||||
?dropped_attributes_count:int32 ->
|
||||
unit ->
|
||||
instrumentation_scope
|
||||
(** [default_instrumentation_scope ()] is the default value for type [instrumentation_scope] *)
|
||||
|
|
@ -10,115 +10,105 @@
|
|||
(rule
|
||||
(alias lint)
|
||||
(mode promote)
|
||||
(targets status_types.ml status_types.mli status_pb.ml status_pb.mli
|
||||
status_pp.ml status_pp.mli)
|
||||
(targets status.ml status.mli)
|
||||
(deps
|
||||
(:file status.proto)
|
||||
(source_tree %{project_root}/vendor/opentelemetry-proto/))
|
||||
(action
|
||||
(run ocaml-protoc %{file} -ml_out . -pp -binary)))
|
||||
(run ocaml-protoc %{file} --ml_out . --pp --make --binary)))
|
||||
|
||||
(rule
|
||||
(alias lint)
|
||||
(mode promote)
|
||||
(targets common_types.ml common_types.mli common_pb.ml common_pb.mli
|
||||
common_pp.ml common_pp.mli)
|
||||
(targets common.ml common.mli)
|
||||
(deps
|
||||
(:file
|
||||
%{project_root}/vendor/opentelemetry-proto/opentelemetry/proto/common/v1/common.proto)
|
||||
(source_tree %{project_root}/vendor/opentelemetry-proto/))
|
||||
(action
|
||||
(run ocaml-protoc %{file} -I %{project_root}/vendor/opentelemetry-proto/
|
||||
-ml_out . -pp -binary)))
|
||||
--ml_out . --pp --make --binary)))
|
||||
|
||||
(rule
|
||||
(alias lint)
|
||||
(mode promote)
|
||||
(targets resource_types.ml resource_types.mli resource_pb.ml resource_pb.mli
|
||||
resource_pp.ml resource_pp.mli)
|
||||
(targets resource.ml resource.mli)
|
||||
(deps
|
||||
(:file
|
||||
%{project_root}/vendor/opentelemetry-proto/opentelemetry/proto/resource/v1/resource.proto)
|
||||
(source_tree %{project_root}/vendor/opentelemetry-proto/))
|
||||
(action
|
||||
(run ocaml-protoc %{file} -I %{project_root}/vendor/opentelemetry-proto/
|
||||
-ml_out . -pp -binary)))
|
||||
--ml_out . --pp --make --binary)))
|
||||
|
||||
(rule
|
||||
(alias lint)
|
||||
(mode promote)
|
||||
(targets trace_types.ml trace_types.mli trace_pb.ml trace_pb.mli trace_pp.ml
|
||||
trace_pp.mli)
|
||||
(targets trace.ml trace.mli)
|
||||
(deps
|
||||
(:file
|
||||
%{project_root}/vendor/opentelemetry-proto/opentelemetry/proto/trace/v1/trace.proto)
|
||||
(source_tree %{project_root}/vendor/opentelemetry-proto/))
|
||||
(action
|
||||
(run ocaml-protoc %{file} -I %{project_root}/vendor/opentelemetry-proto/
|
||||
-ml_out . -pp -binary)))
|
||||
--ml_out . --pp --make --binary)))
|
||||
|
||||
(rule
|
||||
(alias lint)
|
||||
(mode promote)
|
||||
(targets metrics_types.ml metrics_types.mli metrics_pb.ml metrics_pb.mli
|
||||
metrics_pp.ml metrics_pp.mli)
|
||||
(targets metrics.ml metrics.mli)
|
||||
(deps
|
||||
(:file
|
||||
%{project_root}/vendor/opentelemetry-proto/opentelemetry/proto/metrics/v1/metrics.proto)
|
||||
(source_tree %{project_root}/vendor/opentelemetry-proto/))
|
||||
(action
|
||||
(run ocaml-protoc %{file} -I %{project_root}/vendor/opentelemetry-proto/
|
||||
-ml_out . -pp -binary)))
|
||||
--ml_out . --pp --make --binary)))
|
||||
|
||||
(rule
|
||||
(alias lint)
|
||||
(mode promote)
|
||||
(targets logs_types.ml logs_types.mli logs_pb.ml logs_pb.mli logs_pp.ml
|
||||
logs_pp.mli)
|
||||
(targets logs.ml logs.mli)
|
||||
(deps
|
||||
(:file
|
||||
%{project_root}/vendor/opentelemetry-proto/opentelemetry/proto/logs/v1/logs.proto)
|
||||
(source_tree %{project_root}/vendor/opentelemetry-proto/))
|
||||
(action
|
||||
(run ocaml-protoc %{file} -I %{project_root}/vendor/opentelemetry-proto/
|
||||
-ml_out . -pp -binary)))
|
||||
--ml_out . --pp --make --binary)))
|
||||
|
||||
(rule
|
||||
(alias lint)
|
||||
(mode promote)
|
||||
(targets metrics_service_types.ml metrics_service_types.mli
|
||||
metrics_service_pp.ml metrics_service_pp.mli metrics_service_pb.ml
|
||||
metrics_service_pb.mli)
|
||||
(targets metrics_service.ml metrics_service.mli)
|
||||
(deps
|
||||
(:file
|
||||
%{project_root}/vendor/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.proto)
|
||||
(source_tree %{project_root}/vendor/opentelemetry-proto/))
|
||||
(action
|
||||
(run ocaml-protoc %{file} -I %{project_root}/vendor/opentelemetry-proto/
|
||||
-ml_out . -pp -binary)))
|
||||
--ml_out . --pp --make --binary)))
|
||||
|
||||
(rule
|
||||
(alias lint)
|
||||
(mode promote)
|
||||
(targets trace_service_types.ml trace_service_types.mli trace_service_pp.ml
|
||||
trace_service_pp.mli trace_service_pb.ml trace_service_pb.mli)
|
||||
(targets trace_service.ml trace_service.mli)
|
||||
(deps
|
||||
(:file
|
||||
%{project_root}/vendor/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.proto)
|
||||
(source_tree %{project_root}/vendor/opentelemetry-proto/))
|
||||
(action
|
||||
(run ocaml-protoc %{file} -I %{project_root}/vendor/opentelemetry-proto/
|
||||
-ml_out . -pp -binary)))
|
||||
--ml_out . --pp --make --binary)))
|
||||
|
||||
(rule
|
||||
(alias lint)
|
||||
(mode promote)
|
||||
(targets logs_service_types.ml logs_service_types.mli logs_service_pp.ml
|
||||
logs_service_pp.mli logs_service_pb.ml logs_service_pb.mli)
|
||||
(targets logs_service.ml logs_service.mli)
|
||||
(deps
|
||||
(:file
|
||||
%{project_root}/vendor/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.proto)
|
||||
(source_tree %{project_root}/vendor/opentelemetry-proto/))
|
||||
(action
|
||||
(run ocaml-protoc %{file} -I %{project_root}/vendor/opentelemetry-proto/
|
||||
-ml_out . -pp -binary)))
|
||||
--ml_out . --pp --make --binary)))
|
||||
|
|
|
|||
598
src/proto/logs.ml
Normal file
598
src/proto/logs.ml
Normal file
|
|
@ -0,0 +1,598 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type severity_number =
|
||||
| Severity_number_unspecified
|
||||
| Severity_number_trace
|
||||
| Severity_number_trace2
|
||||
| Severity_number_trace3
|
||||
| Severity_number_trace4
|
||||
| Severity_number_debug
|
||||
| Severity_number_debug2
|
||||
| Severity_number_debug3
|
||||
| Severity_number_debug4
|
||||
| Severity_number_info
|
||||
| Severity_number_info2
|
||||
| Severity_number_info3
|
||||
| Severity_number_info4
|
||||
| Severity_number_warn
|
||||
| Severity_number_warn2
|
||||
| Severity_number_warn3
|
||||
| Severity_number_warn4
|
||||
| Severity_number_error
|
||||
| Severity_number_error2
|
||||
| Severity_number_error3
|
||||
| Severity_number_error4
|
||||
| Severity_number_fatal
|
||||
| Severity_number_fatal2
|
||||
| Severity_number_fatal3
|
||||
| Severity_number_fatal4
|
||||
|
||||
type log_record = {
|
||||
time_unix_nano : int64;
|
||||
observed_time_unix_nano : int64;
|
||||
severity_number : severity_number;
|
||||
severity_text : string;
|
||||
body : Common.any_value option;
|
||||
attributes : Common.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
flags : int32;
|
||||
trace_id : bytes;
|
||||
span_id : bytes;
|
||||
}
|
||||
|
||||
type scope_logs = {
|
||||
scope : Common.instrumentation_scope option;
|
||||
log_records : log_record list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type resource_logs = {
|
||||
resource : Resource.resource option;
|
||||
scope_logs : scope_logs list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type logs_data = {
|
||||
resource_logs : resource_logs list;
|
||||
}
|
||||
|
||||
type log_record_flags =
|
||||
| Log_record_flags_do_not_use
|
||||
| Log_record_flags_trace_flags_mask
|
||||
|
||||
let rec default_severity_number () = (Severity_number_unspecified:severity_number)
|
||||
|
||||
let rec default_log_record
|
||||
?time_unix_nano:((time_unix_nano:int64) = 0L)
|
||||
?observed_time_unix_nano:((observed_time_unix_nano:int64) = 0L)
|
||||
?severity_number:((severity_number:severity_number) = default_severity_number ())
|
||||
?severity_text:((severity_text:string) = "")
|
||||
?body:((body:Common.any_value option) = None)
|
||||
?attributes:((attributes:Common.key_value list) = [])
|
||||
?dropped_attributes_count:((dropped_attributes_count:int32) = 0l)
|
||||
?flags:((flags:int32) = 0l)
|
||||
?trace_id:((trace_id:bytes) = Bytes.create 0)
|
||||
?span_id:((span_id:bytes) = Bytes.create 0)
|
||||
() : log_record = {
|
||||
time_unix_nano;
|
||||
observed_time_unix_nano;
|
||||
severity_number;
|
||||
severity_text;
|
||||
body;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
flags;
|
||||
trace_id;
|
||||
span_id;
|
||||
}
|
||||
|
||||
let rec default_scope_logs
|
||||
?scope:((scope:Common.instrumentation_scope option) = None)
|
||||
?log_records:((log_records:log_record list) = [])
|
||||
?schema_url:((schema_url:string) = "")
|
||||
() : scope_logs = {
|
||||
scope;
|
||||
log_records;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec default_resource_logs
|
||||
?resource:((resource:Resource.resource option) = None)
|
||||
?scope_logs:((scope_logs:scope_logs list) = [])
|
||||
?schema_url:((schema_url:string) = "")
|
||||
() : resource_logs = {
|
||||
resource;
|
||||
scope_logs;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec default_logs_data
|
||||
?resource_logs:((resource_logs:resource_logs list) = [])
|
||||
() : logs_data = {
|
||||
resource_logs;
|
||||
}
|
||||
|
||||
let rec default_log_record_flags () = (Log_record_flags_do_not_use:log_record_flags)
|
||||
|
||||
type log_record_mutable = {
|
||||
mutable time_unix_nano : int64;
|
||||
mutable observed_time_unix_nano : int64;
|
||||
mutable severity_number : severity_number;
|
||||
mutable severity_text : string;
|
||||
mutable body : Common.any_value option;
|
||||
mutable attributes : Common.key_value list;
|
||||
mutable dropped_attributes_count : int32;
|
||||
mutable flags : int32;
|
||||
mutable trace_id : bytes;
|
||||
mutable span_id : bytes;
|
||||
}
|
||||
|
||||
let default_log_record_mutable () : log_record_mutable = {
|
||||
time_unix_nano = 0L;
|
||||
observed_time_unix_nano = 0L;
|
||||
severity_number = default_severity_number ();
|
||||
severity_text = "";
|
||||
body = None;
|
||||
attributes = [];
|
||||
dropped_attributes_count = 0l;
|
||||
flags = 0l;
|
||||
trace_id = Bytes.create 0;
|
||||
span_id = Bytes.create 0;
|
||||
}
|
||||
|
||||
type scope_logs_mutable = {
|
||||
mutable scope : Common.instrumentation_scope option;
|
||||
mutable log_records : log_record list;
|
||||
mutable schema_url : string;
|
||||
}
|
||||
|
||||
let default_scope_logs_mutable () : scope_logs_mutable = {
|
||||
scope = None;
|
||||
log_records = [];
|
||||
schema_url = "";
|
||||
}
|
||||
|
||||
type resource_logs_mutable = {
|
||||
mutable resource : Resource.resource option;
|
||||
mutable scope_logs : scope_logs list;
|
||||
mutable schema_url : string;
|
||||
}
|
||||
|
||||
let default_resource_logs_mutable () : resource_logs_mutable = {
|
||||
resource = None;
|
||||
scope_logs = [];
|
||||
schema_url = "";
|
||||
}
|
||||
|
||||
type logs_data_mutable = {
|
||||
mutable resource_logs : resource_logs list;
|
||||
}
|
||||
|
||||
let default_logs_data_mutable () : logs_data_mutable = {
|
||||
resource_logs = [];
|
||||
}
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
|
||||
let rec make_log_record
|
||||
~(time_unix_nano:int64)
|
||||
~(observed_time_unix_nano:int64)
|
||||
~(severity_number:severity_number)
|
||||
~(severity_text:string)
|
||||
?body:((body:Common.any_value option) = None)
|
||||
~(attributes:Common.key_value list)
|
||||
~(dropped_attributes_count:int32)
|
||||
~(flags:int32)
|
||||
~(trace_id:bytes)
|
||||
~(span_id:bytes)
|
||||
() : log_record = {
|
||||
time_unix_nano;
|
||||
observed_time_unix_nano;
|
||||
severity_number;
|
||||
severity_text;
|
||||
body;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
flags;
|
||||
trace_id;
|
||||
span_id;
|
||||
}
|
||||
|
||||
let rec make_scope_logs
|
||||
?scope:((scope:Common.instrumentation_scope option) = None)
|
||||
~(log_records:log_record list)
|
||||
~(schema_url:string)
|
||||
() : scope_logs = {
|
||||
scope;
|
||||
log_records;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec make_resource_logs
|
||||
?resource:((resource:Resource.resource option) = None)
|
||||
~(scope_logs:scope_logs list)
|
||||
~(schema_url:string)
|
||||
() : resource_logs = {
|
||||
resource;
|
||||
scope_logs;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec make_logs_data
|
||||
~(resource_logs:resource_logs list)
|
||||
() : logs_data = {
|
||||
resource_logs;
|
||||
}
|
||||
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
let rec pp_severity_number fmt (v:severity_number) =
|
||||
match v with
|
||||
| Severity_number_unspecified -> Format.fprintf fmt "Severity_number_unspecified"
|
||||
| Severity_number_trace -> Format.fprintf fmt "Severity_number_trace"
|
||||
| Severity_number_trace2 -> Format.fprintf fmt "Severity_number_trace2"
|
||||
| Severity_number_trace3 -> Format.fprintf fmt "Severity_number_trace3"
|
||||
| Severity_number_trace4 -> Format.fprintf fmt "Severity_number_trace4"
|
||||
| Severity_number_debug -> Format.fprintf fmt "Severity_number_debug"
|
||||
| Severity_number_debug2 -> Format.fprintf fmt "Severity_number_debug2"
|
||||
| Severity_number_debug3 -> Format.fprintf fmt "Severity_number_debug3"
|
||||
| Severity_number_debug4 -> Format.fprintf fmt "Severity_number_debug4"
|
||||
| Severity_number_info -> Format.fprintf fmt "Severity_number_info"
|
||||
| Severity_number_info2 -> Format.fprintf fmt "Severity_number_info2"
|
||||
| Severity_number_info3 -> Format.fprintf fmt "Severity_number_info3"
|
||||
| Severity_number_info4 -> Format.fprintf fmt "Severity_number_info4"
|
||||
| Severity_number_warn -> Format.fprintf fmt "Severity_number_warn"
|
||||
| Severity_number_warn2 -> Format.fprintf fmt "Severity_number_warn2"
|
||||
| Severity_number_warn3 -> Format.fprintf fmt "Severity_number_warn3"
|
||||
| Severity_number_warn4 -> Format.fprintf fmt "Severity_number_warn4"
|
||||
| Severity_number_error -> Format.fprintf fmt "Severity_number_error"
|
||||
| Severity_number_error2 -> Format.fprintf fmt "Severity_number_error2"
|
||||
| Severity_number_error3 -> Format.fprintf fmt "Severity_number_error3"
|
||||
| Severity_number_error4 -> Format.fprintf fmt "Severity_number_error4"
|
||||
| Severity_number_fatal -> Format.fprintf fmt "Severity_number_fatal"
|
||||
| Severity_number_fatal2 -> Format.fprintf fmt "Severity_number_fatal2"
|
||||
| Severity_number_fatal3 -> Format.fprintf fmt "Severity_number_fatal3"
|
||||
| Severity_number_fatal4 -> Format.fprintf fmt "Severity_number_fatal4"
|
||||
|
||||
let rec pp_log_record fmt (v:log_record) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "time_unix_nano" Pbrt.Pp.pp_int64 fmt v.time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "observed_time_unix_nano" Pbrt.Pp.pp_int64 fmt v.observed_time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "severity_number" pp_severity_number fmt v.severity_number;
|
||||
Pbrt.Pp.pp_record_field ~first:false "severity_text" Pbrt.Pp.pp_string fmt v.severity_text;
|
||||
Pbrt.Pp.pp_record_field ~first:false "body" (Pbrt.Pp.pp_option Common.pp_any_value) fmt v.body;
|
||||
Pbrt.Pp.pp_record_field ~first:false "attributes" (Pbrt.Pp.pp_list Common.pp_key_value) fmt v.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_attributes_count" Pbrt.Pp.pp_int32 fmt v.dropped_attributes_count;
|
||||
Pbrt.Pp.pp_record_field ~first:false "flags" Pbrt.Pp.pp_int32 fmt v.flags;
|
||||
Pbrt.Pp.pp_record_field ~first:false "trace_id" Pbrt.Pp.pp_bytes fmt v.trace_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "span_id" Pbrt.Pp.pp_bytes fmt v.span_id;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_scope_logs fmt (v:scope_logs) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "scope" (Pbrt.Pp.pp_option Common.pp_instrumentation_scope) fmt v.scope;
|
||||
Pbrt.Pp.pp_record_field ~first:false "log_records" (Pbrt.Pp.pp_list pp_log_record) fmt v.log_records;
|
||||
Pbrt.Pp.pp_record_field ~first:false "schema_url" Pbrt.Pp.pp_string fmt v.schema_url;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_resource_logs fmt (v:resource_logs) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource" (Pbrt.Pp.pp_option Resource.pp_resource) fmt v.resource;
|
||||
Pbrt.Pp.pp_record_field ~first:false "scope_logs" (Pbrt.Pp.pp_list pp_scope_logs) fmt v.scope_logs;
|
||||
Pbrt.Pp.pp_record_field ~first:false "schema_url" Pbrt.Pp.pp_string fmt v.schema_url;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_logs_data fmt (v:logs_data) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource_logs" (Pbrt.Pp.pp_list pp_resource_logs) fmt v.resource_logs;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_log_record_flags fmt (v:log_record_flags) =
|
||||
match v with
|
||||
| Log_record_flags_do_not_use -> Format.fprintf fmt "Log_record_flags_do_not_use"
|
||||
| Log_record_flags_trace_flags_mask -> Format.fprintf fmt "Log_record_flags_trace_flags_mask"
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
let rec encode_pb_severity_number (v:severity_number) encoder =
|
||||
match v with
|
||||
| Severity_number_unspecified -> Pbrt.Encoder.int_as_varint (0) encoder
|
||||
| Severity_number_trace -> Pbrt.Encoder.int_as_varint 1 encoder
|
||||
| Severity_number_trace2 -> Pbrt.Encoder.int_as_varint 2 encoder
|
||||
| Severity_number_trace3 -> Pbrt.Encoder.int_as_varint 3 encoder
|
||||
| Severity_number_trace4 -> Pbrt.Encoder.int_as_varint 4 encoder
|
||||
| Severity_number_debug -> Pbrt.Encoder.int_as_varint 5 encoder
|
||||
| Severity_number_debug2 -> Pbrt.Encoder.int_as_varint 6 encoder
|
||||
| Severity_number_debug3 -> Pbrt.Encoder.int_as_varint 7 encoder
|
||||
| Severity_number_debug4 -> Pbrt.Encoder.int_as_varint 8 encoder
|
||||
| Severity_number_info -> Pbrt.Encoder.int_as_varint 9 encoder
|
||||
| Severity_number_info2 -> Pbrt.Encoder.int_as_varint 10 encoder
|
||||
| Severity_number_info3 -> Pbrt.Encoder.int_as_varint 11 encoder
|
||||
| Severity_number_info4 -> Pbrt.Encoder.int_as_varint 12 encoder
|
||||
| Severity_number_warn -> Pbrt.Encoder.int_as_varint 13 encoder
|
||||
| Severity_number_warn2 -> Pbrt.Encoder.int_as_varint 14 encoder
|
||||
| Severity_number_warn3 -> Pbrt.Encoder.int_as_varint 15 encoder
|
||||
| Severity_number_warn4 -> Pbrt.Encoder.int_as_varint 16 encoder
|
||||
| Severity_number_error -> Pbrt.Encoder.int_as_varint 17 encoder
|
||||
| Severity_number_error2 -> Pbrt.Encoder.int_as_varint 18 encoder
|
||||
| Severity_number_error3 -> Pbrt.Encoder.int_as_varint 19 encoder
|
||||
| Severity_number_error4 -> Pbrt.Encoder.int_as_varint 20 encoder
|
||||
| Severity_number_fatal -> Pbrt.Encoder.int_as_varint 21 encoder
|
||||
| Severity_number_fatal2 -> Pbrt.Encoder.int_as_varint 22 encoder
|
||||
| Severity_number_fatal3 -> Pbrt.Encoder.int_as_varint 23 encoder
|
||||
| Severity_number_fatal4 -> Pbrt.Encoder.int_as_varint 24 encoder
|
||||
|
||||
let rec encode_pb_log_record (v:log_record) encoder =
|
||||
Pbrt.Encoder.int64_as_bits64 v.time_unix_nano encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bits64 encoder;
|
||||
Pbrt.Encoder.int64_as_bits64 v.observed_time_unix_nano encoder;
|
||||
Pbrt.Encoder.key 11 Pbrt.Bits64 encoder;
|
||||
encode_pb_severity_number v.severity_number encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Varint encoder;
|
||||
Pbrt.Encoder.string v.severity_text encoder;
|
||||
Pbrt.Encoder.key 3 Pbrt.Bytes encoder;
|
||||
begin match v.body with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.nested Common.encode_pb_any_value x encoder;
|
||||
Pbrt.Encoder.key 5 Pbrt.Bytes encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested Common.encode_pb_key_value x encoder;
|
||||
Pbrt.Encoder.key 6 Pbrt.Bytes encoder;
|
||||
) v.attributes encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.dropped_attributes_count encoder;
|
||||
Pbrt.Encoder.key 7 Pbrt.Varint encoder;
|
||||
Pbrt.Encoder.int32_as_bits32 v.flags encoder;
|
||||
Pbrt.Encoder.key 8 Pbrt.Bits32 encoder;
|
||||
Pbrt.Encoder.bytes v.trace_id encoder;
|
||||
Pbrt.Encoder.key 9 Pbrt.Bytes encoder;
|
||||
Pbrt.Encoder.bytes v.span_id encoder;
|
||||
Pbrt.Encoder.key 10 Pbrt.Bytes encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_scope_logs (v:scope_logs) encoder =
|
||||
begin match v.scope with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.nested Common.encode_pb_instrumentation_scope x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested encode_pb_log_record x encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
) v.log_records encoder;
|
||||
Pbrt.Encoder.string v.schema_url encoder;
|
||||
Pbrt.Encoder.key 3 Pbrt.Bytes encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_resource_logs (v:resource_logs) encoder =
|
||||
begin match v.resource with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.nested Resource.encode_pb_resource x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested encode_pb_scope_logs x encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
) v.scope_logs encoder;
|
||||
Pbrt.Encoder.string v.schema_url encoder;
|
||||
Pbrt.Encoder.key 3 Pbrt.Bytes encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_logs_data (v:logs_data) encoder =
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested encode_pb_resource_logs x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
) v.resource_logs encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_log_record_flags (v:log_record_flags) encoder =
|
||||
match v with
|
||||
| Log_record_flags_do_not_use -> Pbrt.Encoder.int_as_varint (0) encoder
|
||||
| Log_record_flags_trace_flags_mask -> Pbrt.Encoder.int_as_varint 255 encoder
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
let rec decode_pb_severity_number d =
|
||||
match Pbrt.Decoder.int_as_varint d with
|
||||
| 0 -> (Severity_number_unspecified:severity_number)
|
||||
| 1 -> (Severity_number_trace:severity_number)
|
||||
| 2 -> (Severity_number_trace2:severity_number)
|
||||
| 3 -> (Severity_number_trace3:severity_number)
|
||||
| 4 -> (Severity_number_trace4:severity_number)
|
||||
| 5 -> (Severity_number_debug:severity_number)
|
||||
| 6 -> (Severity_number_debug2:severity_number)
|
||||
| 7 -> (Severity_number_debug3:severity_number)
|
||||
| 8 -> (Severity_number_debug4:severity_number)
|
||||
| 9 -> (Severity_number_info:severity_number)
|
||||
| 10 -> (Severity_number_info2:severity_number)
|
||||
| 11 -> (Severity_number_info3:severity_number)
|
||||
| 12 -> (Severity_number_info4:severity_number)
|
||||
| 13 -> (Severity_number_warn:severity_number)
|
||||
| 14 -> (Severity_number_warn2:severity_number)
|
||||
| 15 -> (Severity_number_warn3:severity_number)
|
||||
| 16 -> (Severity_number_warn4:severity_number)
|
||||
| 17 -> (Severity_number_error:severity_number)
|
||||
| 18 -> (Severity_number_error2:severity_number)
|
||||
| 19 -> (Severity_number_error3:severity_number)
|
||||
| 20 -> (Severity_number_error4:severity_number)
|
||||
| 21 -> (Severity_number_fatal:severity_number)
|
||||
| 22 -> (Severity_number_fatal2:severity_number)
|
||||
| 23 -> (Severity_number_fatal3:severity_number)
|
||||
| 24 -> (Severity_number_fatal4:severity_number)
|
||||
| _ -> Pbrt.Decoder.malformed_variant "severity_number"
|
||||
|
||||
let rec decode_pb_log_record d =
|
||||
let v = default_log_record_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.attributes <- List.rev v.attributes;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bits64) -> begin
|
||||
v.time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(1)" pk
|
||||
| Some (11, Pbrt.Bits64) -> begin
|
||||
v.observed_time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
|
||||
end
|
||||
| Some (11, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(11)" pk
|
||||
| Some (2, Pbrt.Varint) -> begin
|
||||
v.severity_number <- decode_pb_severity_number d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(2)" pk
|
||||
| Some (3, Pbrt.Bytes) -> begin
|
||||
v.severity_text <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(3)" pk
|
||||
| Some (5, Pbrt.Bytes) -> begin
|
||||
v.body <- Some (Common.decode_pb_any_value (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (5, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(5)" pk
|
||||
| Some (6, Pbrt.Bytes) -> begin
|
||||
v.attributes <- (Common.decode_pb_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
|
||||
end
|
||||
| Some (6, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(6)" pk
|
||||
| Some (7, Pbrt.Varint) -> begin
|
||||
v.dropped_attributes_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (7, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(7)" pk
|
||||
| Some (8, Pbrt.Bits32) -> begin
|
||||
v.flags <- Pbrt.Decoder.int32_as_bits32 d;
|
||||
end
|
||||
| Some (8, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(8)" pk
|
||||
| Some (9, Pbrt.Bytes) -> begin
|
||||
v.trace_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (9, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(9)" pk
|
||||
| Some (10, Pbrt.Bytes) -> begin
|
||||
v.span_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (10, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(10)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
time_unix_nano = v.time_unix_nano;
|
||||
observed_time_unix_nano = v.observed_time_unix_nano;
|
||||
severity_number = v.severity_number;
|
||||
severity_text = v.severity_text;
|
||||
body = v.body;
|
||||
attributes = v.attributes;
|
||||
dropped_attributes_count = v.dropped_attributes_count;
|
||||
flags = v.flags;
|
||||
trace_id = v.trace_id;
|
||||
span_id = v.span_id;
|
||||
} : log_record)
|
||||
|
||||
let rec decode_pb_scope_logs d =
|
||||
let v = default_scope_logs_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.log_records <- List.rev v.log_records;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.scope <- Some (Common.decode_pb_instrumentation_scope (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(scope_logs), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.log_records <- (decode_pb_log_record (Pbrt.Decoder.nested d)) :: v.log_records;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(scope_logs), 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_logs), field(3)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
scope = v.scope;
|
||||
log_records = v.log_records;
|
||||
schema_url = v.schema_url;
|
||||
} : scope_logs)
|
||||
|
||||
let rec decode_pb_resource_logs d =
|
||||
let v = default_resource_logs_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.scope_logs <- List.rev v.scope_logs;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.resource <- Some (Resource.decode_pb_resource (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(resource_logs), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.scope_logs <- (decode_pb_scope_logs (Pbrt.Decoder.nested d)) :: v.scope_logs;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(resource_logs), 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_logs), field(3)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
resource = v.resource;
|
||||
scope_logs = v.scope_logs;
|
||||
schema_url = v.schema_url;
|
||||
} : resource_logs)
|
||||
|
||||
let rec decode_pb_logs_data d =
|
||||
let v = default_logs_data_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.resource_logs <- List.rev v.resource_logs;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.resource_logs <- (decode_pb_resource_logs (Pbrt.Decoder.nested d)) :: v.resource_logs;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(logs_data), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
resource_logs = v.resource_logs;
|
||||
} : logs_data)
|
||||
|
||||
let rec decode_pb_log_record_flags d =
|
||||
match Pbrt.Decoder.int_as_varint d with
|
||||
| 0 -> (Log_record_flags_do_not_use:log_record_flags)
|
||||
| 255 -> (Log_record_flags_trace_flags_mask:log_record_flags)
|
||||
| _ -> Pbrt.Decoder.malformed_variant "log_record_flags"
|
||||
222
src/proto/logs.mli
Normal file
222
src/proto/logs.mli
Normal file
|
|
@ -0,0 +1,222 @@
|
|||
|
||||
(** Code for logs.proto *)
|
||||
|
||||
(* generated from "../../vendor/opentelemetry-proto/opentelemetry/proto/logs/v1/logs.proto", do not edit *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type severity_number =
|
||||
| Severity_number_unspecified
|
||||
| Severity_number_trace
|
||||
| Severity_number_trace2
|
||||
| Severity_number_trace3
|
||||
| Severity_number_trace4
|
||||
| Severity_number_debug
|
||||
| Severity_number_debug2
|
||||
| Severity_number_debug3
|
||||
| Severity_number_debug4
|
||||
| Severity_number_info
|
||||
| Severity_number_info2
|
||||
| Severity_number_info3
|
||||
| Severity_number_info4
|
||||
| Severity_number_warn
|
||||
| Severity_number_warn2
|
||||
| Severity_number_warn3
|
||||
| Severity_number_warn4
|
||||
| Severity_number_error
|
||||
| Severity_number_error2
|
||||
| Severity_number_error3
|
||||
| Severity_number_error4
|
||||
| Severity_number_fatal
|
||||
| Severity_number_fatal2
|
||||
| Severity_number_fatal3
|
||||
| Severity_number_fatal4
|
||||
|
||||
type log_record = {
|
||||
time_unix_nano : int64;
|
||||
observed_time_unix_nano : int64;
|
||||
severity_number : severity_number;
|
||||
severity_text : string;
|
||||
body : Common.any_value option;
|
||||
attributes : Common.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
flags : int32;
|
||||
trace_id : bytes;
|
||||
span_id : bytes;
|
||||
}
|
||||
|
||||
type scope_logs = {
|
||||
scope : Common.instrumentation_scope option;
|
||||
log_records : log_record list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type resource_logs = {
|
||||
resource : Resource.resource option;
|
||||
scope_logs : scope_logs list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type logs_data = {
|
||||
resource_logs : resource_logs list;
|
||||
}
|
||||
|
||||
type log_record_flags =
|
||||
| Log_record_flags_do_not_use
|
||||
| Log_record_flags_trace_flags_mask
|
||||
|
||||
|
||||
(** {2 Basic values} *)
|
||||
|
||||
val default_severity_number : unit -> severity_number
|
||||
(** [default_severity_number ()] is the default value for type [severity_number] *)
|
||||
|
||||
val default_log_record :
|
||||
?time_unix_nano:int64 ->
|
||||
?observed_time_unix_nano:int64 ->
|
||||
?severity_number:severity_number ->
|
||||
?severity_text:string ->
|
||||
?body:Common.any_value option ->
|
||||
?attributes:Common.key_value list ->
|
||||
?dropped_attributes_count:int32 ->
|
||||
?flags:int32 ->
|
||||
?trace_id:bytes ->
|
||||
?span_id:bytes ->
|
||||
unit ->
|
||||
log_record
|
||||
(** [default_log_record ()] is the default value for type [log_record] *)
|
||||
|
||||
val default_scope_logs :
|
||||
?scope:Common.instrumentation_scope option ->
|
||||
?log_records:log_record list ->
|
||||
?schema_url:string ->
|
||||
unit ->
|
||||
scope_logs
|
||||
(** [default_scope_logs ()] is the default value for type [scope_logs] *)
|
||||
|
||||
val default_resource_logs :
|
||||
?resource:Resource.resource option ->
|
||||
?scope_logs:scope_logs list ->
|
||||
?schema_url:string ->
|
||||
unit ->
|
||||
resource_logs
|
||||
(** [default_resource_logs ()] is the default value for type [resource_logs] *)
|
||||
|
||||
val default_logs_data :
|
||||
?resource_logs:resource_logs list ->
|
||||
unit ->
|
||||
logs_data
|
||||
(** [default_logs_data ()] is the default value for type [logs_data] *)
|
||||
|
||||
val default_log_record_flags : unit -> log_record_flags
|
||||
(** [default_log_record_flags ()] is the default value for type [log_record_flags] *)
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
|
||||
val make_log_record :
|
||||
time_unix_nano:int64 ->
|
||||
observed_time_unix_nano:int64 ->
|
||||
severity_number:severity_number ->
|
||||
severity_text:string ->
|
||||
?body:Common.any_value option ->
|
||||
attributes:Common.key_value list ->
|
||||
dropped_attributes_count:int32 ->
|
||||
flags:int32 ->
|
||||
trace_id:bytes ->
|
||||
span_id:bytes ->
|
||||
unit ->
|
||||
log_record
|
||||
(** [make_log_record … ()] is a builder for type [log_record] *)
|
||||
|
||||
val make_scope_logs :
|
||||
?scope:Common.instrumentation_scope option ->
|
||||
log_records:log_record list ->
|
||||
schema_url:string ->
|
||||
unit ->
|
||||
scope_logs
|
||||
(** [make_scope_logs … ()] is a builder for type [scope_logs] *)
|
||||
|
||||
val make_resource_logs :
|
||||
?resource:Resource.resource option ->
|
||||
scope_logs:scope_logs list ->
|
||||
schema_url:string ->
|
||||
unit ->
|
||||
resource_logs
|
||||
(** [make_resource_logs … ()] is a builder for type [resource_logs] *)
|
||||
|
||||
val make_logs_data :
|
||||
resource_logs:resource_logs list ->
|
||||
unit ->
|
||||
logs_data
|
||||
(** [make_logs_data … ()] is a builder for type [logs_data] *)
|
||||
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_severity_number : Format.formatter -> severity_number -> unit
|
||||
(** [pp_severity_number v] formats v *)
|
||||
|
||||
val pp_log_record : Format.formatter -> log_record -> unit
|
||||
(** [pp_log_record v] formats v *)
|
||||
|
||||
val pp_scope_logs : Format.formatter -> scope_logs -> unit
|
||||
(** [pp_scope_logs v] formats v *)
|
||||
|
||||
val pp_resource_logs : Format.formatter -> resource_logs -> unit
|
||||
(** [pp_resource_logs v] formats v *)
|
||||
|
||||
val pp_logs_data : Format.formatter -> logs_data -> unit
|
||||
(** [pp_logs_data v] formats v *)
|
||||
|
||||
val pp_log_record_flags : Format.formatter -> log_record_flags -> unit
|
||||
(** [pp_log_record_flags v] formats v *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_pb_severity_number : severity_number -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_severity_number v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_log_record : log_record -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_log_record v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_scope_logs : scope_logs -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_scope_logs v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_resource_logs : resource_logs -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_resource_logs v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_logs_data : logs_data -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_logs_data v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_log_record_flags : log_record_flags -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_log_record_flags v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_pb_severity_number : Pbrt.Decoder.t -> severity_number
|
||||
(** [decode_pb_severity_number decoder] decodes a [severity_number] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_log_record : Pbrt.Decoder.t -> log_record
|
||||
(** [decode_pb_log_record decoder] decodes a [log_record] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_scope_logs : Pbrt.Decoder.t -> scope_logs
|
||||
(** [decode_pb_scope_logs decoder] decodes a [scope_logs] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_resource_logs : Pbrt.Decoder.t -> resource_logs
|
||||
(** [decode_pb_resource_logs decoder] decodes a [resource_logs] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_logs_data : Pbrt.Decoder.t -> logs_data
|
||||
(** [decode_pb_logs_data decoder] decodes a [logs_data] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_log_record_flags : Pbrt.Decoder.t -> log_record_flags
|
||||
(** [decode_pb_log_record_flags decoder] decodes a [log_record_flags] binary value from [decoder] *)
|
||||
|
||||
|
||||
(** {2 Services} *)
|
||||
|
|
@ -1,348 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type log_record_mutable = {
|
||||
mutable time_unix_nano : int64;
|
||||
mutable observed_time_unix_nano : int64;
|
||||
mutable severity_number : Logs_types.severity_number;
|
||||
mutable severity_text : string;
|
||||
mutable body : Common_types.any_value option;
|
||||
mutable attributes : Common_types.key_value list;
|
||||
mutable dropped_attributes_count : int32;
|
||||
mutable flags : int32;
|
||||
mutable trace_id : bytes;
|
||||
mutable span_id : bytes;
|
||||
}
|
||||
|
||||
let default_log_record_mutable () : log_record_mutable = {
|
||||
time_unix_nano = 0L;
|
||||
observed_time_unix_nano = 0L;
|
||||
severity_number = Logs_types.default_severity_number ();
|
||||
severity_text = "";
|
||||
body = None;
|
||||
attributes = [];
|
||||
dropped_attributes_count = 0l;
|
||||
flags = 0l;
|
||||
trace_id = Bytes.create 0;
|
||||
span_id = Bytes.create 0;
|
||||
}
|
||||
|
||||
type scope_logs_mutable = {
|
||||
mutable scope : Common_types.instrumentation_scope option;
|
||||
mutable log_records : Logs_types.log_record list;
|
||||
mutable schema_url : string;
|
||||
}
|
||||
|
||||
let default_scope_logs_mutable () : scope_logs_mutable = {
|
||||
scope = None;
|
||||
log_records = [];
|
||||
schema_url = "";
|
||||
}
|
||||
|
||||
type resource_logs_mutable = {
|
||||
mutable resource : Resource_types.resource option;
|
||||
mutable scope_logs : Logs_types.scope_logs list;
|
||||
mutable schema_url : string;
|
||||
}
|
||||
|
||||
let default_resource_logs_mutable () : resource_logs_mutable = {
|
||||
resource = None;
|
||||
scope_logs = [];
|
||||
schema_url = "";
|
||||
}
|
||||
|
||||
type logs_data_mutable = {
|
||||
mutable resource_logs : Logs_types.resource_logs list;
|
||||
}
|
||||
|
||||
let default_logs_data_mutable () : logs_data_mutable = {
|
||||
resource_logs = [];
|
||||
}
|
||||
|
||||
|
||||
let rec decode_severity_number d =
|
||||
match Pbrt.Decoder.int_as_varint d with
|
||||
| 0 -> (Logs_types.Severity_number_unspecified:Logs_types.severity_number)
|
||||
| 1 -> (Logs_types.Severity_number_trace:Logs_types.severity_number)
|
||||
| 2 -> (Logs_types.Severity_number_trace2:Logs_types.severity_number)
|
||||
| 3 -> (Logs_types.Severity_number_trace3:Logs_types.severity_number)
|
||||
| 4 -> (Logs_types.Severity_number_trace4:Logs_types.severity_number)
|
||||
| 5 -> (Logs_types.Severity_number_debug:Logs_types.severity_number)
|
||||
| 6 -> (Logs_types.Severity_number_debug2:Logs_types.severity_number)
|
||||
| 7 -> (Logs_types.Severity_number_debug3:Logs_types.severity_number)
|
||||
| 8 -> (Logs_types.Severity_number_debug4:Logs_types.severity_number)
|
||||
| 9 -> (Logs_types.Severity_number_info:Logs_types.severity_number)
|
||||
| 10 -> (Logs_types.Severity_number_info2:Logs_types.severity_number)
|
||||
| 11 -> (Logs_types.Severity_number_info3:Logs_types.severity_number)
|
||||
| 12 -> (Logs_types.Severity_number_info4:Logs_types.severity_number)
|
||||
| 13 -> (Logs_types.Severity_number_warn:Logs_types.severity_number)
|
||||
| 14 -> (Logs_types.Severity_number_warn2:Logs_types.severity_number)
|
||||
| 15 -> (Logs_types.Severity_number_warn3:Logs_types.severity_number)
|
||||
| 16 -> (Logs_types.Severity_number_warn4:Logs_types.severity_number)
|
||||
| 17 -> (Logs_types.Severity_number_error:Logs_types.severity_number)
|
||||
| 18 -> (Logs_types.Severity_number_error2:Logs_types.severity_number)
|
||||
| 19 -> (Logs_types.Severity_number_error3:Logs_types.severity_number)
|
||||
| 20 -> (Logs_types.Severity_number_error4:Logs_types.severity_number)
|
||||
| 21 -> (Logs_types.Severity_number_fatal:Logs_types.severity_number)
|
||||
| 22 -> (Logs_types.Severity_number_fatal2:Logs_types.severity_number)
|
||||
| 23 -> (Logs_types.Severity_number_fatal3:Logs_types.severity_number)
|
||||
| 24 -> (Logs_types.Severity_number_fatal4:Logs_types.severity_number)
|
||||
| _ -> Pbrt.Decoder.malformed_variant "severity_number"
|
||||
|
||||
let rec decode_log_record d =
|
||||
let v = default_log_record_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.attributes <- List.rev v.attributes;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bits64) -> begin
|
||||
v.time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(1)" pk
|
||||
| Some (11, Pbrt.Bits64) -> begin
|
||||
v.observed_time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
|
||||
end
|
||||
| Some (11, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(11)" pk
|
||||
| Some (2, Pbrt.Varint) -> begin
|
||||
v.severity_number <- decode_severity_number d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(2)" pk
|
||||
| Some (3, Pbrt.Bytes) -> begin
|
||||
v.severity_text <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(3)" pk
|
||||
| Some (5, Pbrt.Bytes) -> begin
|
||||
v.body <- Some (Common_pb.decode_any_value (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (5, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(5)" pk
|
||||
| Some (6, Pbrt.Bytes) -> begin
|
||||
v.attributes <- (Common_pb.decode_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
|
||||
end
|
||||
| Some (6, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(6)" pk
|
||||
| Some (7, Pbrt.Varint) -> begin
|
||||
v.dropped_attributes_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (7, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(7)" pk
|
||||
| Some (8, Pbrt.Bits32) -> begin
|
||||
v.flags <- Pbrt.Decoder.int32_as_bits32 d;
|
||||
end
|
||||
| Some (8, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(8)" pk
|
||||
| Some (9, Pbrt.Bytes) -> begin
|
||||
v.trace_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (9, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(9)" pk
|
||||
| Some (10, Pbrt.Bytes) -> begin
|
||||
v.span_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (10, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(log_record), field(10)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Logs_types.time_unix_nano = v.time_unix_nano;
|
||||
Logs_types.observed_time_unix_nano = v.observed_time_unix_nano;
|
||||
Logs_types.severity_number = v.severity_number;
|
||||
Logs_types.severity_text = v.severity_text;
|
||||
Logs_types.body = v.body;
|
||||
Logs_types.attributes = v.attributes;
|
||||
Logs_types.dropped_attributes_count = v.dropped_attributes_count;
|
||||
Logs_types.flags = v.flags;
|
||||
Logs_types.trace_id = v.trace_id;
|
||||
Logs_types.span_id = v.span_id;
|
||||
} : Logs_types.log_record)
|
||||
|
||||
let rec decode_scope_logs d =
|
||||
let v = default_scope_logs_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.log_records <- List.rev v.log_records;
|
||||
); 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_logs), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.log_records <- (decode_log_record (Pbrt.Decoder.nested d)) :: v.log_records;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(scope_logs), 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_logs), field(3)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Logs_types.scope = v.scope;
|
||||
Logs_types.log_records = v.log_records;
|
||||
Logs_types.schema_url = v.schema_url;
|
||||
} : Logs_types.scope_logs)
|
||||
|
||||
let rec decode_resource_logs d =
|
||||
let v = default_resource_logs_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.scope_logs <- List.rev v.scope_logs;
|
||||
); 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_logs), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.scope_logs <- (decode_scope_logs (Pbrt.Decoder.nested d)) :: v.scope_logs;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(resource_logs), 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_logs), field(3)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Logs_types.resource = v.resource;
|
||||
Logs_types.scope_logs = v.scope_logs;
|
||||
Logs_types.schema_url = v.schema_url;
|
||||
} : Logs_types.resource_logs)
|
||||
|
||||
let rec decode_logs_data d =
|
||||
let v = default_logs_data_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.resource_logs <- List.rev v.resource_logs;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.resource_logs <- (decode_resource_logs (Pbrt.Decoder.nested d)) :: v.resource_logs;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(logs_data), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Logs_types.resource_logs = v.resource_logs;
|
||||
} : Logs_types.logs_data)
|
||||
|
||||
let rec decode_log_record_flags d =
|
||||
match Pbrt.Decoder.int_as_varint d with
|
||||
| 0 -> (Logs_types.Log_record_flags_do_not_use:Logs_types.log_record_flags)
|
||||
| 255 -> (Logs_types.Log_record_flags_trace_flags_mask:Logs_types.log_record_flags)
|
||||
| _ -> Pbrt.Decoder.malformed_variant "log_record_flags"
|
||||
|
||||
let rec encode_severity_number (v:Logs_types.severity_number) encoder =
|
||||
match v with
|
||||
| Logs_types.Severity_number_unspecified -> Pbrt.Encoder.int_as_varint (0) encoder
|
||||
| Logs_types.Severity_number_trace -> Pbrt.Encoder.int_as_varint 1 encoder
|
||||
| Logs_types.Severity_number_trace2 -> Pbrt.Encoder.int_as_varint 2 encoder
|
||||
| Logs_types.Severity_number_trace3 -> Pbrt.Encoder.int_as_varint 3 encoder
|
||||
| Logs_types.Severity_number_trace4 -> Pbrt.Encoder.int_as_varint 4 encoder
|
||||
| Logs_types.Severity_number_debug -> Pbrt.Encoder.int_as_varint 5 encoder
|
||||
| Logs_types.Severity_number_debug2 -> Pbrt.Encoder.int_as_varint 6 encoder
|
||||
| Logs_types.Severity_number_debug3 -> Pbrt.Encoder.int_as_varint 7 encoder
|
||||
| Logs_types.Severity_number_debug4 -> Pbrt.Encoder.int_as_varint 8 encoder
|
||||
| Logs_types.Severity_number_info -> Pbrt.Encoder.int_as_varint 9 encoder
|
||||
| Logs_types.Severity_number_info2 -> Pbrt.Encoder.int_as_varint 10 encoder
|
||||
| Logs_types.Severity_number_info3 -> Pbrt.Encoder.int_as_varint 11 encoder
|
||||
| Logs_types.Severity_number_info4 -> Pbrt.Encoder.int_as_varint 12 encoder
|
||||
| Logs_types.Severity_number_warn -> Pbrt.Encoder.int_as_varint 13 encoder
|
||||
| Logs_types.Severity_number_warn2 -> Pbrt.Encoder.int_as_varint 14 encoder
|
||||
| Logs_types.Severity_number_warn3 -> Pbrt.Encoder.int_as_varint 15 encoder
|
||||
| Logs_types.Severity_number_warn4 -> Pbrt.Encoder.int_as_varint 16 encoder
|
||||
| Logs_types.Severity_number_error -> Pbrt.Encoder.int_as_varint 17 encoder
|
||||
| Logs_types.Severity_number_error2 -> Pbrt.Encoder.int_as_varint 18 encoder
|
||||
| Logs_types.Severity_number_error3 -> Pbrt.Encoder.int_as_varint 19 encoder
|
||||
| Logs_types.Severity_number_error4 -> Pbrt.Encoder.int_as_varint 20 encoder
|
||||
| Logs_types.Severity_number_fatal -> Pbrt.Encoder.int_as_varint 21 encoder
|
||||
| Logs_types.Severity_number_fatal2 -> Pbrt.Encoder.int_as_varint 22 encoder
|
||||
| Logs_types.Severity_number_fatal3 -> Pbrt.Encoder.int_as_varint 23 encoder
|
||||
| Logs_types.Severity_number_fatal4 -> Pbrt.Encoder.int_as_varint 24 encoder
|
||||
|
||||
let rec encode_log_record (v:Logs_types.log_record) encoder =
|
||||
Pbrt.Encoder.key (1, Pbrt.Bits64) encoder;
|
||||
Pbrt.Encoder.int64_as_bits64 v.Logs_types.time_unix_nano encoder;
|
||||
Pbrt.Encoder.key (11, Pbrt.Bits64) encoder;
|
||||
Pbrt.Encoder.int64_as_bits64 v.Logs_types.observed_time_unix_nano encoder;
|
||||
Pbrt.Encoder.key (2, Pbrt.Varint) encoder;
|
||||
encode_severity_number v.Logs_types.severity_number encoder;
|
||||
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Logs_types.severity_text encoder;
|
||||
begin match v.Logs_types.body with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.key (5, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (Common_pb.encode_any_value x) encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (6, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (Common_pb.encode_key_value x) encoder;
|
||||
) v.Logs_types.attributes;
|
||||
Pbrt.Encoder.key (7, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.Logs_types.dropped_attributes_count encoder;
|
||||
Pbrt.Encoder.key (8, Pbrt.Bits32) encoder;
|
||||
Pbrt.Encoder.int32_as_bits32 v.Logs_types.flags encoder;
|
||||
Pbrt.Encoder.key (9, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.bytes v.Logs_types.trace_id encoder;
|
||||
Pbrt.Encoder.key (10, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.bytes v.Logs_types.span_id encoder;
|
||||
()
|
||||
|
||||
let rec encode_scope_logs (v:Logs_types.scope_logs) encoder =
|
||||
begin match v.Logs_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_log_record x) encoder;
|
||||
) v.Logs_types.log_records;
|
||||
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Logs_types.schema_url encoder;
|
||||
()
|
||||
|
||||
let rec encode_resource_logs (v:Logs_types.resource_logs) encoder =
|
||||
begin match v.Logs_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_logs x) encoder;
|
||||
) v.Logs_types.scope_logs;
|
||||
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Logs_types.schema_url encoder;
|
||||
()
|
||||
|
||||
let rec encode_logs_data (v:Logs_types.logs_data) encoder =
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_resource_logs x) encoder;
|
||||
) v.Logs_types.resource_logs;
|
||||
()
|
||||
|
||||
let rec encode_log_record_flags (v:Logs_types.log_record_flags) encoder =
|
||||
match v with
|
||||
| Logs_types.Log_record_flags_do_not_use -> Pbrt.Encoder.int_as_varint (0) encoder
|
||||
| Logs_types.Log_record_flags_trace_flags_mask -> Pbrt.Encoder.int_as_varint 255 encoder
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
(** logs.proto Binary Encoding *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_severity_number : Logs_types.severity_number -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_severity_number v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_log_record : Logs_types.log_record -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_log_record v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_scope_logs : Logs_types.scope_logs -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_scope_logs v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_resource_logs : Logs_types.resource_logs -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_resource_logs v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_logs_data : Logs_types.logs_data -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_logs_data v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_log_record_flags : Logs_types.log_record_flags -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_log_record_flags v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_severity_number : Pbrt.Decoder.t -> Logs_types.severity_number
|
||||
(** [decode_severity_number decoder] decodes a [severity_number] value from [decoder] *)
|
||||
|
||||
val decode_log_record : Pbrt.Decoder.t -> Logs_types.log_record
|
||||
(** [decode_log_record decoder] decodes a [log_record] value from [decoder] *)
|
||||
|
||||
val decode_scope_logs : Pbrt.Decoder.t -> Logs_types.scope_logs
|
||||
(** [decode_scope_logs decoder] decodes a [scope_logs] value from [decoder] *)
|
||||
|
||||
val decode_resource_logs : Pbrt.Decoder.t -> Logs_types.resource_logs
|
||||
(** [decode_resource_logs decoder] decodes a [resource_logs] value from [decoder] *)
|
||||
|
||||
val decode_logs_data : Pbrt.Decoder.t -> Logs_types.logs_data
|
||||
(** [decode_logs_data decoder] decodes a [logs_data] value from [decoder] *)
|
||||
|
||||
val decode_log_record_flags : Pbrt.Decoder.t -> Logs_types.log_record_flags
|
||||
(** [decode_log_record_flags decoder] decodes a [log_record_flags] value from [decoder] *)
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
let rec pp_severity_number fmt (v:Logs_types.severity_number) =
|
||||
match v with
|
||||
| Logs_types.Severity_number_unspecified -> Format.fprintf fmt "Severity_number_unspecified"
|
||||
| Logs_types.Severity_number_trace -> Format.fprintf fmt "Severity_number_trace"
|
||||
| Logs_types.Severity_number_trace2 -> Format.fprintf fmt "Severity_number_trace2"
|
||||
| Logs_types.Severity_number_trace3 -> Format.fprintf fmt "Severity_number_trace3"
|
||||
| Logs_types.Severity_number_trace4 -> Format.fprintf fmt "Severity_number_trace4"
|
||||
| Logs_types.Severity_number_debug -> Format.fprintf fmt "Severity_number_debug"
|
||||
| Logs_types.Severity_number_debug2 -> Format.fprintf fmt "Severity_number_debug2"
|
||||
| Logs_types.Severity_number_debug3 -> Format.fprintf fmt "Severity_number_debug3"
|
||||
| Logs_types.Severity_number_debug4 -> Format.fprintf fmt "Severity_number_debug4"
|
||||
| Logs_types.Severity_number_info -> Format.fprintf fmt "Severity_number_info"
|
||||
| Logs_types.Severity_number_info2 -> Format.fprintf fmt "Severity_number_info2"
|
||||
| Logs_types.Severity_number_info3 -> Format.fprintf fmt "Severity_number_info3"
|
||||
| Logs_types.Severity_number_info4 -> Format.fprintf fmt "Severity_number_info4"
|
||||
| Logs_types.Severity_number_warn -> Format.fprintf fmt "Severity_number_warn"
|
||||
| Logs_types.Severity_number_warn2 -> Format.fprintf fmt "Severity_number_warn2"
|
||||
| Logs_types.Severity_number_warn3 -> Format.fprintf fmt "Severity_number_warn3"
|
||||
| Logs_types.Severity_number_warn4 -> Format.fprintf fmt "Severity_number_warn4"
|
||||
| Logs_types.Severity_number_error -> Format.fprintf fmt "Severity_number_error"
|
||||
| Logs_types.Severity_number_error2 -> Format.fprintf fmt "Severity_number_error2"
|
||||
| Logs_types.Severity_number_error3 -> Format.fprintf fmt "Severity_number_error3"
|
||||
| Logs_types.Severity_number_error4 -> Format.fprintf fmt "Severity_number_error4"
|
||||
| Logs_types.Severity_number_fatal -> Format.fprintf fmt "Severity_number_fatal"
|
||||
| Logs_types.Severity_number_fatal2 -> Format.fprintf fmt "Severity_number_fatal2"
|
||||
| Logs_types.Severity_number_fatal3 -> Format.fprintf fmt "Severity_number_fatal3"
|
||||
| Logs_types.Severity_number_fatal4 -> Format.fprintf fmt "Severity_number_fatal4"
|
||||
|
||||
let rec pp_log_record fmt (v:Logs_types.log_record) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Logs_types.time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "observed_time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Logs_types.observed_time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "severity_number" pp_severity_number fmt v.Logs_types.severity_number;
|
||||
Pbrt.Pp.pp_record_field ~first:false "severity_text" Pbrt.Pp.pp_string fmt v.Logs_types.severity_text;
|
||||
Pbrt.Pp.pp_record_field ~first:false "body" (Pbrt.Pp.pp_option Common_pp.pp_any_value) fmt v.Logs_types.body;
|
||||
Pbrt.Pp.pp_record_field ~first:false "attributes" (Pbrt.Pp.pp_list Common_pp.pp_key_value) fmt v.Logs_types.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_attributes_count" Pbrt.Pp.pp_int32 fmt v.Logs_types.dropped_attributes_count;
|
||||
Pbrt.Pp.pp_record_field ~first:false "flags" Pbrt.Pp.pp_int32 fmt v.Logs_types.flags;
|
||||
Pbrt.Pp.pp_record_field ~first:false "trace_id" Pbrt.Pp.pp_bytes fmt v.Logs_types.trace_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "span_id" Pbrt.Pp.pp_bytes fmt v.Logs_types.span_id;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_scope_logs fmt (v:Logs_types.scope_logs) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "scope" (Pbrt.Pp.pp_option Common_pp.pp_instrumentation_scope) fmt v.Logs_types.scope;
|
||||
Pbrt.Pp.pp_record_field ~first:false "log_records" (Pbrt.Pp.pp_list pp_log_record) fmt v.Logs_types.log_records;
|
||||
Pbrt.Pp.pp_record_field ~first:false "schema_url" Pbrt.Pp.pp_string fmt v.Logs_types.schema_url;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_resource_logs fmt (v:Logs_types.resource_logs) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource" (Pbrt.Pp.pp_option Resource_pp.pp_resource) fmt v.Logs_types.resource;
|
||||
Pbrt.Pp.pp_record_field ~first:false "scope_logs" (Pbrt.Pp.pp_list pp_scope_logs) fmt v.Logs_types.scope_logs;
|
||||
Pbrt.Pp.pp_record_field ~first:false "schema_url" Pbrt.Pp.pp_string fmt v.Logs_types.schema_url;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_logs_data fmt (v:Logs_types.logs_data) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource_logs" (Pbrt.Pp.pp_list pp_resource_logs) fmt v.Logs_types.resource_logs;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_log_record_flags fmt (v:Logs_types.log_record_flags) =
|
||||
match v with
|
||||
| Logs_types.Log_record_flags_do_not_use -> Format.fprintf fmt "Log_record_flags_do_not_use"
|
||||
| Logs_types.Log_record_flags_trace_flags_mask -> Format.fprintf fmt "Log_record_flags_trace_flags_mask"
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
(** logs.proto Pretty Printing *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_severity_number : Format.formatter -> Logs_types.severity_number -> unit
|
||||
(** [pp_severity_number v] formats v *)
|
||||
|
||||
val pp_log_record : Format.formatter -> Logs_types.log_record -> unit
|
||||
(** [pp_log_record v] formats v *)
|
||||
|
||||
val pp_scope_logs : Format.formatter -> Logs_types.scope_logs -> unit
|
||||
(** [pp_scope_logs v] formats v *)
|
||||
|
||||
val pp_resource_logs : Format.formatter -> Logs_types.resource_logs -> unit
|
||||
(** [pp_resource_logs v] formats v *)
|
||||
|
||||
val pp_logs_data : Format.formatter -> Logs_types.logs_data -> unit
|
||||
(** [pp_logs_data v] formats v *)
|
||||
|
||||
val pp_log_record_flags : Format.formatter -> Logs_types.log_record_flags -> unit
|
||||
(** [pp_log_record_flags v] formats v *)
|
||||
243
src/proto/logs_service.ml
Normal file
243
src/proto/logs_service.ml
Normal file
|
|
@ -0,0 +1,243 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type export_logs_service_request = {
|
||||
resource_logs : Logs.resource_logs list;
|
||||
}
|
||||
|
||||
type export_logs_partial_success = {
|
||||
rejected_log_records : int64;
|
||||
error_message : string;
|
||||
}
|
||||
|
||||
type export_logs_service_response = {
|
||||
partial_success : export_logs_partial_success option;
|
||||
}
|
||||
|
||||
let rec default_export_logs_service_request
|
||||
?resource_logs:((resource_logs:Logs.resource_logs list) = [])
|
||||
() : export_logs_service_request = {
|
||||
resource_logs;
|
||||
}
|
||||
|
||||
let rec default_export_logs_partial_success
|
||||
?rejected_log_records:((rejected_log_records:int64) = 0L)
|
||||
?error_message:((error_message:string) = "")
|
||||
() : export_logs_partial_success = {
|
||||
rejected_log_records;
|
||||
error_message;
|
||||
}
|
||||
|
||||
let rec default_export_logs_service_response
|
||||
?partial_success:((partial_success:export_logs_partial_success option) = None)
|
||||
() : export_logs_service_response = {
|
||||
partial_success;
|
||||
}
|
||||
|
||||
type export_logs_service_request_mutable = {
|
||||
mutable resource_logs : Logs.resource_logs list;
|
||||
}
|
||||
|
||||
let default_export_logs_service_request_mutable () : export_logs_service_request_mutable = {
|
||||
resource_logs = [];
|
||||
}
|
||||
|
||||
type export_logs_partial_success_mutable = {
|
||||
mutable rejected_log_records : int64;
|
||||
mutable error_message : string;
|
||||
}
|
||||
|
||||
let default_export_logs_partial_success_mutable () : export_logs_partial_success_mutable = {
|
||||
rejected_log_records = 0L;
|
||||
error_message = "";
|
||||
}
|
||||
|
||||
type export_logs_service_response_mutable = {
|
||||
mutable partial_success : export_logs_partial_success option;
|
||||
}
|
||||
|
||||
let default_export_logs_service_response_mutable () : export_logs_service_response_mutable = {
|
||||
partial_success = None;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
let rec make_export_logs_service_request
|
||||
~(resource_logs:Logs.resource_logs list)
|
||||
() : export_logs_service_request = {
|
||||
resource_logs;
|
||||
}
|
||||
|
||||
let rec make_export_logs_partial_success
|
||||
~(rejected_log_records:int64)
|
||||
~(error_message:string)
|
||||
() : export_logs_partial_success = {
|
||||
rejected_log_records;
|
||||
error_message;
|
||||
}
|
||||
|
||||
let rec make_export_logs_service_response
|
||||
?partial_success:((partial_success:export_logs_partial_success option) = None)
|
||||
() : export_logs_service_response = {
|
||||
partial_success;
|
||||
}
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
let rec pp_export_logs_service_request fmt (v:export_logs_service_request) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource_logs" (Pbrt.Pp.pp_list Logs.pp_resource_logs) fmt v.resource_logs;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_export_logs_partial_success fmt (v:export_logs_partial_success) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "rejected_log_records" Pbrt.Pp.pp_int64 fmt v.rejected_log_records;
|
||||
Pbrt.Pp.pp_record_field ~first:false "error_message" Pbrt.Pp.pp_string fmt v.error_message;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_export_logs_service_response fmt (v:export_logs_service_response) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "partial_success" (Pbrt.Pp.pp_option pp_export_logs_partial_success) fmt v.partial_success;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
let rec encode_pb_export_logs_service_request (v:export_logs_service_request) encoder =
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested Logs.encode_pb_resource_logs x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
) v.resource_logs encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_export_logs_partial_success (v:export_logs_partial_success) encoder =
|
||||
Pbrt.Encoder.int64_as_varint v.rejected_log_records encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Varint encoder;
|
||||
Pbrt.Encoder.string v.error_message encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_export_logs_service_response (v:export_logs_service_response) encoder =
|
||||
begin match v.partial_success with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.nested encode_pb_export_logs_partial_success x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
let rec decode_pb_export_logs_service_request d =
|
||||
let v = default_export_logs_service_request_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.resource_logs <- List.rev v.resource_logs;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.resource_logs <- (Logs.decode_pb_resource_logs (Pbrt.Decoder.nested d)) :: v.resource_logs;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_logs_service_request), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
resource_logs = v.resource_logs;
|
||||
} : export_logs_service_request)
|
||||
|
||||
let rec decode_pb_export_logs_partial_success d =
|
||||
let v = default_export_logs_partial_success_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Varint) -> begin
|
||||
v.rejected_log_records <- Pbrt.Decoder.int64_as_varint d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_logs_partial_success), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.error_message <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_logs_partial_success), field(2)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
rejected_log_records = v.rejected_log_records;
|
||||
error_message = v.error_message;
|
||||
} : export_logs_partial_success)
|
||||
|
||||
let rec decode_pb_export_logs_service_response d =
|
||||
let v = default_export_logs_service_response_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.partial_success <- Some (decode_pb_export_logs_partial_success (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_logs_service_response), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
partial_success = v.partial_success;
|
||||
} : export_logs_service_response)
|
||||
|
||||
module LogsService = struct
|
||||
open Pbrt_services.Value_mode
|
||||
module Client = struct
|
||||
open Pbrt_services
|
||||
|
||||
let export : (export_logs_service_request, unary, export_logs_service_response, unary) Client.rpc =
|
||||
(Client.mk_rpc
|
||||
~package:["opentelemetry";"proto";"collector";"logs";"v1"]
|
||||
~service_name:"LogsService" ~rpc_name:"Export"
|
||||
~req_mode:Client.Unary
|
||||
~res_mode:Client.Unary
|
||||
~encode_json_req:encode_json_export_logs_service_request
|
||||
~encode_pb_req:encode_pb_export_logs_service_request
|
||||
~decode_json_res:decode_json_export_logs_service_response
|
||||
~decode_pb_res:decode_pb_export_logs_service_response
|
||||
() : (export_logs_service_request, unary, export_logs_service_response, unary) Client.rpc)
|
||||
end
|
||||
|
||||
module Server = struct
|
||||
open Pbrt_services
|
||||
|
||||
let _rpc_export : (export_logs_service_request,unary,export_logs_service_response,unary) Server.rpc =
|
||||
(Server.mk_rpc ~name:"Export"
|
||||
~req_mode:Server.Unary
|
||||
~res_mode:Server.Unary
|
||||
~encode_json_res:encode_json_export_logs_service_response
|
||||
~encode_pb_res:encode_pb_export_logs_service_response
|
||||
~decode_json_req:decode_json_export_logs_service_request
|
||||
~decode_pb_req:decode_pb_export_logs_service_request
|
||||
() : _ Server.rpc)
|
||||
|
||||
let make
|
||||
~export
|
||||
() : _ Server.t =
|
||||
{ Server.
|
||||
service_name="LogsService";
|
||||
package=["opentelemetry";"proto";"collector";"logs";"v1"];
|
||||
handlers=[
|
||||
(export _rpc_export);
|
||||
];
|
||||
}
|
||||
end
|
||||
|
||||
end
|
||||
122
src/proto/logs_service.mli
Normal file
122
src/proto/logs_service.mli
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
|
||||
(** Code for logs_service.proto *)
|
||||
|
||||
(* generated from "../../vendor/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.proto", do not edit *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type export_logs_service_request = {
|
||||
resource_logs : Logs.resource_logs list;
|
||||
}
|
||||
|
||||
type export_logs_partial_success = {
|
||||
rejected_log_records : int64;
|
||||
error_message : string;
|
||||
}
|
||||
|
||||
type export_logs_service_response = {
|
||||
partial_success : export_logs_partial_success option;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Basic values} *)
|
||||
|
||||
val default_export_logs_service_request :
|
||||
?resource_logs:Logs.resource_logs list ->
|
||||
unit ->
|
||||
export_logs_service_request
|
||||
(** [default_export_logs_service_request ()] is the default value for type [export_logs_service_request] *)
|
||||
|
||||
val default_export_logs_partial_success :
|
||||
?rejected_log_records:int64 ->
|
||||
?error_message:string ->
|
||||
unit ->
|
||||
export_logs_partial_success
|
||||
(** [default_export_logs_partial_success ()] is the default value for type [export_logs_partial_success] *)
|
||||
|
||||
val default_export_logs_service_response :
|
||||
?partial_success:export_logs_partial_success option ->
|
||||
unit ->
|
||||
export_logs_service_response
|
||||
(** [default_export_logs_service_response ()] is the default value for type [export_logs_service_response] *)
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
val make_export_logs_service_request :
|
||||
resource_logs:Logs.resource_logs list ->
|
||||
unit ->
|
||||
export_logs_service_request
|
||||
(** [make_export_logs_service_request … ()] is a builder for type [export_logs_service_request] *)
|
||||
|
||||
val make_export_logs_partial_success :
|
||||
rejected_log_records:int64 ->
|
||||
error_message:string ->
|
||||
unit ->
|
||||
export_logs_partial_success
|
||||
(** [make_export_logs_partial_success … ()] is a builder for type [export_logs_partial_success] *)
|
||||
|
||||
val make_export_logs_service_response :
|
||||
?partial_success:export_logs_partial_success option ->
|
||||
unit ->
|
||||
export_logs_service_response
|
||||
(** [make_export_logs_service_response … ()] is a builder for type [export_logs_service_response] *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_export_logs_service_request : Format.formatter -> export_logs_service_request -> unit
|
||||
(** [pp_export_logs_service_request v] formats v *)
|
||||
|
||||
val pp_export_logs_partial_success : Format.formatter -> export_logs_partial_success -> unit
|
||||
(** [pp_export_logs_partial_success v] formats v *)
|
||||
|
||||
val pp_export_logs_service_response : Format.formatter -> export_logs_service_response -> unit
|
||||
(** [pp_export_logs_service_response v] formats v *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_pb_export_logs_service_request : export_logs_service_request -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_export_logs_service_request v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_export_logs_partial_success : export_logs_partial_success -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_export_logs_partial_success v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_export_logs_service_response : export_logs_service_response -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_export_logs_service_response v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_pb_export_logs_service_request : Pbrt.Decoder.t -> export_logs_service_request
|
||||
(** [decode_pb_export_logs_service_request decoder] decodes a [export_logs_service_request] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_export_logs_partial_success : Pbrt.Decoder.t -> export_logs_partial_success
|
||||
(** [decode_pb_export_logs_partial_success decoder] decodes a [export_logs_partial_success] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_export_logs_service_response : Pbrt.Decoder.t -> export_logs_service_response
|
||||
(** [decode_pb_export_logs_service_response decoder] decodes a [export_logs_service_response] binary value from [decoder] *)
|
||||
|
||||
|
||||
(** {2 Services} *)
|
||||
|
||||
(** LogsService service *)
|
||||
module LogsService : sig
|
||||
open Pbrt_services
|
||||
open Pbrt_services.Value_mode
|
||||
|
||||
module Client : sig
|
||||
|
||||
val export : (export_logs_service_request, unary, export_logs_service_response, unary) Client.rpc
|
||||
end
|
||||
|
||||
module Server : sig
|
||||
(** Produce a server implementation from handlers *)
|
||||
val make :
|
||||
export:((export_logs_service_request, unary, export_logs_service_response, unary) Server.rpc -> 'handler) ->
|
||||
unit -> 'handler Pbrt_services.Server.t
|
||||
end
|
||||
end
|
||||
|
|
@ -1,112 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type export_logs_service_request_mutable = {
|
||||
mutable resource_logs : Logs_types.resource_logs list;
|
||||
}
|
||||
|
||||
let default_export_logs_service_request_mutable () : export_logs_service_request_mutable = {
|
||||
resource_logs = [];
|
||||
}
|
||||
|
||||
type export_logs_partial_success_mutable = {
|
||||
mutable rejected_log_records : int64;
|
||||
mutable error_message : string;
|
||||
}
|
||||
|
||||
let default_export_logs_partial_success_mutable () : export_logs_partial_success_mutable = {
|
||||
rejected_log_records = 0L;
|
||||
error_message = "";
|
||||
}
|
||||
|
||||
type export_logs_service_response_mutable = {
|
||||
mutable partial_success : Logs_service_types.export_logs_partial_success option;
|
||||
}
|
||||
|
||||
let default_export_logs_service_response_mutable () : export_logs_service_response_mutable = {
|
||||
partial_success = None;
|
||||
}
|
||||
|
||||
|
||||
let rec decode_export_logs_service_request d =
|
||||
let v = default_export_logs_service_request_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.resource_logs <- List.rev v.resource_logs;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.resource_logs <- (Logs_pb.decode_resource_logs (Pbrt.Decoder.nested d)) :: v.resource_logs;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_logs_service_request), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Logs_service_types.resource_logs = v.resource_logs;
|
||||
} : Logs_service_types.export_logs_service_request)
|
||||
|
||||
let rec decode_export_logs_partial_success d =
|
||||
let v = default_export_logs_partial_success_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Varint) -> begin
|
||||
v.rejected_log_records <- Pbrt.Decoder.int64_as_varint d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_logs_partial_success), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.error_message <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_logs_partial_success), field(2)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Logs_service_types.rejected_log_records = v.rejected_log_records;
|
||||
Logs_service_types.error_message = v.error_message;
|
||||
} : Logs_service_types.export_logs_partial_success)
|
||||
|
||||
let rec decode_export_logs_service_response d =
|
||||
let v = default_export_logs_service_response_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.partial_success <- Some (decode_export_logs_partial_success (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_logs_service_response), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Logs_service_types.partial_success = v.partial_success;
|
||||
} : Logs_service_types.export_logs_service_response)
|
||||
|
||||
let rec encode_export_logs_service_request (v:Logs_service_types.export_logs_service_request) encoder =
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (Logs_pb.encode_resource_logs x) encoder;
|
||||
) v.Logs_service_types.resource_logs;
|
||||
()
|
||||
|
||||
let rec encode_export_logs_partial_success (v:Logs_service_types.export_logs_partial_success) encoder =
|
||||
Pbrt.Encoder.key (1, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int64_as_varint v.Logs_service_types.rejected_log_records encoder;
|
||||
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Logs_service_types.error_message encoder;
|
||||
()
|
||||
|
||||
let rec encode_export_logs_service_response (v:Logs_service_types.export_logs_service_response) encoder =
|
||||
begin match v.Logs_service_types.partial_success with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_export_logs_partial_success x) encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
()
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
(** logs_service.proto Binary Encoding *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_export_logs_service_request : Logs_service_types.export_logs_service_request -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_export_logs_service_request v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_export_logs_partial_success : Logs_service_types.export_logs_partial_success -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_export_logs_partial_success v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_export_logs_service_response : Logs_service_types.export_logs_service_response -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_export_logs_service_response v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_export_logs_service_request : Pbrt.Decoder.t -> Logs_service_types.export_logs_service_request
|
||||
(** [decode_export_logs_service_request decoder] decodes a [export_logs_service_request] value from [decoder] *)
|
||||
|
||||
val decode_export_logs_partial_success : Pbrt.Decoder.t -> Logs_service_types.export_logs_partial_success
|
||||
(** [decode_export_logs_partial_success decoder] decodes a [export_logs_partial_success] value from [decoder] *)
|
||||
|
||||
val decode_export_logs_service_response : Pbrt.Decoder.t -> Logs_service_types.export_logs_service_response
|
||||
(** [decode_export_logs_service_response decoder] decodes a [export_logs_service_response] value from [decoder] *)
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
let rec pp_export_logs_service_request fmt (v:Logs_service_types.export_logs_service_request) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource_logs" (Pbrt.Pp.pp_list Logs_pp.pp_resource_logs) fmt v.Logs_service_types.resource_logs;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_export_logs_partial_success fmt (v:Logs_service_types.export_logs_partial_success) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "rejected_log_records" Pbrt.Pp.pp_int64 fmt v.Logs_service_types.rejected_log_records;
|
||||
Pbrt.Pp.pp_record_field ~first:false "error_message" Pbrt.Pp.pp_string fmt v.Logs_service_types.error_message;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_export_logs_service_response fmt (v:Logs_service_types.export_logs_service_response) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "partial_success" (Pbrt.Pp.pp_option pp_export_logs_partial_success) fmt v.Logs_service_types.partial_success;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
(** logs_service.proto Pretty Printing *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_export_logs_service_request : Format.formatter -> Logs_service_types.export_logs_service_request -> unit
|
||||
(** [pp_export_logs_service_request v] formats v *)
|
||||
|
||||
val pp_export_logs_partial_success : Format.formatter -> Logs_service_types.export_logs_partial_success -> unit
|
||||
(** [pp_export_logs_partial_success v] formats v *)
|
||||
|
||||
val pp_export_logs_service_response : Format.formatter -> Logs_service_types.export_logs_service_response -> unit
|
||||
(** [pp_export_logs_service_response v] formats v *)
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
|
||||
type export_logs_service_request = {
|
||||
resource_logs : Logs_types.resource_logs list;
|
||||
}
|
||||
|
||||
type export_logs_partial_success = {
|
||||
rejected_log_records : int64;
|
||||
error_message : string;
|
||||
}
|
||||
|
||||
type export_logs_service_response = {
|
||||
partial_success : export_logs_partial_success option;
|
||||
}
|
||||
|
||||
let rec default_export_logs_service_request
|
||||
?resource_logs:((resource_logs:Logs_types.resource_logs list) = [])
|
||||
() : export_logs_service_request = {
|
||||
resource_logs;
|
||||
}
|
||||
|
||||
let rec default_export_logs_partial_success
|
||||
?rejected_log_records:((rejected_log_records:int64) = 0L)
|
||||
?error_message:((error_message:string) = "")
|
||||
() : export_logs_partial_success = {
|
||||
rejected_log_records;
|
||||
error_message;
|
||||
}
|
||||
|
||||
let rec default_export_logs_service_response
|
||||
?partial_success:((partial_success:export_logs_partial_success option) = None)
|
||||
() : export_logs_service_response = {
|
||||
partial_success;
|
||||
}
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
(** logs_service.proto Types *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type export_logs_service_request = {
|
||||
resource_logs : Logs_types.resource_logs list;
|
||||
}
|
||||
|
||||
type export_logs_partial_success = {
|
||||
rejected_log_records : int64;
|
||||
error_message : string;
|
||||
}
|
||||
|
||||
type export_logs_service_response = {
|
||||
partial_success : export_logs_partial_success option;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Default values} *)
|
||||
|
||||
val default_export_logs_service_request :
|
||||
?resource_logs:Logs_types.resource_logs list ->
|
||||
unit ->
|
||||
export_logs_service_request
|
||||
(** [default_export_logs_service_request ()] is the default value for type [export_logs_service_request] *)
|
||||
|
||||
val default_export_logs_partial_success :
|
||||
?rejected_log_records:int64 ->
|
||||
?error_message:string ->
|
||||
unit ->
|
||||
export_logs_partial_success
|
||||
(** [default_export_logs_partial_success ()] is the default value for type [export_logs_partial_success] *)
|
||||
|
||||
val default_export_logs_service_response :
|
||||
?partial_success:export_logs_partial_success option ->
|
||||
unit ->
|
||||
export_logs_service_response
|
||||
(** [default_export_logs_service_response ()] is the default value for type [export_logs_service_response] *)
|
||||
|
|
@ -1,116 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
|
||||
type severity_number =
|
||||
| Severity_number_unspecified
|
||||
| Severity_number_trace
|
||||
| Severity_number_trace2
|
||||
| Severity_number_trace3
|
||||
| Severity_number_trace4
|
||||
| Severity_number_debug
|
||||
| Severity_number_debug2
|
||||
| Severity_number_debug3
|
||||
| Severity_number_debug4
|
||||
| Severity_number_info
|
||||
| Severity_number_info2
|
||||
| Severity_number_info3
|
||||
| Severity_number_info4
|
||||
| Severity_number_warn
|
||||
| Severity_number_warn2
|
||||
| Severity_number_warn3
|
||||
| Severity_number_warn4
|
||||
| Severity_number_error
|
||||
| Severity_number_error2
|
||||
| Severity_number_error3
|
||||
| Severity_number_error4
|
||||
| Severity_number_fatal
|
||||
| Severity_number_fatal2
|
||||
| Severity_number_fatal3
|
||||
| Severity_number_fatal4
|
||||
|
||||
type log_record = {
|
||||
time_unix_nano : int64;
|
||||
observed_time_unix_nano : int64;
|
||||
severity_number : severity_number;
|
||||
severity_text : string;
|
||||
body : Common_types.any_value option;
|
||||
attributes : Common_types.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
flags : int32;
|
||||
trace_id : bytes;
|
||||
span_id : bytes;
|
||||
}
|
||||
|
||||
type scope_logs = {
|
||||
scope : Common_types.instrumentation_scope option;
|
||||
log_records : log_record list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type resource_logs = {
|
||||
resource : Resource_types.resource option;
|
||||
scope_logs : scope_logs list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type logs_data = {
|
||||
resource_logs : resource_logs list;
|
||||
}
|
||||
|
||||
type log_record_flags =
|
||||
| Log_record_flags_do_not_use
|
||||
| Log_record_flags_trace_flags_mask
|
||||
|
||||
let rec default_severity_number () = (Severity_number_unspecified:severity_number)
|
||||
|
||||
let rec default_log_record
|
||||
?time_unix_nano:((time_unix_nano:int64) = 0L)
|
||||
?observed_time_unix_nano:((observed_time_unix_nano:int64) = 0L)
|
||||
?severity_number:((severity_number:severity_number) = default_severity_number ())
|
||||
?severity_text:((severity_text:string) = "")
|
||||
?body:((body:Common_types.any_value option) = None)
|
||||
?attributes:((attributes:Common_types.key_value list) = [])
|
||||
?dropped_attributes_count:((dropped_attributes_count:int32) = 0l)
|
||||
?flags:((flags:int32) = 0l)
|
||||
?trace_id:((trace_id:bytes) = Bytes.create 0)
|
||||
?span_id:((span_id:bytes) = Bytes.create 0)
|
||||
() : log_record = {
|
||||
time_unix_nano;
|
||||
observed_time_unix_nano;
|
||||
severity_number;
|
||||
severity_text;
|
||||
body;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
flags;
|
||||
trace_id;
|
||||
span_id;
|
||||
}
|
||||
|
||||
let rec default_scope_logs
|
||||
?scope:((scope:Common_types.instrumentation_scope option) = None)
|
||||
?log_records:((log_records:log_record list) = [])
|
||||
?schema_url:((schema_url:string) = "")
|
||||
() : scope_logs = {
|
||||
scope;
|
||||
log_records;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec default_resource_logs
|
||||
?resource:((resource:Resource_types.resource option) = None)
|
||||
?scope_logs:((scope_logs:scope_logs list) = [])
|
||||
?schema_url:((schema_url:string) = "")
|
||||
() : resource_logs = {
|
||||
resource;
|
||||
scope_logs;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec default_logs_data
|
||||
?resource_logs:((resource_logs:resource_logs list) = [])
|
||||
() : logs_data = {
|
||||
resource_logs;
|
||||
}
|
||||
|
||||
let rec default_log_record_flags () = (Log_record_flags_do_not_use:log_record_flags)
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
(** logs.proto Types *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type severity_number =
|
||||
| Severity_number_unspecified
|
||||
| Severity_number_trace
|
||||
| Severity_number_trace2
|
||||
| Severity_number_trace3
|
||||
| Severity_number_trace4
|
||||
| Severity_number_debug
|
||||
| Severity_number_debug2
|
||||
| Severity_number_debug3
|
||||
| Severity_number_debug4
|
||||
| Severity_number_info
|
||||
| Severity_number_info2
|
||||
| Severity_number_info3
|
||||
| Severity_number_info4
|
||||
| Severity_number_warn
|
||||
| Severity_number_warn2
|
||||
| Severity_number_warn3
|
||||
| Severity_number_warn4
|
||||
| Severity_number_error
|
||||
| Severity_number_error2
|
||||
| Severity_number_error3
|
||||
| Severity_number_error4
|
||||
| Severity_number_fatal
|
||||
| Severity_number_fatal2
|
||||
| Severity_number_fatal3
|
||||
| Severity_number_fatal4
|
||||
|
||||
type log_record = {
|
||||
time_unix_nano : int64;
|
||||
observed_time_unix_nano : int64;
|
||||
severity_number : severity_number;
|
||||
severity_text : string;
|
||||
body : Common_types.any_value option;
|
||||
attributes : Common_types.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
flags : int32;
|
||||
trace_id : bytes;
|
||||
span_id : bytes;
|
||||
}
|
||||
|
||||
type scope_logs = {
|
||||
scope : Common_types.instrumentation_scope option;
|
||||
log_records : log_record list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type resource_logs = {
|
||||
resource : Resource_types.resource option;
|
||||
scope_logs : scope_logs list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type logs_data = {
|
||||
resource_logs : resource_logs list;
|
||||
}
|
||||
|
||||
type log_record_flags =
|
||||
| Log_record_flags_do_not_use
|
||||
| Log_record_flags_trace_flags_mask
|
||||
|
||||
|
||||
(** {2 Default values} *)
|
||||
|
||||
val default_severity_number : unit -> severity_number
|
||||
(** [default_severity_number ()] is the default value for type [severity_number] *)
|
||||
|
||||
val default_log_record :
|
||||
?time_unix_nano:int64 ->
|
||||
?observed_time_unix_nano:int64 ->
|
||||
?severity_number:severity_number ->
|
||||
?severity_text:string ->
|
||||
?body:Common_types.any_value option ->
|
||||
?attributes:Common_types.key_value list ->
|
||||
?dropped_attributes_count:int32 ->
|
||||
?flags:int32 ->
|
||||
?trace_id:bytes ->
|
||||
?span_id:bytes ->
|
||||
unit ->
|
||||
log_record
|
||||
(** [default_log_record ()] is the default value for type [log_record] *)
|
||||
|
||||
val default_scope_logs :
|
||||
?scope:Common_types.instrumentation_scope option ->
|
||||
?log_records:log_record list ->
|
||||
?schema_url:string ->
|
||||
unit ->
|
||||
scope_logs
|
||||
(** [default_scope_logs ()] is the default value for type [scope_logs] *)
|
||||
|
||||
val default_resource_logs :
|
||||
?resource:Resource_types.resource option ->
|
||||
?scope_logs:scope_logs list ->
|
||||
?schema_url:string ->
|
||||
unit ->
|
||||
resource_logs
|
||||
(** [default_resource_logs ()] is the default value for type [resource_logs] *)
|
||||
|
||||
val default_logs_data :
|
||||
?resource_logs:resource_logs list ->
|
||||
unit ->
|
||||
logs_data
|
||||
(** [default_logs_data ()] is the default value for type [logs_data] *)
|
||||
|
||||
val default_log_record_flags : unit -> log_record_flags
|
||||
(** [default_log_record_flags ()] is the default value for type [log_record_flags] *)
|
||||
2022
src/proto/metrics.ml
Normal file
2022
src/proto/metrics.ml
Normal file
File diff suppressed because it is too large
Load diff
668
src/proto/metrics.mli
Normal file
668
src/proto/metrics.mli
Normal file
|
|
@ -0,0 +1,668 @@
|
|||
|
||||
(** Code for metrics.proto *)
|
||||
|
||||
(* generated from "../../vendor/opentelemetry-proto/opentelemetry/proto/metrics/v1/metrics.proto", do not edit *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type exemplar_value =
|
||||
| As_double of float
|
||||
| As_int of int64
|
||||
|
||||
and exemplar = {
|
||||
filtered_attributes : Common.key_value list;
|
||||
time_unix_nano : int64;
|
||||
value : exemplar_value;
|
||||
span_id : bytes;
|
||||
trace_id : bytes;
|
||||
}
|
||||
|
||||
type number_data_point_value =
|
||||
| As_double of float
|
||||
| As_int of int64
|
||||
|
||||
and number_data_point = {
|
||||
attributes : Common.key_value list;
|
||||
start_time_unix_nano : int64;
|
||||
time_unix_nano : int64;
|
||||
value : number_data_point_value;
|
||||
exemplars : exemplar list;
|
||||
flags : int32;
|
||||
}
|
||||
|
||||
type gauge = {
|
||||
data_points : number_data_point list;
|
||||
}
|
||||
|
||||
type aggregation_temporality =
|
||||
| Aggregation_temporality_unspecified
|
||||
| Aggregation_temporality_delta
|
||||
| Aggregation_temporality_cumulative
|
||||
|
||||
type sum = {
|
||||
data_points : number_data_point list;
|
||||
aggregation_temporality : aggregation_temporality;
|
||||
is_monotonic : bool;
|
||||
}
|
||||
|
||||
type histogram_data_point = {
|
||||
attributes : Common.key_value list;
|
||||
start_time_unix_nano : int64;
|
||||
time_unix_nano : int64;
|
||||
count : int64;
|
||||
sum : float option;
|
||||
bucket_counts : int64 list;
|
||||
explicit_bounds : float list;
|
||||
exemplars : exemplar list;
|
||||
flags : int32;
|
||||
min : float option;
|
||||
max : float option;
|
||||
}
|
||||
|
||||
type histogram = {
|
||||
data_points : histogram_data_point list;
|
||||
aggregation_temporality : aggregation_temporality;
|
||||
}
|
||||
|
||||
type exponential_histogram_data_point_buckets = {
|
||||
offset : int32;
|
||||
bucket_counts : int64 list;
|
||||
}
|
||||
|
||||
type exponential_histogram_data_point = {
|
||||
attributes : Common.key_value list;
|
||||
start_time_unix_nano : int64;
|
||||
time_unix_nano : int64;
|
||||
count : int64;
|
||||
sum : float option;
|
||||
scale : int32;
|
||||
zero_count : int64;
|
||||
positive : exponential_histogram_data_point_buckets option;
|
||||
negative : exponential_histogram_data_point_buckets option;
|
||||
flags : int32;
|
||||
exemplars : exemplar list;
|
||||
min : float option;
|
||||
max : float option;
|
||||
zero_threshold : float;
|
||||
}
|
||||
|
||||
type exponential_histogram = {
|
||||
data_points : exponential_histogram_data_point list;
|
||||
aggregation_temporality : aggregation_temporality;
|
||||
}
|
||||
|
||||
type summary_data_point_value_at_quantile = {
|
||||
quantile : float;
|
||||
value : float;
|
||||
}
|
||||
|
||||
type summary_data_point = {
|
||||
attributes : Common.key_value list;
|
||||
start_time_unix_nano : int64;
|
||||
time_unix_nano : int64;
|
||||
count : int64;
|
||||
sum : float;
|
||||
quantile_values : summary_data_point_value_at_quantile list;
|
||||
flags : int32;
|
||||
}
|
||||
|
||||
type summary = {
|
||||
data_points : summary_data_point list;
|
||||
}
|
||||
|
||||
type metric_data =
|
||||
| Gauge of gauge
|
||||
| Sum of sum
|
||||
| Histogram of histogram
|
||||
| Exponential_histogram of exponential_histogram
|
||||
| Summary of summary
|
||||
|
||||
and metric = {
|
||||
name : string;
|
||||
description : string;
|
||||
unit_ : string;
|
||||
data : metric_data;
|
||||
}
|
||||
|
||||
type scope_metrics = {
|
||||
scope : Common.instrumentation_scope option;
|
||||
metrics : metric list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type resource_metrics = {
|
||||
resource : Resource.resource option;
|
||||
scope_metrics : scope_metrics list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type metrics_data = {
|
||||
resource_metrics : resource_metrics list;
|
||||
}
|
||||
|
||||
type data_point_flags =
|
||||
| Data_point_flags_do_not_use
|
||||
| Data_point_flags_no_recorded_value_mask
|
||||
|
||||
|
||||
(** {2 Basic values} *)
|
||||
|
||||
val default_exemplar_value : unit -> exemplar_value
|
||||
(** [default_exemplar_value ()] is the default value for type [exemplar_value] *)
|
||||
|
||||
val default_exemplar :
|
||||
?filtered_attributes:Common.key_value list ->
|
||||
?time_unix_nano:int64 ->
|
||||
?value:exemplar_value ->
|
||||
?span_id:bytes ->
|
||||
?trace_id:bytes ->
|
||||
unit ->
|
||||
exemplar
|
||||
(** [default_exemplar ()] is the default value for type [exemplar] *)
|
||||
|
||||
val default_number_data_point_value : unit -> number_data_point_value
|
||||
(** [default_number_data_point_value ()] is the default value for type [number_data_point_value] *)
|
||||
|
||||
val default_number_data_point :
|
||||
?attributes:Common.key_value list ->
|
||||
?start_time_unix_nano:int64 ->
|
||||
?time_unix_nano:int64 ->
|
||||
?value:number_data_point_value ->
|
||||
?exemplars:exemplar list ->
|
||||
?flags:int32 ->
|
||||
unit ->
|
||||
number_data_point
|
||||
(** [default_number_data_point ()] is the default value for type [number_data_point] *)
|
||||
|
||||
val default_gauge :
|
||||
?data_points:number_data_point list ->
|
||||
unit ->
|
||||
gauge
|
||||
(** [default_gauge ()] is the default value for type [gauge] *)
|
||||
|
||||
val default_aggregation_temporality : unit -> aggregation_temporality
|
||||
(** [default_aggregation_temporality ()] is the default value for type [aggregation_temporality] *)
|
||||
|
||||
val default_sum :
|
||||
?data_points:number_data_point list ->
|
||||
?aggregation_temporality:aggregation_temporality ->
|
||||
?is_monotonic:bool ->
|
||||
unit ->
|
||||
sum
|
||||
(** [default_sum ()] is the default value for type [sum] *)
|
||||
|
||||
val default_histogram_data_point :
|
||||
?attributes:Common.key_value list ->
|
||||
?start_time_unix_nano:int64 ->
|
||||
?time_unix_nano:int64 ->
|
||||
?count:int64 ->
|
||||
?sum:float option ->
|
||||
?bucket_counts:int64 list ->
|
||||
?explicit_bounds:float list ->
|
||||
?exemplars:exemplar list ->
|
||||
?flags:int32 ->
|
||||
?min:float option ->
|
||||
?max:float option ->
|
||||
unit ->
|
||||
histogram_data_point
|
||||
(** [default_histogram_data_point ()] is the default value for type [histogram_data_point] *)
|
||||
|
||||
val default_histogram :
|
||||
?data_points:histogram_data_point list ->
|
||||
?aggregation_temporality:aggregation_temporality ->
|
||||
unit ->
|
||||
histogram
|
||||
(** [default_histogram ()] is the default value for type [histogram] *)
|
||||
|
||||
val default_exponential_histogram_data_point_buckets :
|
||||
?offset:int32 ->
|
||||
?bucket_counts:int64 list ->
|
||||
unit ->
|
||||
exponential_histogram_data_point_buckets
|
||||
(** [default_exponential_histogram_data_point_buckets ()] is the default value for type [exponential_histogram_data_point_buckets] *)
|
||||
|
||||
val default_exponential_histogram_data_point :
|
||||
?attributes:Common.key_value list ->
|
||||
?start_time_unix_nano:int64 ->
|
||||
?time_unix_nano:int64 ->
|
||||
?count:int64 ->
|
||||
?sum:float option ->
|
||||
?scale:int32 ->
|
||||
?zero_count:int64 ->
|
||||
?positive:exponential_histogram_data_point_buckets option ->
|
||||
?negative:exponential_histogram_data_point_buckets option ->
|
||||
?flags:int32 ->
|
||||
?exemplars:exemplar list ->
|
||||
?min:float option ->
|
||||
?max:float option ->
|
||||
?zero_threshold:float ->
|
||||
unit ->
|
||||
exponential_histogram_data_point
|
||||
(** [default_exponential_histogram_data_point ()] is the default value for type [exponential_histogram_data_point] *)
|
||||
|
||||
val default_exponential_histogram :
|
||||
?data_points:exponential_histogram_data_point list ->
|
||||
?aggregation_temporality:aggregation_temporality ->
|
||||
unit ->
|
||||
exponential_histogram
|
||||
(** [default_exponential_histogram ()] is the default value for type [exponential_histogram] *)
|
||||
|
||||
val default_summary_data_point_value_at_quantile :
|
||||
?quantile:float ->
|
||||
?value:float ->
|
||||
unit ->
|
||||
summary_data_point_value_at_quantile
|
||||
(** [default_summary_data_point_value_at_quantile ()] is the default value for type [summary_data_point_value_at_quantile] *)
|
||||
|
||||
val default_summary_data_point :
|
||||
?attributes:Common.key_value list ->
|
||||
?start_time_unix_nano:int64 ->
|
||||
?time_unix_nano:int64 ->
|
||||
?count:int64 ->
|
||||
?sum:float ->
|
||||
?quantile_values:summary_data_point_value_at_quantile list ->
|
||||
?flags:int32 ->
|
||||
unit ->
|
||||
summary_data_point
|
||||
(** [default_summary_data_point ()] is the default value for type [summary_data_point] *)
|
||||
|
||||
val default_summary :
|
||||
?data_points:summary_data_point list ->
|
||||
unit ->
|
||||
summary
|
||||
(** [default_summary ()] is the default value for type [summary] *)
|
||||
|
||||
val default_metric_data : unit -> metric_data
|
||||
(** [default_metric_data ()] is the default value for type [metric_data] *)
|
||||
|
||||
val default_metric :
|
||||
?name:string ->
|
||||
?description:string ->
|
||||
?unit_:string ->
|
||||
?data:metric_data ->
|
||||
unit ->
|
||||
metric
|
||||
(** [default_metric ()] is the default value for type [metric] *)
|
||||
|
||||
val default_scope_metrics :
|
||||
?scope:Common.instrumentation_scope option ->
|
||||
?metrics:metric list ->
|
||||
?schema_url:string ->
|
||||
unit ->
|
||||
scope_metrics
|
||||
(** [default_scope_metrics ()] is the default value for type [scope_metrics] *)
|
||||
|
||||
val default_resource_metrics :
|
||||
?resource:Resource.resource option ->
|
||||
?scope_metrics:scope_metrics list ->
|
||||
?schema_url:string ->
|
||||
unit ->
|
||||
resource_metrics
|
||||
(** [default_resource_metrics ()] is the default value for type [resource_metrics] *)
|
||||
|
||||
val default_metrics_data :
|
||||
?resource_metrics:resource_metrics list ->
|
||||
unit ->
|
||||
metrics_data
|
||||
(** [default_metrics_data ()] is the default value for type [metrics_data] *)
|
||||
|
||||
val default_data_point_flags : unit -> data_point_flags
|
||||
(** [default_data_point_flags ()] is the default value for type [data_point_flags] *)
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
|
||||
val make_exemplar :
|
||||
filtered_attributes:Common.key_value list ->
|
||||
time_unix_nano:int64 ->
|
||||
value:exemplar_value ->
|
||||
span_id:bytes ->
|
||||
trace_id:bytes ->
|
||||
unit ->
|
||||
exemplar
|
||||
(** [make_exemplar … ()] is a builder for type [exemplar] *)
|
||||
|
||||
|
||||
val make_number_data_point :
|
||||
attributes:Common.key_value list ->
|
||||
start_time_unix_nano:int64 ->
|
||||
time_unix_nano:int64 ->
|
||||
value:number_data_point_value ->
|
||||
exemplars:exemplar list ->
|
||||
flags:int32 ->
|
||||
unit ->
|
||||
number_data_point
|
||||
(** [make_number_data_point … ()] is a builder for type [number_data_point] *)
|
||||
|
||||
val make_gauge :
|
||||
data_points:number_data_point list ->
|
||||
unit ->
|
||||
gauge
|
||||
(** [make_gauge … ()] is a builder for type [gauge] *)
|
||||
|
||||
|
||||
val make_sum :
|
||||
data_points:number_data_point list ->
|
||||
aggregation_temporality:aggregation_temporality ->
|
||||
is_monotonic:bool ->
|
||||
unit ->
|
||||
sum
|
||||
(** [make_sum … ()] is a builder for type [sum] *)
|
||||
|
||||
val make_histogram_data_point :
|
||||
attributes:Common.key_value list ->
|
||||
start_time_unix_nano:int64 ->
|
||||
time_unix_nano:int64 ->
|
||||
count:int64 ->
|
||||
?sum:float option ->
|
||||
bucket_counts:int64 list ->
|
||||
explicit_bounds:float list ->
|
||||
exemplars:exemplar list ->
|
||||
flags:int32 ->
|
||||
?min:float option ->
|
||||
?max:float option ->
|
||||
unit ->
|
||||
histogram_data_point
|
||||
(** [make_histogram_data_point … ()] is a builder for type [histogram_data_point] *)
|
||||
|
||||
val make_histogram :
|
||||
data_points:histogram_data_point list ->
|
||||
aggregation_temporality:aggregation_temporality ->
|
||||
unit ->
|
||||
histogram
|
||||
(** [make_histogram … ()] is a builder for type [histogram] *)
|
||||
|
||||
val make_exponential_histogram_data_point_buckets :
|
||||
offset:int32 ->
|
||||
bucket_counts:int64 list ->
|
||||
unit ->
|
||||
exponential_histogram_data_point_buckets
|
||||
(** [make_exponential_histogram_data_point_buckets … ()] is a builder for type [exponential_histogram_data_point_buckets] *)
|
||||
|
||||
val make_exponential_histogram_data_point :
|
||||
attributes:Common.key_value list ->
|
||||
start_time_unix_nano:int64 ->
|
||||
time_unix_nano:int64 ->
|
||||
count:int64 ->
|
||||
?sum:float option ->
|
||||
scale:int32 ->
|
||||
zero_count:int64 ->
|
||||
?positive:exponential_histogram_data_point_buckets option ->
|
||||
?negative:exponential_histogram_data_point_buckets option ->
|
||||
flags:int32 ->
|
||||
exemplars:exemplar list ->
|
||||
?min:float option ->
|
||||
?max:float option ->
|
||||
zero_threshold:float ->
|
||||
unit ->
|
||||
exponential_histogram_data_point
|
||||
(** [make_exponential_histogram_data_point … ()] is a builder for type [exponential_histogram_data_point] *)
|
||||
|
||||
val make_exponential_histogram :
|
||||
data_points:exponential_histogram_data_point list ->
|
||||
aggregation_temporality:aggregation_temporality ->
|
||||
unit ->
|
||||
exponential_histogram
|
||||
(** [make_exponential_histogram … ()] is a builder for type [exponential_histogram] *)
|
||||
|
||||
val make_summary_data_point_value_at_quantile :
|
||||
quantile:float ->
|
||||
value:float ->
|
||||
unit ->
|
||||
summary_data_point_value_at_quantile
|
||||
(** [make_summary_data_point_value_at_quantile … ()] is a builder for type [summary_data_point_value_at_quantile] *)
|
||||
|
||||
val make_summary_data_point :
|
||||
attributes:Common.key_value list ->
|
||||
start_time_unix_nano:int64 ->
|
||||
time_unix_nano:int64 ->
|
||||
count:int64 ->
|
||||
sum:float ->
|
||||
quantile_values:summary_data_point_value_at_quantile list ->
|
||||
flags:int32 ->
|
||||
unit ->
|
||||
summary_data_point
|
||||
(** [make_summary_data_point … ()] is a builder for type [summary_data_point] *)
|
||||
|
||||
val make_summary :
|
||||
data_points:summary_data_point list ->
|
||||
unit ->
|
||||
summary
|
||||
(** [make_summary … ()] is a builder for type [summary] *)
|
||||
|
||||
|
||||
val make_metric :
|
||||
name:string ->
|
||||
description:string ->
|
||||
unit_:string ->
|
||||
data:metric_data ->
|
||||
unit ->
|
||||
metric
|
||||
(** [make_metric … ()] is a builder for type [metric] *)
|
||||
|
||||
val make_scope_metrics :
|
||||
?scope:Common.instrumentation_scope option ->
|
||||
metrics:metric list ->
|
||||
schema_url:string ->
|
||||
unit ->
|
||||
scope_metrics
|
||||
(** [make_scope_metrics … ()] is a builder for type [scope_metrics] *)
|
||||
|
||||
val make_resource_metrics :
|
||||
?resource:Resource.resource option ->
|
||||
scope_metrics:scope_metrics list ->
|
||||
schema_url:string ->
|
||||
unit ->
|
||||
resource_metrics
|
||||
(** [make_resource_metrics … ()] is a builder for type [resource_metrics] *)
|
||||
|
||||
val make_metrics_data :
|
||||
resource_metrics:resource_metrics list ->
|
||||
unit ->
|
||||
metrics_data
|
||||
(** [make_metrics_data … ()] is a builder for type [metrics_data] *)
|
||||
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_exemplar_value : Format.formatter -> exemplar_value -> unit
|
||||
(** [pp_exemplar_value v] formats v *)
|
||||
|
||||
val pp_exemplar : Format.formatter -> exemplar -> unit
|
||||
(** [pp_exemplar v] formats v *)
|
||||
|
||||
val pp_number_data_point_value : Format.formatter -> number_data_point_value -> unit
|
||||
(** [pp_number_data_point_value v] formats v *)
|
||||
|
||||
val pp_number_data_point : Format.formatter -> number_data_point -> unit
|
||||
(** [pp_number_data_point v] formats v *)
|
||||
|
||||
val pp_gauge : Format.formatter -> gauge -> unit
|
||||
(** [pp_gauge v] formats v *)
|
||||
|
||||
val pp_aggregation_temporality : Format.formatter -> aggregation_temporality -> unit
|
||||
(** [pp_aggregation_temporality v] formats v *)
|
||||
|
||||
val pp_sum : Format.formatter -> sum -> unit
|
||||
(** [pp_sum v] formats v *)
|
||||
|
||||
val pp_histogram_data_point : Format.formatter -> histogram_data_point -> unit
|
||||
(** [pp_histogram_data_point v] formats v *)
|
||||
|
||||
val pp_histogram : Format.formatter -> histogram -> unit
|
||||
(** [pp_histogram v] formats v *)
|
||||
|
||||
val pp_exponential_histogram_data_point_buckets : Format.formatter -> exponential_histogram_data_point_buckets -> unit
|
||||
(** [pp_exponential_histogram_data_point_buckets v] formats v *)
|
||||
|
||||
val pp_exponential_histogram_data_point : Format.formatter -> exponential_histogram_data_point -> unit
|
||||
(** [pp_exponential_histogram_data_point v] formats v *)
|
||||
|
||||
val pp_exponential_histogram : Format.formatter -> exponential_histogram -> unit
|
||||
(** [pp_exponential_histogram v] formats v *)
|
||||
|
||||
val pp_summary_data_point_value_at_quantile : Format.formatter -> summary_data_point_value_at_quantile -> unit
|
||||
(** [pp_summary_data_point_value_at_quantile v] formats v *)
|
||||
|
||||
val pp_summary_data_point : Format.formatter -> summary_data_point -> unit
|
||||
(** [pp_summary_data_point v] formats v *)
|
||||
|
||||
val pp_summary : Format.formatter -> summary -> unit
|
||||
(** [pp_summary v] formats v *)
|
||||
|
||||
val pp_metric_data : Format.formatter -> metric_data -> unit
|
||||
(** [pp_metric_data v] formats v *)
|
||||
|
||||
val pp_metric : Format.formatter -> metric -> unit
|
||||
(** [pp_metric v] formats v *)
|
||||
|
||||
val pp_scope_metrics : Format.formatter -> scope_metrics -> unit
|
||||
(** [pp_scope_metrics v] formats v *)
|
||||
|
||||
val pp_resource_metrics : Format.formatter -> resource_metrics -> unit
|
||||
(** [pp_resource_metrics v] formats v *)
|
||||
|
||||
val pp_metrics_data : Format.formatter -> metrics_data -> unit
|
||||
(** [pp_metrics_data v] formats v *)
|
||||
|
||||
val pp_data_point_flags : Format.formatter -> data_point_flags -> unit
|
||||
(** [pp_data_point_flags v] formats v *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_pb_exemplar_value : exemplar_value -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_exemplar_value v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_exemplar : exemplar -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_exemplar v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_number_data_point_value : number_data_point_value -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_number_data_point_value v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_number_data_point : number_data_point -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_number_data_point v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_gauge : gauge -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_gauge v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_aggregation_temporality : aggregation_temporality -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_aggregation_temporality v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_sum : sum -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_sum v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_histogram_data_point : histogram_data_point -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_histogram_data_point v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_histogram : histogram -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_histogram v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_exponential_histogram_data_point_buckets : exponential_histogram_data_point_buckets -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_exponential_histogram_data_point_buckets v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_exponential_histogram_data_point : exponential_histogram_data_point -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_exponential_histogram_data_point v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_exponential_histogram : exponential_histogram -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_exponential_histogram v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_summary_data_point_value_at_quantile : summary_data_point_value_at_quantile -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_summary_data_point_value_at_quantile v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_summary_data_point : summary_data_point -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_summary_data_point v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_summary : summary -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_summary v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_metric_data : metric_data -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_metric_data v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_metric : metric -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_metric v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_scope_metrics : scope_metrics -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_scope_metrics v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_resource_metrics : resource_metrics -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_resource_metrics v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_metrics_data : metrics_data -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_metrics_data v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_data_point_flags : data_point_flags -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_data_point_flags v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_pb_exemplar_value : Pbrt.Decoder.t -> exemplar_value
|
||||
(** [decode_pb_exemplar_value decoder] decodes a [exemplar_value] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_exemplar : Pbrt.Decoder.t -> exemplar
|
||||
(** [decode_pb_exemplar decoder] decodes a [exemplar] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_number_data_point_value : Pbrt.Decoder.t -> number_data_point_value
|
||||
(** [decode_pb_number_data_point_value decoder] decodes a [number_data_point_value] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_number_data_point : Pbrt.Decoder.t -> number_data_point
|
||||
(** [decode_pb_number_data_point decoder] decodes a [number_data_point] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_gauge : Pbrt.Decoder.t -> gauge
|
||||
(** [decode_pb_gauge decoder] decodes a [gauge] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_aggregation_temporality : Pbrt.Decoder.t -> aggregation_temporality
|
||||
(** [decode_pb_aggregation_temporality decoder] decodes a [aggregation_temporality] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_sum : Pbrt.Decoder.t -> sum
|
||||
(** [decode_pb_sum decoder] decodes a [sum] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_histogram_data_point : Pbrt.Decoder.t -> histogram_data_point
|
||||
(** [decode_pb_histogram_data_point decoder] decodes a [histogram_data_point] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_histogram : Pbrt.Decoder.t -> histogram
|
||||
(** [decode_pb_histogram decoder] decodes a [histogram] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_exponential_histogram_data_point_buckets : Pbrt.Decoder.t -> exponential_histogram_data_point_buckets
|
||||
(** [decode_pb_exponential_histogram_data_point_buckets decoder] decodes a [exponential_histogram_data_point_buckets] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_exponential_histogram_data_point : Pbrt.Decoder.t -> exponential_histogram_data_point
|
||||
(** [decode_pb_exponential_histogram_data_point decoder] decodes a [exponential_histogram_data_point] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_exponential_histogram : Pbrt.Decoder.t -> exponential_histogram
|
||||
(** [decode_pb_exponential_histogram decoder] decodes a [exponential_histogram] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_summary_data_point_value_at_quantile : Pbrt.Decoder.t -> summary_data_point_value_at_quantile
|
||||
(** [decode_pb_summary_data_point_value_at_quantile decoder] decodes a [summary_data_point_value_at_quantile] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_summary_data_point : Pbrt.Decoder.t -> summary_data_point
|
||||
(** [decode_pb_summary_data_point decoder] decodes a [summary_data_point] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_summary : Pbrt.Decoder.t -> summary
|
||||
(** [decode_pb_summary decoder] decodes a [summary] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_metric_data : Pbrt.Decoder.t -> metric_data
|
||||
(** [decode_pb_metric_data decoder] decodes a [metric_data] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_metric : Pbrt.Decoder.t -> metric
|
||||
(** [decode_pb_metric decoder] decodes a [metric] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_scope_metrics : Pbrt.Decoder.t -> scope_metrics
|
||||
(** [decode_pb_scope_metrics decoder] decodes a [scope_metrics] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_resource_metrics : Pbrt.Decoder.t -> resource_metrics
|
||||
(** [decode_pb_resource_metrics decoder] decodes a [resource_metrics] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_metrics_data : Pbrt.Decoder.t -> metrics_data
|
||||
(** [decode_pb_metrics_data decoder] decodes a [metrics_data] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_data_point_flags : Pbrt.Decoder.t -> data_point_flags
|
||||
(** [decode_pb_data_point_flags decoder] decodes a [data_point_flags] binary value from [decoder] *)
|
||||
|
||||
|
||||
(** {2 Services} *)
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,133 +0,0 @@
|
|||
(** metrics.proto Binary Encoding *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_exemplar_value : Metrics_types.exemplar_value -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_exemplar_value v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_exemplar : Metrics_types.exemplar -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_exemplar v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_number_data_point_value : Metrics_types.number_data_point_value -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_number_data_point_value v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_number_data_point : Metrics_types.number_data_point -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_number_data_point v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_gauge : Metrics_types.gauge -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_gauge v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_aggregation_temporality : Metrics_types.aggregation_temporality -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_aggregation_temporality v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_sum : Metrics_types.sum -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_sum v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_histogram_data_point : Metrics_types.histogram_data_point -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_histogram_data_point v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_histogram : Metrics_types.histogram -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_histogram v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_exponential_histogram_data_point_buckets : Metrics_types.exponential_histogram_data_point_buckets -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_exponential_histogram_data_point_buckets v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_exponential_histogram_data_point : Metrics_types.exponential_histogram_data_point -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_exponential_histogram_data_point v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_exponential_histogram : Metrics_types.exponential_histogram -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_exponential_histogram v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_summary_data_point_value_at_quantile : Metrics_types.summary_data_point_value_at_quantile -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_summary_data_point_value_at_quantile v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_summary_data_point : Metrics_types.summary_data_point -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_summary_data_point v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_summary : Metrics_types.summary -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_summary v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_metric_data : Metrics_types.metric_data -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_metric_data v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_metric : Metrics_types.metric -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_metric v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_scope_metrics : Metrics_types.scope_metrics -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_scope_metrics v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_resource_metrics : Metrics_types.resource_metrics -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_resource_metrics v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_metrics_data : Metrics_types.metrics_data -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_metrics_data v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_data_point_flags : Metrics_types.data_point_flags -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_data_point_flags v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_exemplar_value : Pbrt.Decoder.t -> Metrics_types.exemplar_value
|
||||
(** [decode_exemplar_value decoder] decodes a [exemplar_value] value from [decoder] *)
|
||||
|
||||
val decode_exemplar : Pbrt.Decoder.t -> Metrics_types.exemplar
|
||||
(** [decode_exemplar decoder] decodes a [exemplar] value from [decoder] *)
|
||||
|
||||
val decode_number_data_point_value : Pbrt.Decoder.t -> Metrics_types.number_data_point_value
|
||||
(** [decode_number_data_point_value decoder] decodes a [number_data_point_value] value from [decoder] *)
|
||||
|
||||
val decode_number_data_point : Pbrt.Decoder.t -> Metrics_types.number_data_point
|
||||
(** [decode_number_data_point decoder] decodes a [number_data_point] value from [decoder] *)
|
||||
|
||||
val decode_gauge : Pbrt.Decoder.t -> Metrics_types.gauge
|
||||
(** [decode_gauge decoder] decodes a [gauge] value from [decoder] *)
|
||||
|
||||
val decode_aggregation_temporality : Pbrt.Decoder.t -> Metrics_types.aggregation_temporality
|
||||
(** [decode_aggregation_temporality decoder] decodes a [aggregation_temporality] value from [decoder] *)
|
||||
|
||||
val decode_sum : Pbrt.Decoder.t -> Metrics_types.sum
|
||||
(** [decode_sum decoder] decodes a [sum] value from [decoder] *)
|
||||
|
||||
val decode_histogram_data_point : Pbrt.Decoder.t -> Metrics_types.histogram_data_point
|
||||
(** [decode_histogram_data_point decoder] decodes a [histogram_data_point] value from [decoder] *)
|
||||
|
||||
val decode_histogram : Pbrt.Decoder.t -> Metrics_types.histogram
|
||||
(** [decode_histogram decoder] decodes a [histogram] value from [decoder] *)
|
||||
|
||||
val decode_exponential_histogram_data_point_buckets : Pbrt.Decoder.t -> Metrics_types.exponential_histogram_data_point_buckets
|
||||
(** [decode_exponential_histogram_data_point_buckets decoder] decodes a [exponential_histogram_data_point_buckets] value from [decoder] *)
|
||||
|
||||
val decode_exponential_histogram_data_point : Pbrt.Decoder.t -> Metrics_types.exponential_histogram_data_point
|
||||
(** [decode_exponential_histogram_data_point decoder] decodes a [exponential_histogram_data_point] value from [decoder] *)
|
||||
|
||||
val decode_exponential_histogram : Pbrt.Decoder.t -> Metrics_types.exponential_histogram
|
||||
(** [decode_exponential_histogram decoder] decodes a [exponential_histogram] value from [decoder] *)
|
||||
|
||||
val decode_summary_data_point_value_at_quantile : Pbrt.Decoder.t -> Metrics_types.summary_data_point_value_at_quantile
|
||||
(** [decode_summary_data_point_value_at_quantile decoder] decodes a [summary_data_point_value_at_quantile] value from [decoder] *)
|
||||
|
||||
val decode_summary_data_point : Pbrt.Decoder.t -> Metrics_types.summary_data_point
|
||||
(** [decode_summary_data_point decoder] decodes a [summary_data_point] value from [decoder] *)
|
||||
|
||||
val decode_summary : Pbrt.Decoder.t -> Metrics_types.summary
|
||||
(** [decode_summary decoder] decodes a [summary] value from [decoder] *)
|
||||
|
||||
val decode_metric_data : Pbrt.Decoder.t -> Metrics_types.metric_data
|
||||
(** [decode_metric_data decoder] decodes a [metric_data] value from [decoder] *)
|
||||
|
||||
val decode_metric : Pbrt.Decoder.t -> Metrics_types.metric
|
||||
(** [decode_metric decoder] decodes a [metric] value from [decoder] *)
|
||||
|
||||
val decode_scope_metrics : Pbrt.Decoder.t -> Metrics_types.scope_metrics
|
||||
(** [decode_scope_metrics decoder] decodes a [scope_metrics] value from [decoder] *)
|
||||
|
||||
val decode_resource_metrics : Pbrt.Decoder.t -> Metrics_types.resource_metrics
|
||||
(** [decode_resource_metrics decoder] decodes a [resource_metrics] value from [decoder] *)
|
||||
|
||||
val decode_metrics_data : Pbrt.Decoder.t -> Metrics_types.metrics_data
|
||||
(** [decode_metrics_data decoder] decodes a [metrics_data] value from [decoder] *)
|
||||
|
||||
val decode_data_point_flags : Pbrt.Decoder.t -> Metrics_types.data_point_flags
|
||||
(** [decode_data_point_flags decoder] decodes a [data_point_flags] value from [decoder] *)
|
||||
|
|
@ -1,177 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
let rec pp_exemplar_value fmt (v:Metrics_types.exemplar_value) =
|
||||
match v with
|
||||
| Metrics_types.As_double x -> Format.fprintf fmt "@[<hv2>As_double(@,%a)@]" Pbrt.Pp.pp_float x
|
||||
| Metrics_types.As_int x -> Format.fprintf fmt "@[<hv2>As_int(@,%a)@]" Pbrt.Pp.pp_int64 x
|
||||
|
||||
and pp_exemplar fmt (v:Metrics_types.exemplar) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "filtered_attributes" (Pbrt.Pp.pp_list Common_pp.pp_key_value) fmt v.Metrics_types.filtered_attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Metrics_types.time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "value" pp_exemplar_value fmt v.Metrics_types.value;
|
||||
Pbrt.Pp.pp_record_field ~first:false "span_id" Pbrt.Pp.pp_bytes fmt v.Metrics_types.span_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "trace_id" Pbrt.Pp.pp_bytes fmt v.Metrics_types.trace_id;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_number_data_point_value fmt (v:Metrics_types.number_data_point_value) =
|
||||
match v with
|
||||
| Metrics_types.As_double x -> Format.fprintf fmt "@[<hv2>As_double(@,%a)@]" Pbrt.Pp.pp_float x
|
||||
| Metrics_types.As_int x -> Format.fprintf fmt "@[<hv2>As_int(@,%a)@]" Pbrt.Pp.pp_int64 x
|
||||
|
||||
and pp_number_data_point fmt (v:Metrics_types.number_data_point) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "attributes" (Pbrt.Pp.pp_list Common_pp.pp_key_value) fmt v.Metrics_types.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "start_time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Metrics_types.start_time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Metrics_types.time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "value" pp_number_data_point_value fmt v.Metrics_types.value;
|
||||
Pbrt.Pp.pp_record_field ~first:false "exemplars" (Pbrt.Pp.pp_list pp_exemplar) fmt v.Metrics_types.exemplars;
|
||||
Pbrt.Pp.pp_record_field ~first:false "flags" Pbrt.Pp.pp_int32 fmt v.Metrics_types.flags;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_gauge fmt (v:Metrics_types.gauge) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "data_points" (Pbrt.Pp.pp_list pp_number_data_point) fmt v.Metrics_types.data_points;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_aggregation_temporality fmt (v:Metrics_types.aggregation_temporality) =
|
||||
match v with
|
||||
| Metrics_types.Aggregation_temporality_unspecified -> Format.fprintf fmt "Aggregation_temporality_unspecified"
|
||||
| Metrics_types.Aggregation_temporality_delta -> Format.fprintf fmt "Aggregation_temporality_delta"
|
||||
| Metrics_types.Aggregation_temporality_cumulative -> Format.fprintf fmt "Aggregation_temporality_cumulative"
|
||||
|
||||
let rec pp_sum fmt (v:Metrics_types.sum) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "data_points" (Pbrt.Pp.pp_list pp_number_data_point) fmt v.Metrics_types.data_points;
|
||||
Pbrt.Pp.pp_record_field ~first:false "aggregation_temporality" pp_aggregation_temporality fmt v.Metrics_types.aggregation_temporality;
|
||||
Pbrt.Pp.pp_record_field ~first:false "is_monotonic" Pbrt.Pp.pp_bool fmt v.Metrics_types.is_monotonic;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_histogram_data_point fmt (v:Metrics_types.histogram_data_point) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "attributes" (Pbrt.Pp.pp_list Common_pp.pp_key_value) fmt v.Metrics_types.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "start_time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Metrics_types.start_time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Metrics_types.time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "count" Pbrt.Pp.pp_int64 fmt v.Metrics_types.count;
|
||||
Pbrt.Pp.pp_record_field ~first:false "sum" (Pbrt.Pp.pp_option Pbrt.Pp.pp_float) fmt v.Metrics_types.sum;
|
||||
Pbrt.Pp.pp_record_field ~first:false "bucket_counts" (Pbrt.Pp.pp_list Pbrt.Pp.pp_int64) fmt v.Metrics_types.bucket_counts;
|
||||
Pbrt.Pp.pp_record_field ~first:false "explicit_bounds" (Pbrt.Pp.pp_list Pbrt.Pp.pp_float) fmt v.Metrics_types.explicit_bounds;
|
||||
Pbrt.Pp.pp_record_field ~first:false "exemplars" (Pbrt.Pp.pp_list pp_exemplar) fmt v.Metrics_types.exemplars;
|
||||
Pbrt.Pp.pp_record_field ~first:false "flags" Pbrt.Pp.pp_int32 fmt v.Metrics_types.flags;
|
||||
Pbrt.Pp.pp_record_field ~first:false "min" (Pbrt.Pp.pp_option Pbrt.Pp.pp_float) fmt v.Metrics_types.min;
|
||||
Pbrt.Pp.pp_record_field ~first:false "max" (Pbrt.Pp.pp_option Pbrt.Pp.pp_float) fmt v.Metrics_types.max;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_histogram fmt (v:Metrics_types.histogram) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "data_points" (Pbrt.Pp.pp_list pp_histogram_data_point) fmt v.Metrics_types.data_points;
|
||||
Pbrt.Pp.pp_record_field ~first:false "aggregation_temporality" pp_aggregation_temporality fmt v.Metrics_types.aggregation_temporality;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_exponential_histogram_data_point_buckets fmt (v:Metrics_types.exponential_histogram_data_point_buckets) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "offset" Pbrt.Pp.pp_int32 fmt v.Metrics_types.offset;
|
||||
Pbrt.Pp.pp_record_field ~first:false "bucket_counts" (Pbrt.Pp.pp_list Pbrt.Pp.pp_int64) fmt v.Metrics_types.bucket_counts;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_exponential_histogram_data_point fmt (v:Metrics_types.exponential_histogram_data_point) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "attributes" (Pbrt.Pp.pp_list Common_pp.pp_key_value) fmt v.Metrics_types.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "start_time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Metrics_types.start_time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Metrics_types.time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "count" Pbrt.Pp.pp_int64 fmt v.Metrics_types.count;
|
||||
Pbrt.Pp.pp_record_field ~first:false "sum" (Pbrt.Pp.pp_option Pbrt.Pp.pp_float) fmt v.Metrics_types.sum;
|
||||
Pbrt.Pp.pp_record_field ~first:false "scale" Pbrt.Pp.pp_int32 fmt v.Metrics_types.scale;
|
||||
Pbrt.Pp.pp_record_field ~first:false "zero_count" Pbrt.Pp.pp_int64 fmt v.Metrics_types.zero_count;
|
||||
Pbrt.Pp.pp_record_field ~first:false "positive" (Pbrt.Pp.pp_option pp_exponential_histogram_data_point_buckets) fmt v.Metrics_types.positive;
|
||||
Pbrt.Pp.pp_record_field ~first:false "negative" (Pbrt.Pp.pp_option pp_exponential_histogram_data_point_buckets) fmt v.Metrics_types.negative;
|
||||
Pbrt.Pp.pp_record_field ~first:false "flags" Pbrt.Pp.pp_int32 fmt v.Metrics_types.flags;
|
||||
Pbrt.Pp.pp_record_field ~first:false "exemplars" (Pbrt.Pp.pp_list pp_exemplar) fmt v.Metrics_types.exemplars;
|
||||
Pbrt.Pp.pp_record_field ~first:false "min" (Pbrt.Pp.pp_option Pbrt.Pp.pp_float) fmt v.Metrics_types.min;
|
||||
Pbrt.Pp.pp_record_field ~first:false "max" (Pbrt.Pp.pp_option Pbrt.Pp.pp_float) fmt v.Metrics_types.max;
|
||||
Pbrt.Pp.pp_record_field ~first:false "zero_threshold" Pbrt.Pp.pp_float fmt v.Metrics_types.zero_threshold;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_exponential_histogram fmt (v:Metrics_types.exponential_histogram) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "data_points" (Pbrt.Pp.pp_list pp_exponential_histogram_data_point) fmt v.Metrics_types.data_points;
|
||||
Pbrt.Pp.pp_record_field ~first:false "aggregation_temporality" pp_aggregation_temporality fmt v.Metrics_types.aggregation_temporality;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_summary_data_point_value_at_quantile fmt (v:Metrics_types.summary_data_point_value_at_quantile) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "quantile" Pbrt.Pp.pp_float fmt v.Metrics_types.quantile;
|
||||
Pbrt.Pp.pp_record_field ~first:false "value" Pbrt.Pp.pp_float fmt v.Metrics_types.value;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_summary_data_point fmt (v:Metrics_types.summary_data_point) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "attributes" (Pbrt.Pp.pp_list Common_pp.pp_key_value) fmt v.Metrics_types.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "start_time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Metrics_types.start_time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Metrics_types.time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "count" Pbrt.Pp.pp_int64 fmt v.Metrics_types.count;
|
||||
Pbrt.Pp.pp_record_field ~first:false "sum" Pbrt.Pp.pp_float fmt v.Metrics_types.sum;
|
||||
Pbrt.Pp.pp_record_field ~first:false "quantile_values" (Pbrt.Pp.pp_list pp_summary_data_point_value_at_quantile) fmt v.Metrics_types.quantile_values;
|
||||
Pbrt.Pp.pp_record_field ~first:false "flags" Pbrt.Pp.pp_int32 fmt v.Metrics_types.flags;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_summary fmt (v:Metrics_types.summary) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "data_points" (Pbrt.Pp.pp_list pp_summary_data_point) fmt v.Metrics_types.data_points;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_metric_data fmt (v:Metrics_types.metric_data) =
|
||||
match v with
|
||||
| Metrics_types.Gauge x -> Format.fprintf fmt "@[<hv2>Gauge(@,%a)@]" pp_gauge x
|
||||
| Metrics_types.Sum x -> Format.fprintf fmt "@[<hv2>Sum(@,%a)@]" pp_sum x
|
||||
| Metrics_types.Histogram x -> Format.fprintf fmt "@[<hv2>Histogram(@,%a)@]" pp_histogram x
|
||||
| Metrics_types.Exponential_histogram x -> Format.fprintf fmt "@[<hv2>Exponential_histogram(@,%a)@]" pp_exponential_histogram x
|
||||
| Metrics_types.Summary x -> Format.fprintf fmt "@[<hv2>Summary(@,%a)@]" pp_summary x
|
||||
|
||||
and pp_metric fmt (v:Metrics_types.metric) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "name" Pbrt.Pp.pp_string fmt v.Metrics_types.name;
|
||||
Pbrt.Pp.pp_record_field ~first:false "description" Pbrt.Pp.pp_string fmt v.Metrics_types.description;
|
||||
Pbrt.Pp.pp_record_field ~first:false "unit_" Pbrt.Pp.pp_string fmt v.Metrics_types.unit_;
|
||||
Pbrt.Pp.pp_record_field ~first:false "data" pp_metric_data fmt v.Metrics_types.data;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_scope_metrics fmt (v:Metrics_types.scope_metrics) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "scope" (Pbrt.Pp.pp_option Common_pp.pp_instrumentation_scope) fmt v.Metrics_types.scope;
|
||||
Pbrt.Pp.pp_record_field ~first:false "metrics" (Pbrt.Pp.pp_list pp_metric) fmt v.Metrics_types.metrics;
|
||||
Pbrt.Pp.pp_record_field ~first:false "schema_url" Pbrt.Pp.pp_string fmt v.Metrics_types.schema_url;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_resource_metrics fmt (v:Metrics_types.resource_metrics) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource" (Pbrt.Pp.pp_option Resource_pp.pp_resource) fmt v.Metrics_types.resource;
|
||||
Pbrt.Pp.pp_record_field ~first:false "scope_metrics" (Pbrt.Pp.pp_list pp_scope_metrics) fmt v.Metrics_types.scope_metrics;
|
||||
Pbrt.Pp.pp_record_field ~first:false "schema_url" Pbrt.Pp.pp_string fmt v.Metrics_types.schema_url;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_metrics_data fmt (v:Metrics_types.metrics_data) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource_metrics" (Pbrt.Pp.pp_list pp_resource_metrics) fmt v.Metrics_types.resource_metrics;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_data_point_flags fmt (v:Metrics_types.data_point_flags) =
|
||||
match v with
|
||||
| Metrics_types.Data_point_flags_do_not_use -> Format.fprintf fmt "Data_point_flags_do_not_use"
|
||||
| Metrics_types.Data_point_flags_no_recorded_value_mask -> Format.fprintf fmt "Data_point_flags_no_recorded_value_mask"
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
(** metrics.proto Pretty Printing *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_exemplar_value : Format.formatter -> Metrics_types.exemplar_value -> unit
|
||||
(** [pp_exemplar_value v] formats v *)
|
||||
|
||||
val pp_exemplar : Format.formatter -> Metrics_types.exemplar -> unit
|
||||
(** [pp_exemplar v] formats v *)
|
||||
|
||||
val pp_number_data_point_value : Format.formatter -> Metrics_types.number_data_point_value -> unit
|
||||
(** [pp_number_data_point_value v] formats v *)
|
||||
|
||||
val pp_number_data_point : Format.formatter -> Metrics_types.number_data_point -> unit
|
||||
(** [pp_number_data_point v] formats v *)
|
||||
|
||||
val pp_gauge : Format.formatter -> Metrics_types.gauge -> unit
|
||||
(** [pp_gauge v] formats v *)
|
||||
|
||||
val pp_aggregation_temporality : Format.formatter -> Metrics_types.aggregation_temporality -> unit
|
||||
(** [pp_aggregation_temporality v] formats v *)
|
||||
|
||||
val pp_sum : Format.formatter -> Metrics_types.sum -> unit
|
||||
(** [pp_sum v] formats v *)
|
||||
|
||||
val pp_histogram_data_point : Format.formatter -> Metrics_types.histogram_data_point -> unit
|
||||
(** [pp_histogram_data_point v] formats v *)
|
||||
|
||||
val pp_histogram : Format.formatter -> Metrics_types.histogram -> unit
|
||||
(** [pp_histogram v] formats v *)
|
||||
|
||||
val pp_exponential_histogram_data_point_buckets : Format.formatter -> Metrics_types.exponential_histogram_data_point_buckets -> unit
|
||||
(** [pp_exponential_histogram_data_point_buckets v] formats v *)
|
||||
|
||||
val pp_exponential_histogram_data_point : Format.formatter -> Metrics_types.exponential_histogram_data_point -> unit
|
||||
(** [pp_exponential_histogram_data_point v] formats v *)
|
||||
|
||||
val pp_exponential_histogram : Format.formatter -> Metrics_types.exponential_histogram -> unit
|
||||
(** [pp_exponential_histogram v] formats v *)
|
||||
|
||||
val pp_summary_data_point_value_at_quantile : Format.formatter -> Metrics_types.summary_data_point_value_at_quantile -> unit
|
||||
(** [pp_summary_data_point_value_at_quantile v] formats v *)
|
||||
|
||||
val pp_summary_data_point : Format.formatter -> Metrics_types.summary_data_point -> unit
|
||||
(** [pp_summary_data_point v] formats v *)
|
||||
|
||||
val pp_summary : Format.formatter -> Metrics_types.summary -> unit
|
||||
(** [pp_summary v] formats v *)
|
||||
|
||||
val pp_metric_data : Format.formatter -> Metrics_types.metric_data -> unit
|
||||
(** [pp_metric_data v] formats v *)
|
||||
|
||||
val pp_metric : Format.formatter -> Metrics_types.metric -> unit
|
||||
(** [pp_metric v] formats v *)
|
||||
|
||||
val pp_scope_metrics : Format.formatter -> Metrics_types.scope_metrics -> unit
|
||||
(** [pp_scope_metrics v] formats v *)
|
||||
|
||||
val pp_resource_metrics : Format.formatter -> Metrics_types.resource_metrics -> unit
|
||||
(** [pp_resource_metrics v] formats v *)
|
||||
|
||||
val pp_metrics_data : Format.formatter -> Metrics_types.metrics_data -> unit
|
||||
(** [pp_metrics_data v] formats v *)
|
||||
|
||||
val pp_data_point_flags : Format.formatter -> Metrics_types.data_point_flags -> unit
|
||||
(** [pp_data_point_flags v] formats v *)
|
||||
243
src/proto/metrics_service.ml
Normal file
243
src/proto/metrics_service.ml
Normal file
|
|
@ -0,0 +1,243 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type export_metrics_service_request = {
|
||||
resource_metrics : Metrics.resource_metrics list;
|
||||
}
|
||||
|
||||
type export_metrics_partial_success = {
|
||||
rejected_data_points : int64;
|
||||
error_message : string;
|
||||
}
|
||||
|
||||
type export_metrics_service_response = {
|
||||
partial_success : export_metrics_partial_success option;
|
||||
}
|
||||
|
||||
let rec default_export_metrics_service_request
|
||||
?resource_metrics:((resource_metrics:Metrics.resource_metrics list) = [])
|
||||
() : export_metrics_service_request = {
|
||||
resource_metrics;
|
||||
}
|
||||
|
||||
let rec default_export_metrics_partial_success
|
||||
?rejected_data_points:((rejected_data_points:int64) = 0L)
|
||||
?error_message:((error_message:string) = "")
|
||||
() : export_metrics_partial_success = {
|
||||
rejected_data_points;
|
||||
error_message;
|
||||
}
|
||||
|
||||
let rec default_export_metrics_service_response
|
||||
?partial_success:((partial_success:export_metrics_partial_success option) = None)
|
||||
() : export_metrics_service_response = {
|
||||
partial_success;
|
||||
}
|
||||
|
||||
type export_metrics_service_request_mutable = {
|
||||
mutable resource_metrics : Metrics.resource_metrics list;
|
||||
}
|
||||
|
||||
let default_export_metrics_service_request_mutable () : export_metrics_service_request_mutable = {
|
||||
resource_metrics = [];
|
||||
}
|
||||
|
||||
type export_metrics_partial_success_mutable = {
|
||||
mutable rejected_data_points : int64;
|
||||
mutable error_message : string;
|
||||
}
|
||||
|
||||
let default_export_metrics_partial_success_mutable () : export_metrics_partial_success_mutable = {
|
||||
rejected_data_points = 0L;
|
||||
error_message = "";
|
||||
}
|
||||
|
||||
type export_metrics_service_response_mutable = {
|
||||
mutable partial_success : export_metrics_partial_success option;
|
||||
}
|
||||
|
||||
let default_export_metrics_service_response_mutable () : export_metrics_service_response_mutable = {
|
||||
partial_success = None;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
let rec make_export_metrics_service_request
|
||||
~(resource_metrics:Metrics.resource_metrics list)
|
||||
() : export_metrics_service_request = {
|
||||
resource_metrics;
|
||||
}
|
||||
|
||||
let rec make_export_metrics_partial_success
|
||||
~(rejected_data_points:int64)
|
||||
~(error_message:string)
|
||||
() : export_metrics_partial_success = {
|
||||
rejected_data_points;
|
||||
error_message;
|
||||
}
|
||||
|
||||
let rec make_export_metrics_service_response
|
||||
?partial_success:((partial_success:export_metrics_partial_success option) = None)
|
||||
() : export_metrics_service_response = {
|
||||
partial_success;
|
||||
}
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
let rec pp_export_metrics_service_request fmt (v:export_metrics_service_request) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource_metrics" (Pbrt.Pp.pp_list Metrics.pp_resource_metrics) fmt v.resource_metrics;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_export_metrics_partial_success fmt (v:export_metrics_partial_success) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "rejected_data_points" Pbrt.Pp.pp_int64 fmt v.rejected_data_points;
|
||||
Pbrt.Pp.pp_record_field ~first:false "error_message" Pbrt.Pp.pp_string fmt v.error_message;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_export_metrics_service_response fmt (v:export_metrics_service_response) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "partial_success" (Pbrt.Pp.pp_option pp_export_metrics_partial_success) fmt v.partial_success;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
let rec encode_pb_export_metrics_service_request (v:export_metrics_service_request) encoder =
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested Metrics.encode_pb_resource_metrics x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
) v.resource_metrics encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_export_metrics_partial_success (v:export_metrics_partial_success) encoder =
|
||||
Pbrt.Encoder.int64_as_varint v.rejected_data_points encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Varint encoder;
|
||||
Pbrt.Encoder.string v.error_message encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_export_metrics_service_response (v:export_metrics_service_response) encoder =
|
||||
begin match v.partial_success with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.nested encode_pb_export_metrics_partial_success x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
let rec decode_pb_export_metrics_service_request d =
|
||||
let v = default_export_metrics_service_request_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 <- (Metrics.decode_pb_resource_metrics (Pbrt.Decoder.nested d)) :: v.resource_metrics;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_metrics_service_request), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
resource_metrics = v.resource_metrics;
|
||||
} : export_metrics_service_request)
|
||||
|
||||
let rec decode_pb_export_metrics_partial_success d =
|
||||
let v = default_export_metrics_partial_success_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Varint) -> begin
|
||||
v.rejected_data_points <- Pbrt.Decoder.int64_as_varint d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_metrics_partial_success), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.error_message <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_metrics_partial_success), field(2)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
rejected_data_points = v.rejected_data_points;
|
||||
error_message = v.error_message;
|
||||
} : export_metrics_partial_success)
|
||||
|
||||
let rec decode_pb_export_metrics_service_response d =
|
||||
let v = default_export_metrics_service_response_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.partial_success <- Some (decode_pb_export_metrics_partial_success (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_metrics_service_response), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
partial_success = v.partial_success;
|
||||
} : export_metrics_service_response)
|
||||
|
||||
module MetricsService = struct
|
||||
open Pbrt_services.Value_mode
|
||||
module Client = struct
|
||||
open Pbrt_services
|
||||
|
||||
let export : (export_metrics_service_request, unary, export_metrics_service_response, unary) Client.rpc =
|
||||
(Client.mk_rpc
|
||||
~package:["opentelemetry";"proto";"collector";"metrics";"v1"]
|
||||
~service_name:"MetricsService" ~rpc_name:"Export"
|
||||
~req_mode:Client.Unary
|
||||
~res_mode:Client.Unary
|
||||
~encode_json_req:encode_json_export_metrics_service_request
|
||||
~encode_pb_req:encode_pb_export_metrics_service_request
|
||||
~decode_json_res:decode_json_export_metrics_service_response
|
||||
~decode_pb_res:decode_pb_export_metrics_service_response
|
||||
() : (export_metrics_service_request, unary, export_metrics_service_response, unary) Client.rpc)
|
||||
end
|
||||
|
||||
module Server = struct
|
||||
open Pbrt_services
|
||||
|
||||
let _rpc_export : (export_metrics_service_request,unary,export_metrics_service_response,unary) Server.rpc =
|
||||
(Server.mk_rpc ~name:"Export"
|
||||
~req_mode:Server.Unary
|
||||
~res_mode:Server.Unary
|
||||
~encode_json_res:encode_json_export_metrics_service_response
|
||||
~encode_pb_res:encode_pb_export_metrics_service_response
|
||||
~decode_json_req:decode_json_export_metrics_service_request
|
||||
~decode_pb_req:decode_pb_export_metrics_service_request
|
||||
() : _ Server.rpc)
|
||||
|
||||
let make
|
||||
~export
|
||||
() : _ Server.t =
|
||||
{ Server.
|
||||
service_name="MetricsService";
|
||||
package=["opentelemetry";"proto";"collector";"metrics";"v1"];
|
||||
handlers=[
|
||||
(export _rpc_export);
|
||||
];
|
||||
}
|
||||
end
|
||||
|
||||
end
|
||||
122
src/proto/metrics_service.mli
Normal file
122
src/proto/metrics_service.mli
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
|
||||
(** Code for metrics_service.proto *)
|
||||
|
||||
(* generated from "../../vendor/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.proto", do not edit *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type export_metrics_service_request = {
|
||||
resource_metrics : Metrics.resource_metrics list;
|
||||
}
|
||||
|
||||
type export_metrics_partial_success = {
|
||||
rejected_data_points : int64;
|
||||
error_message : string;
|
||||
}
|
||||
|
||||
type export_metrics_service_response = {
|
||||
partial_success : export_metrics_partial_success option;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Basic values} *)
|
||||
|
||||
val default_export_metrics_service_request :
|
||||
?resource_metrics:Metrics.resource_metrics list ->
|
||||
unit ->
|
||||
export_metrics_service_request
|
||||
(** [default_export_metrics_service_request ()] is the default value for type [export_metrics_service_request] *)
|
||||
|
||||
val default_export_metrics_partial_success :
|
||||
?rejected_data_points:int64 ->
|
||||
?error_message:string ->
|
||||
unit ->
|
||||
export_metrics_partial_success
|
||||
(** [default_export_metrics_partial_success ()] is the default value for type [export_metrics_partial_success] *)
|
||||
|
||||
val default_export_metrics_service_response :
|
||||
?partial_success:export_metrics_partial_success option ->
|
||||
unit ->
|
||||
export_metrics_service_response
|
||||
(** [default_export_metrics_service_response ()] is the default value for type [export_metrics_service_response] *)
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
val make_export_metrics_service_request :
|
||||
resource_metrics:Metrics.resource_metrics list ->
|
||||
unit ->
|
||||
export_metrics_service_request
|
||||
(** [make_export_metrics_service_request … ()] is a builder for type [export_metrics_service_request] *)
|
||||
|
||||
val make_export_metrics_partial_success :
|
||||
rejected_data_points:int64 ->
|
||||
error_message:string ->
|
||||
unit ->
|
||||
export_metrics_partial_success
|
||||
(** [make_export_metrics_partial_success … ()] is a builder for type [export_metrics_partial_success] *)
|
||||
|
||||
val make_export_metrics_service_response :
|
||||
?partial_success:export_metrics_partial_success option ->
|
||||
unit ->
|
||||
export_metrics_service_response
|
||||
(** [make_export_metrics_service_response … ()] is a builder for type [export_metrics_service_response] *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_export_metrics_service_request : Format.formatter -> export_metrics_service_request -> unit
|
||||
(** [pp_export_metrics_service_request v] formats v *)
|
||||
|
||||
val pp_export_metrics_partial_success : Format.formatter -> export_metrics_partial_success -> unit
|
||||
(** [pp_export_metrics_partial_success v] formats v *)
|
||||
|
||||
val pp_export_metrics_service_response : Format.formatter -> export_metrics_service_response -> unit
|
||||
(** [pp_export_metrics_service_response v] formats v *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_pb_export_metrics_service_request : export_metrics_service_request -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_export_metrics_service_request v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_export_metrics_partial_success : export_metrics_partial_success -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_export_metrics_partial_success v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_export_metrics_service_response : export_metrics_service_response -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_export_metrics_service_response v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_pb_export_metrics_service_request : Pbrt.Decoder.t -> export_metrics_service_request
|
||||
(** [decode_pb_export_metrics_service_request decoder] decodes a [export_metrics_service_request] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_export_metrics_partial_success : Pbrt.Decoder.t -> export_metrics_partial_success
|
||||
(** [decode_pb_export_metrics_partial_success decoder] decodes a [export_metrics_partial_success] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_export_metrics_service_response : Pbrt.Decoder.t -> export_metrics_service_response
|
||||
(** [decode_pb_export_metrics_service_response decoder] decodes a [export_metrics_service_response] binary value from [decoder] *)
|
||||
|
||||
|
||||
(** {2 Services} *)
|
||||
|
||||
(** MetricsService service *)
|
||||
module MetricsService : sig
|
||||
open Pbrt_services
|
||||
open Pbrt_services.Value_mode
|
||||
|
||||
module Client : sig
|
||||
|
||||
val export : (export_metrics_service_request, unary, export_metrics_service_response, unary) Client.rpc
|
||||
end
|
||||
|
||||
module Server : sig
|
||||
(** Produce a server implementation from handlers *)
|
||||
val make :
|
||||
export:((export_metrics_service_request, unary, export_metrics_service_response, unary) Server.rpc -> 'handler) ->
|
||||
unit -> 'handler Pbrt_services.Server.t
|
||||
end
|
||||
end
|
||||
|
|
@ -1,112 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type export_metrics_service_request_mutable = {
|
||||
mutable resource_metrics : Metrics_types.resource_metrics list;
|
||||
}
|
||||
|
||||
let default_export_metrics_service_request_mutable () : export_metrics_service_request_mutable = {
|
||||
resource_metrics = [];
|
||||
}
|
||||
|
||||
type export_metrics_partial_success_mutable = {
|
||||
mutable rejected_data_points : int64;
|
||||
mutable error_message : string;
|
||||
}
|
||||
|
||||
let default_export_metrics_partial_success_mutable () : export_metrics_partial_success_mutable = {
|
||||
rejected_data_points = 0L;
|
||||
error_message = "";
|
||||
}
|
||||
|
||||
type export_metrics_service_response_mutable = {
|
||||
mutable partial_success : Metrics_service_types.export_metrics_partial_success option;
|
||||
}
|
||||
|
||||
let default_export_metrics_service_response_mutable () : export_metrics_service_response_mutable = {
|
||||
partial_success = None;
|
||||
}
|
||||
|
||||
|
||||
let rec decode_export_metrics_service_request d =
|
||||
let v = default_export_metrics_service_request_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 <- (Metrics_pb.decode_resource_metrics (Pbrt.Decoder.nested d)) :: v.resource_metrics;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_metrics_service_request), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Metrics_service_types.resource_metrics = v.resource_metrics;
|
||||
} : Metrics_service_types.export_metrics_service_request)
|
||||
|
||||
let rec decode_export_metrics_partial_success d =
|
||||
let v = default_export_metrics_partial_success_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Varint) -> begin
|
||||
v.rejected_data_points <- Pbrt.Decoder.int64_as_varint d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_metrics_partial_success), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.error_message <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_metrics_partial_success), field(2)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Metrics_service_types.rejected_data_points = v.rejected_data_points;
|
||||
Metrics_service_types.error_message = v.error_message;
|
||||
} : Metrics_service_types.export_metrics_partial_success)
|
||||
|
||||
let rec decode_export_metrics_service_response d =
|
||||
let v = default_export_metrics_service_response_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.partial_success <- Some (decode_export_metrics_partial_success (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_metrics_service_response), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Metrics_service_types.partial_success = v.partial_success;
|
||||
} : Metrics_service_types.export_metrics_service_response)
|
||||
|
||||
let rec encode_export_metrics_service_request (v:Metrics_service_types.export_metrics_service_request) encoder =
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (Metrics_pb.encode_resource_metrics x) encoder;
|
||||
) v.Metrics_service_types.resource_metrics;
|
||||
()
|
||||
|
||||
let rec encode_export_metrics_partial_success (v:Metrics_service_types.export_metrics_partial_success) encoder =
|
||||
Pbrt.Encoder.key (1, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int64_as_varint v.Metrics_service_types.rejected_data_points encoder;
|
||||
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Metrics_service_types.error_message encoder;
|
||||
()
|
||||
|
||||
let rec encode_export_metrics_service_response (v:Metrics_service_types.export_metrics_service_response) encoder =
|
||||
begin match v.Metrics_service_types.partial_success with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_export_metrics_partial_success x) encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
()
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
(** metrics_service.proto Binary Encoding *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_export_metrics_service_request : Metrics_service_types.export_metrics_service_request -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_export_metrics_service_request v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_export_metrics_partial_success : Metrics_service_types.export_metrics_partial_success -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_export_metrics_partial_success v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_export_metrics_service_response : Metrics_service_types.export_metrics_service_response -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_export_metrics_service_response v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_export_metrics_service_request : Pbrt.Decoder.t -> Metrics_service_types.export_metrics_service_request
|
||||
(** [decode_export_metrics_service_request decoder] decodes a [export_metrics_service_request] value from [decoder] *)
|
||||
|
||||
val decode_export_metrics_partial_success : Pbrt.Decoder.t -> Metrics_service_types.export_metrics_partial_success
|
||||
(** [decode_export_metrics_partial_success decoder] decodes a [export_metrics_partial_success] value from [decoder] *)
|
||||
|
||||
val decode_export_metrics_service_response : Pbrt.Decoder.t -> Metrics_service_types.export_metrics_service_response
|
||||
(** [decode_export_metrics_service_response decoder] decodes a [export_metrics_service_response] value from [decoder] *)
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
let rec pp_export_metrics_service_request fmt (v:Metrics_service_types.export_metrics_service_request) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource_metrics" (Pbrt.Pp.pp_list Metrics_pp.pp_resource_metrics) fmt v.Metrics_service_types.resource_metrics;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_export_metrics_partial_success fmt (v:Metrics_service_types.export_metrics_partial_success) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "rejected_data_points" Pbrt.Pp.pp_int64 fmt v.Metrics_service_types.rejected_data_points;
|
||||
Pbrt.Pp.pp_record_field ~first:false "error_message" Pbrt.Pp.pp_string fmt v.Metrics_service_types.error_message;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_export_metrics_service_response fmt (v:Metrics_service_types.export_metrics_service_response) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "partial_success" (Pbrt.Pp.pp_option pp_export_metrics_partial_success) fmt v.Metrics_service_types.partial_success;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
(** metrics_service.proto Pretty Printing *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_export_metrics_service_request : Format.formatter -> Metrics_service_types.export_metrics_service_request -> unit
|
||||
(** [pp_export_metrics_service_request v] formats v *)
|
||||
|
||||
val pp_export_metrics_partial_success : Format.formatter -> Metrics_service_types.export_metrics_partial_success -> unit
|
||||
(** [pp_export_metrics_partial_success v] formats v *)
|
||||
|
||||
val pp_export_metrics_service_response : Format.formatter -> Metrics_service_types.export_metrics_service_response -> unit
|
||||
(** [pp_export_metrics_service_response v] formats v *)
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
|
||||
type export_metrics_service_request = {
|
||||
resource_metrics : Metrics_types.resource_metrics list;
|
||||
}
|
||||
|
||||
type export_metrics_partial_success = {
|
||||
rejected_data_points : int64;
|
||||
error_message : string;
|
||||
}
|
||||
|
||||
type export_metrics_service_response = {
|
||||
partial_success : export_metrics_partial_success option;
|
||||
}
|
||||
|
||||
let rec default_export_metrics_service_request
|
||||
?resource_metrics:((resource_metrics:Metrics_types.resource_metrics list) = [])
|
||||
() : export_metrics_service_request = {
|
||||
resource_metrics;
|
||||
}
|
||||
|
||||
let rec default_export_metrics_partial_success
|
||||
?rejected_data_points:((rejected_data_points:int64) = 0L)
|
||||
?error_message:((error_message:string) = "")
|
||||
() : export_metrics_partial_success = {
|
||||
rejected_data_points;
|
||||
error_message;
|
||||
}
|
||||
|
||||
let rec default_export_metrics_service_response
|
||||
?partial_success:((partial_success:export_metrics_partial_success option) = None)
|
||||
() : export_metrics_service_response = {
|
||||
partial_success;
|
||||
}
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
(** metrics_service.proto Types *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type export_metrics_service_request = {
|
||||
resource_metrics : Metrics_types.resource_metrics list;
|
||||
}
|
||||
|
||||
type export_metrics_partial_success = {
|
||||
rejected_data_points : int64;
|
||||
error_message : string;
|
||||
}
|
||||
|
||||
type export_metrics_service_response = {
|
||||
partial_success : export_metrics_partial_success option;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Default values} *)
|
||||
|
||||
val default_export_metrics_service_request :
|
||||
?resource_metrics:Metrics_types.resource_metrics list ->
|
||||
unit ->
|
||||
export_metrics_service_request
|
||||
(** [default_export_metrics_service_request ()] is the default value for type [export_metrics_service_request] *)
|
||||
|
||||
val default_export_metrics_partial_success :
|
||||
?rejected_data_points:int64 ->
|
||||
?error_message:string ->
|
||||
unit ->
|
||||
export_metrics_partial_success
|
||||
(** [default_export_metrics_partial_success ()] is the default value for type [export_metrics_partial_success] *)
|
||||
|
||||
val default_export_metrics_service_response :
|
||||
?partial_success:export_metrics_partial_success option ->
|
||||
unit ->
|
||||
export_metrics_service_response
|
||||
(** [default_export_metrics_service_response ()] is the default value for type [export_metrics_service_response] *)
|
||||
|
|
@ -1,349 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
|
||||
type exemplar_value =
|
||||
| As_double of float
|
||||
| As_int of int64
|
||||
|
||||
and exemplar = {
|
||||
filtered_attributes : Common_types.key_value list;
|
||||
time_unix_nano : int64;
|
||||
value : exemplar_value;
|
||||
span_id : bytes;
|
||||
trace_id : bytes;
|
||||
}
|
||||
|
||||
type number_data_point_value =
|
||||
| As_double of float
|
||||
| As_int of int64
|
||||
|
||||
and number_data_point = {
|
||||
attributes : Common_types.key_value list;
|
||||
start_time_unix_nano : int64;
|
||||
time_unix_nano : int64;
|
||||
value : number_data_point_value;
|
||||
exemplars : exemplar list;
|
||||
flags : int32;
|
||||
}
|
||||
|
||||
type gauge = {
|
||||
data_points : number_data_point list;
|
||||
}
|
||||
|
||||
type aggregation_temporality =
|
||||
| Aggregation_temporality_unspecified
|
||||
| Aggregation_temporality_delta
|
||||
| Aggregation_temporality_cumulative
|
||||
|
||||
type sum = {
|
||||
data_points : number_data_point list;
|
||||
aggregation_temporality : aggregation_temporality;
|
||||
is_monotonic : bool;
|
||||
}
|
||||
|
||||
type histogram_data_point = {
|
||||
attributes : Common_types.key_value list;
|
||||
start_time_unix_nano : int64;
|
||||
time_unix_nano : int64;
|
||||
count : int64;
|
||||
sum : float option;
|
||||
bucket_counts : int64 list;
|
||||
explicit_bounds : float list;
|
||||
exemplars : exemplar list;
|
||||
flags : int32;
|
||||
min : float option;
|
||||
max : float option;
|
||||
}
|
||||
|
||||
type histogram = {
|
||||
data_points : histogram_data_point list;
|
||||
aggregation_temporality : aggregation_temporality;
|
||||
}
|
||||
|
||||
type exponential_histogram_data_point_buckets = {
|
||||
offset : int32;
|
||||
bucket_counts : int64 list;
|
||||
}
|
||||
|
||||
type exponential_histogram_data_point = {
|
||||
attributes : Common_types.key_value list;
|
||||
start_time_unix_nano : int64;
|
||||
time_unix_nano : int64;
|
||||
count : int64;
|
||||
sum : float option;
|
||||
scale : int32;
|
||||
zero_count : int64;
|
||||
positive : exponential_histogram_data_point_buckets option;
|
||||
negative : exponential_histogram_data_point_buckets option;
|
||||
flags : int32;
|
||||
exemplars : exemplar list;
|
||||
min : float option;
|
||||
max : float option;
|
||||
zero_threshold : float;
|
||||
}
|
||||
|
||||
type exponential_histogram = {
|
||||
data_points : exponential_histogram_data_point list;
|
||||
aggregation_temporality : aggregation_temporality;
|
||||
}
|
||||
|
||||
type summary_data_point_value_at_quantile = {
|
||||
quantile : float;
|
||||
value : float;
|
||||
}
|
||||
|
||||
type summary_data_point = {
|
||||
attributes : Common_types.key_value list;
|
||||
start_time_unix_nano : int64;
|
||||
time_unix_nano : int64;
|
||||
count : int64;
|
||||
sum : float;
|
||||
quantile_values : summary_data_point_value_at_quantile list;
|
||||
flags : int32;
|
||||
}
|
||||
|
||||
type summary = {
|
||||
data_points : summary_data_point list;
|
||||
}
|
||||
|
||||
type metric_data =
|
||||
| Gauge of gauge
|
||||
| Sum of sum
|
||||
| Histogram of histogram
|
||||
| Exponential_histogram of exponential_histogram
|
||||
| Summary of summary
|
||||
|
||||
and metric = {
|
||||
name : string;
|
||||
description : string;
|
||||
unit_ : string;
|
||||
data : metric_data;
|
||||
}
|
||||
|
||||
type scope_metrics = {
|
||||
scope : Common_types.instrumentation_scope option;
|
||||
metrics : metric list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type resource_metrics = {
|
||||
resource : Resource_types.resource option;
|
||||
scope_metrics : scope_metrics list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type metrics_data = {
|
||||
resource_metrics : resource_metrics list;
|
||||
}
|
||||
|
||||
type data_point_flags =
|
||||
| Data_point_flags_do_not_use
|
||||
| Data_point_flags_no_recorded_value_mask
|
||||
|
||||
let rec default_exemplar_value () : exemplar_value = As_double (0.)
|
||||
|
||||
and default_exemplar
|
||||
?filtered_attributes:((filtered_attributes:Common_types.key_value list) = [])
|
||||
?time_unix_nano:((time_unix_nano:int64) = 0L)
|
||||
?value:((value:exemplar_value) = As_double (0.))
|
||||
?span_id:((span_id:bytes) = Bytes.create 0)
|
||||
?trace_id:((trace_id:bytes) = Bytes.create 0)
|
||||
() : exemplar = {
|
||||
filtered_attributes;
|
||||
time_unix_nano;
|
||||
value;
|
||||
span_id;
|
||||
trace_id;
|
||||
}
|
||||
|
||||
let rec default_number_data_point_value () : number_data_point_value = As_double (0.)
|
||||
|
||||
and default_number_data_point
|
||||
?attributes:((attributes:Common_types.key_value list) = [])
|
||||
?start_time_unix_nano:((start_time_unix_nano:int64) = 0L)
|
||||
?time_unix_nano:((time_unix_nano:int64) = 0L)
|
||||
?value:((value:number_data_point_value) = As_double (0.))
|
||||
?exemplars:((exemplars:exemplar list) = [])
|
||||
?flags:((flags:int32) = 0l)
|
||||
() : number_data_point = {
|
||||
attributes;
|
||||
start_time_unix_nano;
|
||||
time_unix_nano;
|
||||
value;
|
||||
exemplars;
|
||||
flags;
|
||||
}
|
||||
|
||||
let rec default_gauge
|
||||
?data_points:((data_points:number_data_point list) = [])
|
||||
() : gauge = {
|
||||
data_points;
|
||||
}
|
||||
|
||||
let rec default_aggregation_temporality () = (Aggregation_temporality_unspecified:aggregation_temporality)
|
||||
|
||||
let rec default_sum
|
||||
?data_points:((data_points:number_data_point list) = [])
|
||||
?aggregation_temporality:((aggregation_temporality:aggregation_temporality) = default_aggregation_temporality ())
|
||||
?is_monotonic:((is_monotonic:bool) = false)
|
||||
() : sum = {
|
||||
data_points;
|
||||
aggregation_temporality;
|
||||
is_monotonic;
|
||||
}
|
||||
|
||||
let rec default_histogram_data_point
|
||||
?attributes:((attributes:Common_types.key_value list) = [])
|
||||
?start_time_unix_nano:((start_time_unix_nano:int64) = 0L)
|
||||
?time_unix_nano:((time_unix_nano:int64) = 0L)
|
||||
?count:((count:int64) = 0L)
|
||||
?sum:((sum:float option) = None)
|
||||
?bucket_counts:((bucket_counts:int64 list) = [])
|
||||
?explicit_bounds:((explicit_bounds:float list) = [])
|
||||
?exemplars:((exemplars:exemplar list) = [])
|
||||
?flags:((flags:int32) = 0l)
|
||||
?min:((min:float option) = None)
|
||||
?max:((max:float option) = None)
|
||||
() : histogram_data_point = {
|
||||
attributes;
|
||||
start_time_unix_nano;
|
||||
time_unix_nano;
|
||||
count;
|
||||
sum;
|
||||
bucket_counts;
|
||||
explicit_bounds;
|
||||
exemplars;
|
||||
flags;
|
||||
min;
|
||||
max;
|
||||
}
|
||||
|
||||
let rec default_histogram
|
||||
?data_points:((data_points:histogram_data_point list) = [])
|
||||
?aggregation_temporality:((aggregation_temporality:aggregation_temporality) = default_aggregation_temporality ())
|
||||
() : histogram = {
|
||||
data_points;
|
||||
aggregation_temporality;
|
||||
}
|
||||
|
||||
let rec default_exponential_histogram_data_point_buckets
|
||||
?offset:((offset:int32) = 0l)
|
||||
?bucket_counts:((bucket_counts:int64 list) = [])
|
||||
() : exponential_histogram_data_point_buckets = {
|
||||
offset;
|
||||
bucket_counts;
|
||||
}
|
||||
|
||||
let rec default_exponential_histogram_data_point
|
||||
?attributes:((attributes:Common_types.key_value list) = [])
|
||||
?start_time_unix_nano:((start_time_unix_nano:int64) = 0L)
|
||||
?time_unix_nano:((time_unix_nano:int64) = 0L)
|
||||
?count:((count:int64) = 0L)
|
||||
?sum:((sum:float option) = None)
|
||||
?scale:((scale:int32) = 0l)
|
||||
?zero_count:((zero_count:int64) = 0L)
|
||||
?positive:((positive:exponential_histogram_data_point_buckets option) = None)
|
||||
?negative:((negative:exponential_histogram_data_point_buckets option) = None)
|
||||
?flags:((flags:int32) = 0l)
|
||||
?exemplars:((exemplars:exemplar list) = [])
|
||||
?min:((min:float option) = None)
|
||||
?max:((max:float option) = None)
|
||||
?zero_threshold:((zero_threshold:float) = 0.)
|
||||
() : exponential_histogram_data_point = {
|
||||
attributes;
|
||||
start_time_unix_nano;
|
||||
time_unix_nano;
|
||||
count;
|
||||
sum;
|
||||
scale;
|
||||
zero_count;
|
||||
positive;
|
||||
negative;
|
||||
flags;
|
||||
exemplars;
|
||||
min;
|
||||
max;
|
||||
zero_threshold;
|
||||
}
|
||||
|
||||
let rec default_exponential_histogram
|
||||
?data_points:((data_points:exponential_histogram_data_point list) = [])
|
||||
?aggregation_temporality:((aggregation_temporality:aggregation_temporality) = default_aggregation_temporality ())
|
||||
() : exponential_histogram = {
|
||||
data_points;
|
||||
aggregation_temporality;
|
||||
}
|
||||
|
||||
let rec default_summary_data_point_value_at_quantile
|
||||
?quantile:((quantile:float) = 0.)
|
||||
?value:((value:float) = 0.)
|
||||
() : summary_data_point_value_at_quantile = {
|
||||
quantile;
|
||||
value;
|
||||
}
|
||||
|
||||
let rec default_summary_data_point
|
||||
?attributes:((attributes:Common_types.key_value list) = [])
|
||||
?start_time_unix_nano:((start_time_unix_nano:int64) = 0L)
|
||||
?time_unix_nano:((time_unix_nano:int64) = 0L)
|
||||
?count:((count:int64) = 0L)
|
||||
?sum:((sum:float) = 0.)
|
||||
?quantile_values:((quantile_values:summary_data_point_value_at_quantile list) = [])
|
||||
?flags:((flags:int32) = 0l)
|
||||
() : summary_data_point = {
|
||||
attributes;
|
||||
start_time_unix_nano;
|
||||
time_unix_nano;
|
||||
count;
|
||||
sum;
|
||||
quantile_values;
|
||||
flags;
|
||||
}
|
||||
|
||||
let rec default_summary
|
||||
?data_points:((data_points:summary_data_point list) = [])
|
||||
() : summary = {
|
||||
data_points;
|
||||
}
|
||||
|
||||
let rec default_metric_data () : metric_data = Gauge (default_gauge ())
|
||||
|
||||
and default_metric
|
||||
?name:((name:string) = "")
|
||||
?description:((description:string) = "")
|
||||
?unit_:((unit_:string) = "")
|
||||
?data:((data:metric_data) = Gauge (default_gauge ()))
|
||||
() : metric = {
|
||||
name;
|
||||
description;
|
||||
unit_;
|
||||
data;
|
||||
}
|
||||
|
||||
let rec default_scope_metrics
|
||||
?scope:((scope:Common_types.instrumentation_scope option) = None)
|
||||
?metrics:((metrics:metric list) = [])
|
||||
?schema_url:((schema_url:string) = "")
|
||||
() : scope_metrics = {
|
||||
scope;
|
||||
metrics;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec default_resource_metrics
|
||||
?resource:((resource:Resource_types.resource option) = None)
|
||||
?scope_metrics:((scope_metrics:scope_metrics list) = [])
|
||||
?schema_url:((schema_url:string) = "")
|
||||
() : resource_metrics = {
|
||||
resource;
|
||||
scope_metrics;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec default_metrics_data
|
||||
?resource_metrics:((resource_metrics:resource_metrics list) = [])
|
||||
() : metrics_data = {
|
||||
resource_metrics;
|
||||
}
|
||||
|
||||
let rec default_data_point_flags () = (Data_point_flags_do_not_use:data_point_flags)
|
||||
|
|
@ -1,309 +0,0 @@
|
|||
(** metrics.proto Types *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type exemplar_value =
|
||||
| As_double of float
|
||||
| As_int of int64
|
||||
|
||||
and exemplar = {
|
||||
filtered_attributes : Common_types.key_value list;
|
||||
time_unix_nano : int64;
|
||||
value : exemplar_value;
|
||||
span_id : bytes;
|
||||
trace_id : bytes;
|
||||
}
|
||||
|
||||
type number_data_point_value =
|
||||
| As_double of float
|
||||
| As_int of int64
|
||||
|
||||
and number_data_point = {
|
||||
attributes : Common_types.key_value list;
|
||||
start_time_unix_nano : int64;
|
||||
time_unix_nano : int64;
|
||||
value : number_data_point_value;
|
||||
exemplars : exemplar list;
|
||||
flags : int32;
|
||||
}
|
||||
|
||||
type gauge = {
|
||||
data_points : number_data_point list;
|
||||
}
|
||||
|
||||
type aggregation_temporality =
|
||||
| Aggregation_temporality_unspecified
|
||||
| Aggregation_temporality_delta
|
||||
| Aggregation_temporality_cumulative
|
||||
|
||||
type sum = {
|
||||
data_points : number_data_point list;
|
||||
aggregation_temporality : aggregation_temporality;
|
||||
is_monotonic : bool;
|
||||
}
|
||||
|
||||
type histogram_data_point = {
|
||||
attributes : Common_types.key_value list;
|
||||
start_time_unix_nano : int64;
|
||||
time_unix_nano : int64;
|
||||
count : int64;
|
||||
sum : float option;
|
||||
bucket_counts : int64 list;
|
||||
explicit_bounds : float list;
|
||||
exemplars : exemplar list;
|
||||
flags : int32;
|
||||
min : float option;
|
||||
max : float option;
|
||||
}
|
||||
|
||||
type histogram = {
|
||||
data_points : histogram_data_point list;
|
||||
aggregation_temporality : aggregation_temporality;
|
||||
}
|
||||
|
||||
type exponential_histogram_data_point_buckets = {
|
||||
offset : int32;
|
||||
bucket_counts : int64 list;
|
||||
}
|
||||
|
||||
type exponential_histogram_data_point = {
|
||||
attributes : Common_types.key_value list;
|
||||
start_time_unix_nano : int64;
|
||||
time_unix_nano : int64;
|
||||
count : int64;
|
||||
sum : float option;
|
||||
scale : int32;
|
||||
zero_count : int64;
|
||||
positive : exponential_histogram_data_point_buckets option;
|
||||
negative : exponential_histogram_data_point_buckets option;
|
||||
flags : int32;
|
||||
exemplars : exemplar list;
|
||||
min : float option;
|
||||
max : float option;
|
||||
zero_threshold : float;
|
||||
}
|
||||
|
||||
type exponential_histogram = {
|
||||
data_points : exponential_histogram_data_point list;
|
||||
aggregation_temporality : aggregation_temporality;
|
||||
}
|
||||
|
||||
type summary_data_point_value_at_quantile = {
|
||||
quantile : float;
|
||||
value : float;
|
||||
}
|
||||
|
||||
type summary_data_point = {
|
||||
attributes : Common_types.key_value list;
|
||||
start_time_unix_nano : int64;
|
||||
time_unix_nano : int64;
|
||||
count : int64;
|
||||
sum : float;
|
||||
quantile_values : summary_data_point_value_at_quantile list;
|
||||
flags : int32;
|
||||
}
|
||||
|
||||
type summary = {
|
||||
data_points : summary_data_point list;
|
||||
}
|
||||
|
||||
type metric_data =
|
||||
| Gauge of gauge
|
||||
| Sum of sum
|
||||
| Histogram of histogram
|
||||
| Exponential_histogram of exponential_histogram
|
||||
| Summary of summary
|
||||
|
||||
and metric = {
|
||||
name : string;
|
||||
description : string;
|
||||
unit_ : string;
|
||||
data : metric_data;
|
||||
}
|
||||
|
||||
type scope_metrics = {
|
||||
scope : Common_types.instrumentation_scope option;
|
||||
metrics : metric list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type resource_metrics = {
|
||||
resource : Resource_types.resource option;
|
||||
scope_metrics : scope_metrics list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type metrics_data = {
|
||||
resource_metrics : resource_metrics list;
|
||||
}
|
||||
|
||||
type data_point_flags =
|
||||
| Data_point_flags_do_not_use
|
||||
| Data_point_flags_no_recorded_value_mask
|
||||
|
||||
|
||||
(** {2 Default values} *)
|
||||
|
||||
val default_exemplar_value : unit -> exemplar_value
|
||||
(** [default_exemplar_value ()] is the default value for type [exemplar_value] *)
|
||||
|
||||
val default_exemplar :
|
||||
?filtered_attributes:Common_types.key_value list ->
|
||||
?time_unix_nano:int64 ->
|
||||
?value:exemplar_value ->
|
||||
?span_id:bytes ->
|
||||
?trace_id:bytes ->
|
||||
unit ->
|
||||
exemplar
|
||||
(** [default_exemplar ()] is the default value for type [exemplar] *)
|
||||
|
||||
val default_number_data_point_value : unit -> number_data_point_value
|
||||
(** [default_number_data_point_value ()] is the default value for type [number_data_point_value] *)
|
||||
|
||||
val default_number_data_point :
|
||||
?attributes:Common_types.key_value list ->
|
||||
?start_time_unix_nano:int64 ->
|
||||
?time_unix_nano:int64 ->
|
||||
?value:number_data_point_value ->
|
||||
?exemplars:exemplar list ->
|
||||
?flags:int32 ->
|
||||
unit ->
|
||||
number_data_point
|
||||
(** [default_number_data_point ()] is the default value for type [number_data_point] *)
|
||||
|
||||
val default_gauge :
|
||||
?data_points:number_data_point list ->
|
||||
unit ->
|
||||
gauge
|
||||
(** [default_gauge ()] is the default value for type [gauge] *)
|
||||
|
||||
val default_aggregation_temporality : unit -> aggregation_temporality
|
||||
(** [default_aggregation_temporality ()] is the default value for type [aggregation_temporality] *)
|
||||
|
||||
val default_sum :
|
||||
?data_points:number_data_point list ->
|
||||
?aggregation_temporality:aggregation_temporality ->
|
||||
?is_monotonic:bool ->
|
||||
unit ->
|
||||
sum
|
||||
(** [default_sum ()] is the default value for type [sum] *)
|
||||
|
||||
val default_histogram_data_point :
|
||||
?attributes:Common_types.key_value list ->
|
||||
?start_time_unix_nano:int64 ->
|
||||
?time_unix_nano:int64 ->
|
||||
?count:int64 ->
|
||||
?sum:float option ->
|
||||
?bucket_counts:int64 list ->
|
||||
?explicit_bounds:float list ->
|
||||
?exemplars:exemplar list ->
|
||||
?flags:int32 ->
|
||||
?min:float option ->
|
||||
?max:float option ->
|
||||
unit ->
|
||||
histogram_data_point
|
||||
(** [default_histogram_data_point ()] is the default value for type [histogram_data_point] *)
|
||||
|
||||
val default_histogram :
|
||||
?data_points:histogram_data_point list ->
|
||||
?aggregation_temporality:aggregation_temporality ->
|
||||
unit ->
|
||||
histogram
|
||||
(** [default_histogram ()] is the default value for type [histogram] *)
|
||||
|
||||
val default_exponential_histogram_data_point_buckets :
|
||||
?offset:int32 ->
|
||||
?bucket_counts:int64 list ->
|
||||
unit ->
|
||||
exponential_histogram_data_point_buckets
|
||||
(** [default_exponential_histogram_data_point_buckets ()] is the default value for type [exponential_histogram_data_point_buckets] *)
|
||||
|
||||
val default_exponential_histogram_data_point :
|
||||
?attributes:Common_types.key_value list ->
|
||||
?start_time_unix_nano:int64 ->
|
||||
?time_unix_nano:int64 ->
|
||||
?count:int64 ->
|
||||
?sum:float option ->
|
||||
?scale:int32 ->
|
||||
?zero_count:int64 ->
|
||||
?positive:exponential_histogram_data_point_buckets option ->
|
||||
?negative:exponential_histogram_data_point_buckets option ->
|
||||
?flags:int32 ->
|
||||
?exemplars:exemplar list ->
|
||||
?min:float option ->
|
||||
?max:float option ->
|
||||
?zero_threshold:float ->
|
||||
unit ->
|
||||
exponential_histogram_data_point
|
||||
(** [default_exponential_histogram_data_point ()] is the default value for type [exponential_histogram_data_point] *)
|
||||
|
||||
val default_exponential_histogram :
|
||||
?data_points:exponential_histogram_data_point list ->
|
||||
?aggregation_temporality:aggregation_temporality ->
|
||||
unit ->
|
||||
exponential_histogram
|
||||
(** [default_exponential_histogram ()] is the default value for type [exponential_histogram] *)
|
||||
|
||||
val default_summary_data_point_value_at_quantile :
|
||||
?quantile:float ->
|
||||
?value:float ->
|
||||
unit ->
|
||||
summary_data_point_value_at_quantile
|
||||
(** [default_summary_data_point_value_at_quantile ()] is the default value for type [summary_data_point_value_at_quantile] *)
|
||||
|
||||
val default_summary_data_point :
|
||||
?attributes:Common_types.key_value list ->
|
||||
?start_time_unix_nano:int64 ->
|
||||
?time_unix_nano:int64 ->
|
||||
?count:int64 ->
|
||||
?sum:float ->
|
||||
?quantile_values:summary_data_point_value_at_quantile list ->
|
||||
?flags:int32 ->
|
||||
unit ->
|
||||
summary_data_point
|
||||
(** [default_summary_data_point ()] is the default value for type [summary_data_point] *)
|
||||
|
||||
val default_summary :
|
||||
?data_points:summary_data_point list ->
|
||||
unit ->
|
||||
summary
|
||||
(** [default_summary ()] is the default value for type [summary] *)
|
||||
|
||||
val default_metric_data : unit -> metric_data
|
||||
(** [default_metric_data ()] is the default value for type [metric_data] *)
|
||||
|
||||
val default_metric :
|
||||
?name:string ->
|
||||
?description:string ->
|
||||
?unit_:string ->
|
||||
?data:metric_data ->
|
||||
unit ->
|
||||
metric
|
||||
(** [default_metric ()] is the default value for type [metric] *)
|
||||
|
||||
val default_scope_metrics :
|
||||
?scope:Common_types.instrumentation_scope option ->
|
||||
?metrics:metric list ->
|
||||
?schema_url:string ->
|
||||
unit ->
|
||||
scope_metrics
|
||||
(** [default_scope_metrics ()] is the default value for type [scope_metrics] *)
|
||||
|
||||
val default_resource_metrics :
|
||||
?resource:Resource_types.resource option ->
|
||||
?scope_metrics:scope_metrics list ->
|
||||
?schema_url:string ->
|
||||
unit ->
|
||||
resource_metrics
|
||||
(** [default_resource_metrics ()] is the default value for type [resource_metrics] *)
|
||||
|
||||
val default_metrics_data :
|
||||
?resource_metrics:resource_metrics list ->
|
||||
unit ->
|
||||
metrics_data
|
||||
(** [default_metrics_data ()] is the default value for type [metrics_data] *)
|
||||
|
||||
val default_data_point_flags : unit -> data_point_flags
|
||||
(** [default_data_point_flags ()] is the default value for type [data_point_flags] *)
|
||||
88
src/proto/resource.ml
Normal file
88
src/proto/resource.ml
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type resource = {
|
||||
attributes : Common.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
let rec default_resource
|
||||
?attributes:((attributes:Common.key_value list) = [])
|
||||
?dropped_attributes_count:((dropped_attributes_count:int32) = 0l)
|
||||
() : resource = {
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
}
|
||||
|
||||
type resource_mutable = {
|
||||
mutable attributes : Common.key_value list;
|
||||
mutable dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
let default_resource_mutable () : resource_mutable = {
|
||||
attributes = [];
|
||||
dropped_attributes_count = 0l;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
let rec make_resource
|
||||
~(attributes:Common.key_value list)
|
||||
~(dropped_attributes_count:int32)
|
||||
() : resource = {
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
}
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
let rec pp_resource fmt (v:resource) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "attributes" (Pbrt.Pp.pp_list Common.pp_key_value) fmt v.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_attributes_count" Pbrt.Pp.pp_int32 fmt v.dropped_attributes_count;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
let rec encode_pb_resource (v:resource) encoder =
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested Common.encode_pb_key_value x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
) v.attributes encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.dropped_attributes_count encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Varint encoder;
|
||||
()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
let rec decode_pb_resource d =
|
||||
let v = default_resource_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.attributes <- List.rev v.attributes;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.attributes <- (Common.decode_pb_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(resource), field(1)" pk
|
||||
| Some (2, Pbrt.Varint) -> begin
|
||||
v.dropped_attributes_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(resource), field(2)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
attributes = v.attributes;
|
||||
dropped_attributes_count = v.dropped_attributes_count;
|
||||
} : resource)
|
||||
54
src/proto/resource.mli
Normal file
54
src/proto/resource.mli
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
|
||||
(** Code for resource.proto *)
|
||||
|
||||
(* generated from "../../vendor/opentelemetry-proto/opentelemetry/proto/resource/v1/resource.proto", do not edit *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type resource = {
|
||||
attributes : Common.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Basic values} *)
|
||||
|
||||
val default_resource :
|
||||
?attributes:Common.key_value list ->
|
||||
?dropped_attributes_count:int32 ->
|
||||
unit ->
|
||||
resource
|
||||
(** [default_resource ()] is the default value for type [resource] *)
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
val make_resource :
|
||||
attributes:Common.key_value list ->
|
||||
dropped_attributes_count:int32 ->
|
||||
unit ->
|
||||
resource
|
||||
(** [make_resource … ()] is a builder for type [resource] *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_resource : Format.formatter -> resource -> unit
|
||||
(** [pp_resource v] formats v *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_pb_resource : resource -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_resource v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_pb_resource : Pbrt.Decoder.t -> resource
|
||||
(** [decode_pb_resource decoder] decodes a [resource] binary value from [decoder] *)
|
||||
|
||||
|
||||
(** {2 Services} *)
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type resource_mutable = {
|
||||
mutable attributes : Common_types.key_value list;
|
||||
mutable dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
let default_resource_mutable () : resource_mutable = {
|
||||
attributes = [];
|
||||
dropped_attributes_count = 0l;
|
||||
}
|
||||
|
||||
|
||||
let rec decode_resource d =
|
||||
let v = default_resource_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
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(resource), field(1)" pk
|
||||
| Some (2, Pbrt.Varint) -> begin
|
||||
v.dropped_attributes_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(resource), field(2)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Resource_types.attributes = v.attributes;
|
||||
Resource_types.dropped_attributes_count = v.dropped_attributes_count;
|
||||
} : Resource_types.resource)
|
||||
|
||||
let rec encode_resource (v:Resource_types.resource) encoder =
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (Common_pb.encode_key_value x) encoder;
|
||||
) v.Resource_types.attributes;
|
||||
Pbrt.Encoder.key (2, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.Resource_types.dropped_attributes_count encoder;
|
||||
()
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
(** resource.proto Binary Encoding *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_resource : Resource_types.resource -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_resource v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_resource : Pbrt.Decoder.t -> Resource_types.resource
|
||||
(** [decode_resource decoder] decodes a [resource] value from [decoder] *)
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
let rec pp_resource fmt (v:Resource_types.resource) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "attributes" (Pbrt.Pp.pp_list Common_pp.pp_key_value) fmt v.Resource_types.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_attributes_count" Pbrt.Pp.pp_int32 fmt v.Resource_types.dropped_attributes_count;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
(** resource.proto Pretty Printing *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_resource : Format.formatter -> Resource_types.resource -> unit
|
||||
(** [pp_resource v] formats v *)
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
|
||||
type resource = {
|
||||
attributes : Common_types.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
let rec default_resource
|
||||
?attributes:((attributes:Common_types.key_value list) = [])
|
||||
?dropped_attributes_count:((dropped_attributes_count:int32) = 0l)
|
||||
() : resource = {
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
(** resource.proto Types *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type resource = {
|
||||
attributes : Common_types.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Default values} *)
|
||||
|
||||
val default_resource :
|
||||
?attributes:Common_types.key_value list ->
|
||||
?dropped_attributes_count:int32 ->
|
||||
unit ->
|
||||
resource
|
||||
(** [default_resource ()] is the default value for type [resource] *)
|
||||
104
src/proto/status.ml
Normal file
104
src/proto/status.ml
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type status = {
|
||||
code : int32;
|
||||
message : bytes;
|
||||
details : bytes list;
|
||||
}
|
||||
|
||||
let rec default_status
|
||||
?code:((code:int32) = 0l)
|
||||
?message:((message:bytes) = Bytes.create 0)
|
||||
?details:((details:bytes list) = [])
|
||||
() : status = {
|
||||
code;
|
||||
message;
|
||||
details;
|
||||
}
|
||||
|
||||
type status_mutable = {
|
||||
mutable code : int32;
|
||||
mutable message : bytes;
|
||||
mutable details : bytes list;
|
||||
}
|
||||
|
||||
let default_status_mutable () : status_mutable = {
|
||||
code = 0l;
|
||||
message = Bytes.create 0;
|
||||
details = [];
|
||||
}
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
let rec make_status
|
||||
~(code:int32)
|
||||
~(message:bytes)
|
||||
~(details:bytes list)
|
||||
() : status = {
|
||||
code;
|
||||
message;
|
||||
details;
|
||||
}
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
let rec pp_status fmt (v:status) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "code" Pbrt.Pp.pp_int32 fmt v.code;
|
||||
Pbrt.Pp.pp_record_field ~first:false "message" Pbrt.Pp.pp_bytes fmt v.message;
|
||||
Pbrt.Pp.pp_record_field ~first:false "details" (Pbrt.Pp.pp_list Pbrt.Pp.pp_bytes) fmt v.details;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
let rec encode_pb_status (v:status) encoder =
|
||||
Pbrt.Encoder.int32_as_varint v.code encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Varint encoder;
|
||||
Pbrt.Encoder.bytes v.message encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.bytes x encoder;
|
||||
Pbrt.Encoder.key 3 Pbrt.Bytes encoder;
|
||||
) v.details encoder;
|
||||
()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
let rec decode_pb_status d =
|
||||
let v = default_status_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.details <- List.rev v.details;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Varint) -> begin
|
||||
v.code <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(status), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.message <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(status), field(2)" pk
|
||||
| Some (3, Pbrt.Bytes) -> begin
|
||||
v.details <- (Pbrt.Decoder.bytes d) :: v.details;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(status), field(3)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
code = v.code;
|
||||
message = v.message;
|
||||
details = v.details;
|
||||
} : status)
|
||||
57
src/proto/status.mli
Normal file
57
src/proto/status.mli
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
|
||||
(** Code for status.proto *)
|
||||
|
||||
(* generated from "status.proto", do not edit *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type status = {
|
||||
code : int32;
|
||||
message : bytes;
|
||||
details : bytes list;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Basic values} *)
|
||||
|
||||
val default_status :
|
||||
?code:int32 ->
|
||||
?message:bytes ->
|
||||
?details:bytes list ->
|
||||
unit ->
|
||||
status
|
||||
(** [default_status ()] is the default value for type [status] *)
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
val make_status :
|
||||
code:int32 ->
|
||||
message:bytes ->
|
||||
details:bytes list ->
|
||||
unit ->
|
||||
status
|
||||
(** [make_status … ()] is a builder for type [status] *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_status : Format.formatter -> status -> unit
|
||||
(** [pp_status v] formats v *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_pb_status : status -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_status v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_pb_status : Pbrt.Decoder.t -> status
|
||||
(** [decode_pb_status decoder] decodes a [status] binary value from [decoder] *)
|
||||
|
||||
|
||||
(** {2 Services} *)
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type status_mutable = {
|
||||
mutable code : int32;
|
||||
mutable message : bytes;
|
||||
mutable details : bytes list;
|
||||
}
|
||||
|
||||
let default_status_mutable () : status_mutable = {
|
||||
code = 0l;
|
||||
message = Bytes.create 0;
|
||||
details = [];
|
||||
}
|
||||
|
||||
|
||||
let rec decode_status d =
|
||||
let v = default_status_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.details <- List.rev v.details;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Varint) -> begin
|
||||
v.code <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(status), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.message <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(status), field(2)" pk
|
||||
| Some (3, Pbrt.Bytes) -> begin
|
||||
v.details <- (Pbrt.Decoder.bytes d) :: v.details;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(status), field(3)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Status_types.code = v.code;
|
||||
Status_types.message = v.message;
|
||||
Status_types.details = v.details;
|
||||
} : Status_types.status)
|
||||
|
||||
let rec encode_status (v:Status_types.status) encoder =
|
||||
Pbrt.Encoder.key (1, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.Status_types.code encoder;
|
||||
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.bytes v.Status_types.message encoder;
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.bytes x encoder;
|
||||
) v.Status_types.details;
|
||||
()
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
(** status.proto Binary Encoding *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_status : Status_types.status -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_status v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_status : Pbrt.Decoder.t -> Status_types.status
|
||||
(** [decode_status decoder] decodes a [status] value from [decoder] *)
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
let rec pp_status fmt (v:Status_types.status) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "code" Pbrt.Pp.pp_int32 fmt v.Status_types.code;
|
||||
Pbrt.Pp.pp_record_field ~first:false "message" Pbrt.Pp.pp_bytes fmt v.Status_types.message;
|
||||
Pbrt.Pp.pp_record_field ~first:false "details" (Pbrt.Pp.pp_list Pbrt.Pp.pp_bytes) fmt v.Status_types.details;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
(** status.proto Pretty Printing *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_status : Format.formatter -> Status_types.status -> unit
|
||||
(** [pp_status v] formats v *)
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
|
||||
type status = {
|
||||
code : int32;
|
||||
message : bytes;
|
||||
details : bytes list;
|
||||
}
|
||||
|
||||
let rec default_status
|
||||
?code:((code:int32) = 0l)
|
||||
?message:((message:bytes) = Bytes.create 0)
|
||||
?details:((details:bytes list) = [])
|
||||
() : status = {
|
||||
code;
|
||||
message;
|
||||
details;
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
(** status.proto Types *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type status = {
|
||||
code : int32;
|
||||
message : bytes;
|
||||
details : bytes list;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Default values} *)
|
||||
|
||||
val default_status :
|
||||
?code:int32 ->
|
||||
?message:bytes ->
|
||||
?details:bytes list ->
|
||||
unit ->
|
||||
status
|
||||
(** [default_status ()] is the default value for type [status] *)
|
||||
905
src/proto/trace.ml
Normal file
905
src/proto/trace.ml
Normal file
|
|
@ -0,0 +1,905 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type span_span_kind =
|
||||
| Span_kind_unspecified
|
||||
| Span_kind_internal
|
||||
| Span_kind_server
|
||||
| Span_kind_client
|
||||
| Span_kind_producer
|
||||
| Span_kind_consumer
|
||||
|
||||
type span_event = {
|
||||
time_unix_nano : int64;
|
||||
name : string;
|
||||
attributes : Common.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
type span_link = {
|
||||
trace_id : bytes;
|
||||
span_id : bytes;
|
||||
trace_state : string;
|
||||
attributes : Common.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
type status_status_code =
|
||||
| Status_code_unset
|
||||
| Status_code_ok
|
||||
| Status_code_error
|
||||
|
||||
type status = {
|
||||
message : string;
|
||||
code : status_status_code;
|
||||
}
|
||||
|
||||
type span = {
|
||||
trace_id : bytes;
|
||||
span_id : bytes;
|
||||
trace_state : string;
|
||||
parent_span_id : bytes;
|
||||
name : string;
|
||||
kind : span_span_kind;
|
||||
start_time_unix_nano : int64;
|
||||
end_time_unix_nano : int64;
|
||||
attributes : Common.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
events : span_event list;
|
||||
dropped_events_count : int32;
|
||||
links : span_link list;
|
||||
dropped_links_count : int32;
|
||||
status : status option;
|
||||
}
|
||||
|
||||
type scope_spans = {
|
||||
scope : Common.instrumentation_scope option;
|
||||
spans : span list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type resource_spans = {
|
||||
resource : Resource.resource option;
|
||||
scope_spans : scope_spans list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type traces_data = {
|
||||
resource_spans : resource_spans list;
|
||||
}
|
||||
|
||||
let rec default_span_span_kind () = (Span_kind_unspecified:span_span_kind)
|
||||
|
||||
let rec default_span_event
|
||||
?time_unix_nano:((time_unix_nano:int64) = 0L)
|
||||
?name:((name:string) = "")
|
||||
?attributes:((attributes:Common.key_value list) = [])
|
||||
?dropped_attributes_count:((dropped_attributes_count:int32) = 0l)
|
||||
() : span_event = {
|
||||
time_unix_nano;
|
||||
name;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
}
|
||||
|
||||
let rec default_span_link
|
||||
?trace_id:((trace_id:bytes) = Bytes.create 0)
|
||||
?span_id:((span_id:bytes) = Bytes.create 0)
|
||||
?trace_state:((trace_state:string) = "")
|
||||
?attributes:((attributes:Common.key_value list) = [])
|
||||
?dropped_attributes_count:((dropped_attributes_count:int32) = 0l)
|
||||
() : span_link = {
|
||||
trace_id;
|
||||
span_id;
|
||||
trace_state;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
}
|
||||
|
||||
let rec default_status_status_code () = (Status_code_unset:status_status_code)
|
||||
|
||||
let rec default_status
|
||||
?message:((message:string) = "")
|
||||
?code:((code:status_status_code) = default_status_status_code ())
|
||||
() : status = {
|
||||
message;
|
||||
code;
|
||||
}
|
||||
|
||||
let rec default_span
|
||||
?trace_id:((trace_id:bytes) = Bytes.create 0)
|
||||
?span_id:((span_id:bytes) = Bytes.create 0)
|
||||
?trace_state:((trace_state:string) = "")
|
||||
?parent_span_id:((parent_span_id:bytes) = Bytes.create 0)
|
||||
?name:((name:string) = "")
|
||||
?kind:((kind:span_span_kind) = default_span_span_kind ())
|
||||
?start_time_unix_nano:((start_time_unix_nano:int64) = 0L)
|
||||
?end_time_unix_nano:((end_time_unix_nano:int64) = 0L)
|
||||
?attributes:((attributes:Common.key_value list) = [])
|
||||
?dropped_attributes_count:((dropped_attributes_count:int32) = 0l)
|
||||
?events:((events:span_event list) = [])
|
||||
?dropped_events_count:((dropped_events_count:int32) = 0l)
|
||||
?links:((links:span_link list) = [])
|
||||
?dropped_links_count:((dropped_links_count:int32) = 0l)
|
||||
?status:((status:status option) = None)
|
||||
() : span = {
|
||||
trace_id;
|
||||
span_id;
|
||||
trace_state;
|
||||
parent_span_id;
|
||||
name;
|
||||
kind;
|
||||
start_time_unix_nano;
|
||||
end_time_unix_nano;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
events;
|
||||
dropped_events_count;
|
||||
links;
|
||||
dropped_links_count;
|
||||
status;
|
||||
}
|
||||
|
||||
let rec default_scope_spans
|
||||
?scope:((scope:Common.instrumentation_scope option) = None)
|
||||
?spans:((spans:span list) = [])
|
||||
?schema_url:((schema_url:string) = "")
|
||||
() : scope_spans = {
|
||||
scope;
|
||||
spans;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec default_resource_spans
|
||||
?resource:((resource:Resource.resource option) = None)
|
||||
?scope_spans:((scope_spans:scope_spans list) = [])
|
||||
?schema_url:((schema_url:string) = "")
|
||||
() : resource_spans = {
|
||||
resource;
|
||||
scope_spans;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec default_traces_data
|
||||
?resource_spans:((resource_spans:resource_spans list) = [])
|
||||
() : traces_data = {
|
||||
resource_spans;
|
||||
}
|
||||
|
||||
type span_event_mutable = {
|
||||
mutable time_unix_nano : int64;
|
||||
mutable name : string;
|
||||
mutable attributes : Common.key_value list;
|
||||
mutable dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
let default_span_event_mutable () : span_event_mutable = {
|
||||
time_unix_nano = 0L;
|
||||
name = "";
|
||||
attributes = [];
|
||||
dropped_attributes_count = 0l;
|
||||
}
|
||||
|
||||
type span_link_mutable = {
|
||||
mutable trace_id : bytes;
|
||||
mutable span_id : bytes;
|
||||
mutable trace_state : string;
|
||||
mutable attributes : Common.key_value list;
|
||||
mutable dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
let default_span_link_mutable () : span_link_mutable = {
|
||||
trace_id = Bytes.create 0;
|
||||
span_id = Bytes.create 0;
|
||||
trace_state = "";
|
||||
attributes = [];
|
||||
dropped_attributes_count = 0l;
|
||||
}
|
||||
|
||||
type status_mutable = {
|
||||
mutable message : string;
|
||||
mutable code : status_status_code;
|
||||
}
|
||||
|
||||
let default_status_mutable () : status_mutable = {
|
||||
message = "";
|
||||
code = default_status_status_code ();
|
||||
}
|
||||
|
||||
type span_mutable = {
|
||||
mutable trace_id : bytes;
|
||||
mutable span_id : bytes;
|
||||
mutable trace_state : string;
|
||||
mutable parent_span_id : bytes;
|
||||
mutable name : string;
|
||||
mutable kind : span_span_kind;
|
||||
mutable start_time_unix_nano : int64;
|
||||
mutable end_time_unix_nano : int64;
|
||||
mutable attributes : Common.key_value list;
|
||||
mutable dropped_attributes_count : int32;
|
||||
mutable events : span_event list;
|
||||
mutable dropped_events_count : int32;
|
||||
mutable links : span_link list;
|
||||
mutable dropped_links_count : int32;
|
||||
mutable status : status option;
|
||||
}
|
||||
|
||||
let default_span_mutable () : span_mutable = {
|
||||
trace_id = Bytes.create 0;
|
||||
span_id = Bytes.create 0;
|
||||
trace_state = "";
|
||||
parent_span_id = Bytes.create 0;
|
||||
name = "";
|
||||
kind = default_span_span_kind ();
|
||||
start_time_unix_nano = 0L;
|
||||
end_time_unix_nano = 0L;
|
||||
attributes = [];
|
||||
dropped_attributes_count = 0l;
|
||||
events = [];
|
||||
dropped_events_count = 0l;
|
||||
links = [];
|
||||
dropped_links_count = 0l;
|
||||
status = None;
|
||||
}
|
||||
|
||||
type scope_spans_mutable = {
|
||||
mutable scope : Common.instrumentation_scope option;
|
||||
mutable spans : span list;
|
||||
mutable schema_url : string;
|
||||
}
|
||||
|
||||
let default_scope_spans_mutable () : scope_spans_mutable = {
|
||||
scope = None;
|
||||
spans = [];
|
||||
schema_url = "";
|
||||
}
|
||||
|
||||
type resource_spans_mutable = {
|
||||
mutable resource : Resource.resource option;
|
||||
mutable scope_spans : scope_spans list;
|
||||
mutable schema_url : string;
|
||||
}
|
||||
|
||||
let default_resource_spans_mutable () : resource_spans_mutable = {
|
||||
resource = None;
|
||||
scope_spans = [];
|
||||
schema_url = "";
|
||||
}
|
||||
|
||||
type traces_data_mutable = {
|
||||
mutable resource_spans : resource_spans list;
|
||||
}
|
||||
|
||||
let default_traces_data_mutable () : traces_data_mutable = {
|
||||
resource_spans = [];
|
||||
}
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
|
||||
let rec make_span_event
|
||||
~(time_unix_nano:int64)
|
||||
~(name:string)
|
||||
~(attributes:Common.key_value list)
|
||||
~(dropped_attributes_count:int32)
|
||||
() : span_event = {
|
||||
time_unix_nano;
|
||||
name;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
}
|
||||
|
||||
let rec make_span_link
|
||||
~(trace_id:bytes)
|
||||
~(span_id:bytes)
|
||||
~(trace_state:string)
|
||||
~(attributes:Common.key_value list)
|
||||
~(dropped_attributes_count:int32)
|
||||
() : span_link = {
|
||||
trace_id;
|
||||
span_id;
|
||||
trace_state;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
}
|
||||
|
||||
|
||||
let rec make_status
|
||||
~(message:string)
|
||||
~(code:status_status_code)
|
||||
() : status = {
|
||||
message;
|
||||
code;
|
||||
}
|
||||
|
||||
let rec make_span
|
||||
~(trace_id:bytes)
|
||||
~(span_id:bytes)
|
||||
~(trace_state:string)
|
||||
~(parent_span_id:bytes)
|
||||
~(name:string)
|
||||
~(kind:span_span_kind)
|
||||
~(start_time_unix_nano:int64)
|
||||
~(end_time_unix_nano:int64)
|
||||
~(attributes:Common.key_value list)
|
||||
~(dropped_attributes_count:int32)
|
||||
~(events:span_event list)
|
||||
~(dropped_events_count:int32)
|
||||
~(links:span_link list)
|
||||
~(dropped_links_count:int32)
|
||||
?status:((status:status option) = None)
|
||||
() : span = {
|
||||
trace_id;
|
||||
span_id;
|
||||
trace_state;
|
||||
parent_span_id;
|
||||
name;
|
||||
kind;
|
||||
start_time_unix_nano;
|
||||
end_time_unix_nano;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
events;
|
||||
dropped_events_count;
|
||||
links;
|
||||
dropped_links_count;
|
||||
status;
|
||||
}
|
||||
|
||||
let rec make_scope_spans
|
||||
?scope:((scope:Common.instrumentation_scope option) = None)
|
||||
~(spans:span list)
|
||||
~(schema_url:string)
|
||||
() : scope_spans = {
|
||||
scope;
|
||||
spans;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec make_resource_spans
|
||||
?resource:((resource:Resource.resource option) = None)
|
||||
~(scope_spans:scope_spans list)
|
||||
~(schema_url:string)
|
||||
() : resource_spans = {
|
||||
resource;
|
||||
scope_spans;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec make_traces_data
|
||||
~(resource_spans:resource_spans list)
|
||||
() : traces_data = {
|
||||
resource_spans;
|
||||
}
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
let rec pp_span_span_kind fmt (v:span_span_kind) =
|
||||
match v with
|
||||
| Span_kind_unspecified -> Format.fprintf fmt "Span_kind_unspecified"
|
||||
| Span_kind_internal -> Format.fprintf fmt "Span_kind_internal"
|
||||
| Span_kind_server -> Format.fprintf fmt "Span_kind_server"
|
||||
| Span_kind_client -> Format.fprintf fmt "Span_kind_client"
|
||||
| Span_kind_producer -> Format.fprintf fmt "Span_kind_producer"
|
||||
| Span_kind_consumer -> Format.fprintf fmt "Span_kind_consumer"
|
||||
|
||||
let rec pp_span_event fmt (v:span_event) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "time_unix_nano" Pbrt.Pp.pp_int64 fmt v.time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "name" Pbrt.Pp.pp_string fmt v.name;
|
||||
Pbrt.Pp.pp_record_field ~first:false "attributes" (Pbrt.Pp.pp_list Common.pp_key_value) fmt v.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_attributes_count" Pbrt.Pp.pp_int32 fmt v.dropped_attributes_count;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_span_link fmt (v:span_link) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "trace_id" Pbrt.Pp.pp_bytes fmt v.trace_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "span_id" Pbrt.Pp.pp_bytes fmt v.span_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "trace_state" Pbrt.Pp.pp_string fmt v.trace_state;
|
||||
Pbrt.Pp.pp_record_field ~first:false "attributes" (Pbrt.Pp.pp_list Common.pp_key_value) fmt v.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_attributes_count" Pbrt.Pp.pp_int32 fmt v.dropped_attributes_count;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_status_status_code fmt (v:status_status_code) =
|
||||
match v with
|
||||
| Status_code_unset -> Format.fprintf fmt "Status_code_unset"
|
||||
| Status_code_ok -> Format.fprintf fmt "Status_code_ok"
|
||||
| Status_code_error -> Format.fprintf fmt "Status_code_error"
|
||||
|
||||
let rec pp_status fmt (v:status) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "message" Pbrt.Pp.pp_string fmt v.message;
|
||||
Pbrt.Pp.pp_record_field ~first:false "code" pp_status_status_code fmt v.code;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_span fmt (v:span) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "trace_id" Pbrt.Pp.pp_bytes fmt v.trace_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "span_id" Pbrt.Pp.pp_bytes fmt v.span_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "trace_state" Pbrt.Pp.pp_string fmt v.trace_state;
|
||||
Pbrt.Pp.pp_record_field ~first:false "parent_span_id" Pbrt.Pp.pp_bytes fmt v.parent_span_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "name" Pbrt.Pp.pp_string fmt v.name;
|
||||
Pbrt.Pp.pp_record_field ~first:false "kind" pp_span_span_kind fmt v.kind;
|
||||
Pbrt.Pp.pp_record_field ~first:false "start_time_unix_nano" Pbrt.Pp.pp_int64 fmt v.start_time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "end_time_unix_nano" Pbrt.Pp.pp_int64 fmt v.end_time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "attributes" (Pbrt.Pp.pp_list Common.pp_key_value) fmt v.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_attributes_count" Pbrt.Pp.pp_int32 fmt v.dropped_attributes_count;
|
||||
Pbrt.Pp.pp_record_field ~first:false "events" (Pbrt.Pp.pp_list pp_span_event) fmt v.events;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_events_count" Pbrt.Pp.pp_int32 fmt v.dropped_events_count;
|
||||
Pbrt.Pp.pp_record_field ~first:false "links" (Pbrt.Pp.pp_list pp_span_link) fmt v.links;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_links_count" Pbrt.Pp.pp_int32 fmt v.dropped_links_count;
|
||||
Pbrt.Pp.pp_record_field ~first:false "status" (Pbrt.Pp.pp_option pp_status) fmt v.status;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_scope_spans fmt (v:scope_spans) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "scope" (Pbrt.Pp.pp_option Common.pp_instrumentation_scope) fmt v.scope;
|
||||
Pbrt.Pp.pp_record_field ~first:false "spans" (Pbrt.Pp.pp_list pp_span) fmt v.spans;
|
||||
Pbrt.Pp.pp_record_field ~first:false "schema_url" Pbrt.Pp.pp_string fmt v.schema_url;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_resource_spans fmt (v:resource_spans) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource" (Pbrt.Pp.pp_option Resource.pp_resource) fmt v.resource;
|
||||
Pbrt.Pp.pp_record_field ~first:false "scope_spans" (Pbrt.Pp.pp_list pp_scope_spans) fmt v.scope_spans;
|
||||
Pbrt.Pp.pp_record_field ~first:false "schema_url" Pbrt.Pp.pp_string fmt v.schema_url;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_traces_data fmt (v:traces_data) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource_spans" (Pbrt.Pp.pp_list pp_resource_spans) fmt v.resource_spans;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
let rec encode_pb_span_span_kind (v:span_span_kind) encoder =
|
||||
match v with
|
||||
| Span_kind_unspecified -> Pbrt.Encoder.int_as_varint (0) encoder
|
||||
| Span_kind_internal -> Pbrt.Encoder.int_as_varint 1 encoder
|
||||
| Span_kind_server -> Pbrt.Encoder.int_as_varint 2 encoder
|
||||
| Span_kind_client -> Pbrt.Encoder.int_as_varint 3 encoder
|
||||
| Span_kind_producer -> Pbrt.Encoder.int_as_varint 4 encoder
|
||||
| Span_kind_consumer -> Pbrt.Encoder.int_as_varint 5 encoder
|
||||
|
||||
let rec encode_pb_span_event (v:span_event) encoder =
|
||||
Pbrt.Encoder.int64_as_bits64 v.time_unix_nano encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bits64 encoder;
|
||||
Pbrt.Encoder.string v.name encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested Common.encode_pb_key_value x encoder;
|
||||
Pbrt.Encoder.key 3 Pbrt.Bytes encoder;
|
||||
) v.attributes encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.dropped_attributes_count encoder;
|
||||
Pbrt.Encoder.key 4 Pbrt.Varint encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_span_link (v:span_link) encoder =
|
||||
Pbrt.Encoder.bytes v.trace_id encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
Pbrt.Encoder.bytes v.span_id encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
Pbrt.Encoder.string v.trace_state encoder;
|
||||
Pbrt.Encoder.key 3 Pbrt.Bytes encoder;
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested Common.encode_pb_key_value x encoder;
|
||||
Pbrt.Encoder.key 4 Pbrt.Bytes encoder;
|
||||
) v.attributes encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.dropped_attributes_count encoder;
|
||||
Pbrt.Encoder.key 5 Pbrt.Varint encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_status_status_code (v:status_status_code) encoder =
|
||||
match v with
|
||||
| Status_code_unset -> Pbrt.Encoder.int_as_varint (0) encoder
|
||||
| Status_code_ok -> Pbrt.Encoder.int_as_varint 1 encoder
|
||||
| Status_code_error -> Pbrt.Encoder.int_as_varint 2 encoder
|
||||
|
||||
let rec encode_pb_status (v:status) encoder =
|
||||
Pbrt.Encoder.string v.message encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
encode_pb_status_status_code v.code encoder;
|
||||
Pbrt.Encoder.key 3 Pbrt.Varint encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_span (v:span) encoder =
|
||||
Pbrt.Encoder.bytes v.trace_id encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
Pbrt.Encoder.bytes v.span_id encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
Pbrt.Encoder.string v.trace_state encoder;
|
||||
Pbrt.Encoder.key 3 Pbrt.Bytes encoder;
|
||||
Pbrt.Encoder.bytes v.parent_span_id encoder;
|
||||
Pbrt.Encoder.key 4 Pbrt.Bytes encoder;
|
||||
Pbrt.Encoder.string v.name encoder;
|
||||
Pbrt.Encoder.key 5 Pbrt.Bytes encoder;
|
||||
encode_pb_span_span_kind v.kind encoder;
|
||||
Pbrt.Encoder.key 6 Pbrt.Varint encoder;
|
||||
Pbrt.Encoder.int64_as_bits64 v.start_time_unix_nano encoder;
|
||||
Pbrt.Encoder.key 7 Pbrt.Bits64 encoder;
|
||||
Pbrt.Encoder.int64_as_bits64 v.end_time_unix_nano encoder;
|
||||
Pbrt.Encoder.key 8 Pbrt.Bits64 encoder;
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested Common.encode_pb_key_value x encoder;
|
||||
Pbrt.Encoder.key 9 Pbrt.Bytes encoder;
|
||||
) v.attributes encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.dropped_attributes_count encoder;
|
||||
Pbrt.Encoder.key 10 Pbrt.Varint encoder;
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested encode_pb_span_event x encoder;
|
||||
Pbrt.Encoder.key 11 Pbrt.Bytes encoder;
|
||||
) v.events encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.dropped_events_count encoder;
|
||||
Pbrt.Encoder.key 12 Pbrt.Varint encoder;
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested encode_pb_span_link x encoder;
|
||||
Pbrt.Encoder.key 13 Pbrt.Bytes encoder;
|
||||
) v.links encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.dropped_links_count encoder;
|
||||
Pbrt.Encoder.key 14 Pbrt.Varint encoder;
|
||||
begin match v.status with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.nested encode_pb_status x encoder;
|
||||
Pbrt.Encoder.key 15 Pbrt.Bytes encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
()
|
||||
|
||||
let rec encode_pb_scope_spans (v:scope_spans) encoder =
|
||||
begin match v.scope with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.nested Common.encode_pb_instrumentation_scope x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested encode_pb_span x encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
) v.spans encoder;
|
||||
Pbrt.Encoder.string v.schema_url encoder;
|
||||
Pbrt.Encoder.key 3 Pbrt.Bytes encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_resource_spans (v:resource_spans) encoder =
|
||||
begin match v.resource with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.nested Resource.encode_pb_resource x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested encode_pb_scope_spans x encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
) v.scope_spans encoder;
|
||||
Pbrt.Encoder.string v.schema_url encoder;
|
||||
Pbrt.Encoder.key 3 Pbrt.Bytes encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_traces_data (v:traces_data) encoder =
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested encode_pb_resource_spans x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
) v.resource_spans encoder;
|
||||
()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
let rec decode_pb_span_span_kind d =
|
||||
match Pbrt.Decoder.int_as_varint d with
|
||||
| 0 -> (Span_kind_unspecified:span_span_kind)
|
||||
| 1 -> (Span_kind_internal:span_span_kind)
|
||||
| 2 -> (Span_kind_server:span_span_kind)
|
||||
| 3 -> (Span_kind_client:span_span_kind)
|
||||
| 4 -> (Span_kind_producer:span_span_kind)
|
||||
| 5 -> (Span_kind_consumer:span_span_kind)
|
||||
| _ -> Pbrt.Decoder.malformed_variant "span_span_kind"
|
||||
|
||||
let rec decode_pb_span_event d =
|
||||
let v = default_span_event_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.attributes <- List.rev v.attributes;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bits64) -> begin
|
||||
v.time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_event), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.name <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_event), field(2)" pk
|
||||
| Some (3, Pbrt.Bytes) -> begin
|
||||
v.attributes <- (Common.decode_pb_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_event), field(3)" pk
|
||||
| Some (4, Pbrt.Varint) -> begin
|
||||
v.dropped_attributes_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (4, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_event), field(4)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
time_unix_nano = v.time_unix_nano;
|
||||
name = v.name;
|
||||
attributes = v.attributes;
|
||||
dropped_attributes_count = v.dropped_attributes_count;
|
||||
} : span_event)
|
||||
|
||||
let rec decode_pb_span_link d =
|
||||
let v = default_span_link_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.attributes <- List.rev v.attributes;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.trace_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_link), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.span_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_link), field(2)" pk
|
||||
| Some (3, Pbrt.Bytes) -> begin
|
||||
v.trace_state <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_link), field(3)" pk
|
||||
| Some (4, Pbrt.Bytes) -> begin
|
||||
v.attributes <- (Common.decode_pb_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
|
||||
end
|
||||
| Some (4, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_link), field(4)" pk
|
||||
| Some (5, Pbrt.Varint) -> begin
|
||||
v.dropped_attributes_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (5, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_link), field(5)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
trace_id = v.trace_id;
|
||||
span_id = v.span_id;
|
||||
trace_state = v.trace_state;
|
||||
attributes = v.attributes;
|
||||
dropped_attributes_count = v.dropped_attributes_count;
|
||||
} : span_link)
|
||||
|
||||
let rec decode_pb_status_status_code d =
|
||||
match Pbrt.Decoder.int_as_varint d with
|
||||
| 0 -> (Status_code_unset:status_status_code)
|
||||
| 1 -> (Status_code_ok:status_status_code)
|
||||
| 2 -> (Status_code_error:status_status_code)
|
||||
| _ -> Pbrt.Decoder.malformed_variant "status_status_code"
|
||||
|
||||
let rec decode_pb_status d =
|
||||
let v = default_status_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
); continue__ := false
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.message <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(status), field(2)" pk
|
||||
| Some (3, Pbrt.Varint) -> begin
|
||||
v.code <- decode_pb_status_status_code d;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(status), field(3)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
message = v.message;
|
||||
code = v.code;
|
||||
} : status)
|
||||
|
||||
let rec decode_pb_span d =
|
||||
let v = default_span_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.links <- List.rev v.links;
|
||||
v.events <- List.rev v.events;
|
||||
v.attributes <- List.rev v.attributes;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.trace_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.span_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(2)" pk
|
||||
| Some (3, Pbrt.Bytes) -> begin
|
||||
v.trace_state <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(3)" pk
|
||||
| Some (4, Pbrt.Bytes) -> begin
|
||||
v.parent_span_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (4, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(4)" pk
|
||||
| Some (5, Pbrt.Bytes) -> begin
|
||||
v.name <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (5, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(5)" pk
|
||||
| Some (6, Pbrt.Varint) -> begin
|
||||
v.kind <- decode_pb_span_span_kind d;
|
||||
end
|
||||
| Some (6, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(6)" pk
|
||||
| Some (7, Pbrt.Bits64) -> begin
|
||||
v.start_time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
|
||||
end
|
||||
| Some (7, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(7)" pk
|
||||
| Some (8, Pbrt.Bits64) -> begin
|
||||
v.end_time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
|
||||
end
|
||||
| Some (8, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(8)" pk
|
||||
| Some (9, Pbrt.Bytes) -> begin
|
||||
v.attributes <- (Common.decode_pb_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
|
||||
end
|
||||
| Some (9, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(9)" pk
|
||||
| Some (10, Pbrt.Varint) -> begin
|
||||
v.dropped_attributes_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (10, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(10)" pk
|
||||
| Some (11, Pbrt.Bytes) -> begin
|
||||
v.events <- (decode_pb_span_event (Pbrt.Decoder.nested d)) :: v.events;
|
||||
end
|
||||
| Some (11, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(11)" pk
|
||||
| Some (12, Pbrt.Varint) -> begin
|
||||
v.dropped_events_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (12, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(12)" pk
|
||||
| Some (13, Pbrt.Bytes) -> begin
|
||||
v.links <- (decode_pb_span_link (Pbrt.Decoder.nested d)) :: v.links;
|
||||
end
|
||||
| Some (13, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(13)" pk
|
||||
| Some (14, Pbrt.Varint) -> begin
|
||||
v.dropped_links_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (14, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(14)" pk
|
||||
| Some (15, Pbrt.Bytes) -> begin
|
||||
v.status <- Some (decode_pb_status (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (15, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(15)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
trace_id = v.trace_id;
|
||||
span_id = v.span_id;
|
||||
trace_state = v.trace_state;
|
||||
parent_span_id = v.parent_span_id;
|
||||
name = v.name;
|
||||
kind = v.kind;
|
||||
start_time_unix_nano = v.start_time_unix_nano;
|
||||
end_time_unix_nano = v.end_time_unix_nano;
|
||||
attributes = v.attributes;
|
||||
dropped_attributes_count = v.dropped_attributes_count;
|
||||
events = v.events;
|
||||
dropped_events_count = v.dropped_events_count;
|
||||
links = v.links;
|
||||
dropped_links_count = v.dropped_links_count;
|
||||
status = v.status;
|
||||
} : span)
|
||||
|
||||
let rec decode_pb_scope_spans d =
|
||||
let v = default_scope_spans_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.spans <- List.rev v.spans;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.scope <- Some (Common.decode_pb_instrumentation_scope (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(scope_spans), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.spans <- (decode_pb_span (Pbrt.Decoder.nested d)) :: v.spans;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(scope_spans), 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_spans), field(3)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
scope = v.scope;
|
||||
spans = v.spans;
|
||||
schema_url = v.schema_url;
|
||||
} : scope_spans)
|
||||
|
||||
let rec decode_pb_resource_spans d =
|
||||
let v = default_resource_spans_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.scope_spans <- List.rev v.scope_spans;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.resource <- Some (Resource.decode_pb_resource (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(resource_spans), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.scope_spans <- (decode_pb_scope_spans (Pbrt.Decoder.nested d)) :: v.scope_spans;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(resource_spans), 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_spans), field(3)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
resource = v.resource;
|
||||
scope_spans = v.scope_spans;
|
||||
schema_url = v.schema_url;
|
||||
} : resource_spans)
|
||||
|
||||
let rec decode_pb_traces_data d =
|
||||
let v = default_traces_data_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.resource_spans <- List.rev v.resource_spans;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.resource_spans <- (decode_pb_resource_spans (Pbrt.Decoder.nested d)) :: v.resource_spans;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(traces_data), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
resource_spans = v.resource_spans;
|
||||
} : traces_data)
|
||||
318
src/proto/trace.mli
Normal file
318
src/proto/trace.mli
Normal file
|
|
@ -0,0 +1,318 @@
|
|||
|
||||
(** Code for trace.proto *)
|
||||
|
||||
(* generated from "../../vendor/opentelemetry-proto/opentelemetry/proto/trace/v1/trace.proto", do not edit *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type span_span_kind =
|
||||
| Span_kind_unspecified
|
||||
| Span_kind_internal
|
||||
| Span_kind_server
|
||||
| Span_kind_client
|
||||
| Span_kind_producer
|
||||
| Span_kind_consumer
|
||||
|
||||
type span_event = {
|
||||
time_unix_nano : int64;
|
||||
name : string;
|
||||
attributes : Common.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
type span_link = {
|
||||
trace_id : bytes;
|
||||
span_id : bytes;
|
||||
trace_state : string;
|
||||
attributes : Common.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
type status_status_code =
|
||||
| Status_code_unset
|
||||
| Status_code_ok
|
||||
| Status_code_error
|
||||
|
||||
type status = {
|
||||
message : string;
|
||||
code : status_status_code;
|
||||
}
|
||||
|
||||
type span = {
|
||||
trace_id : bytes;
|
||||
span_id : bytes;
|
||||
trace_state : string;
|
||||
parent_span_id : bytes;
|
||||
name : string;
|
||||
kind : span_span_kind;
|
||||
start_time_unix_nano : int64;
|
||||
end_time_unix_nano : int64;
|
||||
attributes : Common.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
events : span_event list;
|
||||
dropped_events_count : int32;
|
||||
links : span_link list;
|
||||
dropped_links_count : int32;
|
||||
status : status option;
|
||||
}
|
||||
|
||||
type scope_spans = {
|
||||
scope : Common.instrumentation_scope option;
|
||||
spans : span list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type resource_spans = {
|
||||
resource : Resource.resource option;
|
||||
scope_spans : scope_spans list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type traces_data = {
|
||||
resource_spans : resource_spans list;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Basic values} *)
|
||||
|
||||
val default_span_span_kind : unit -> span_span_kind
|
||||
(** [default_span_span_kind ()] is the default value for type [span_span_kind] *)
|
||||
|
||||
val default_span_event :
|
||||
?time_unix_nano:int64 ->
|
||||
?name:string ->
|
||||
?attributes:Common.key_value list ->
|
||||
?dropped_attributes_count:int32 ->
|
||||
unit ->
|
||||
span_event
|
||||
(** [default_span_event ()] is the default value for type [span_event] *)
|
||||
|
||||
val default_span_link :
|
||||
?trace_id:bytes ->
|
||||
?span_id:bytes ->
|
||||
?trace_state:string ->
|
||||
?attributes:Common.key_value list ->
|
||||
?dropped_attributes_count:int32 ->
|
||||
unit ->
|
||||
span_link
|
||||
(** [default_span_link ()] is the default value for type [span_link] *)
|
||||
|
||||
val default_status_status_code : unit -> status_status_code
|
||||
(** [default_status_status_code ()] is the default value for type [status_status_code] *)
|
||||
|
||||
val default_status :
|
||||
?message:string ->
|
||||
?code:status_status_code ->
|
||||
unit ->
|
||||
status
|
||||
(** [default_status ()] is the default value for type [status] *)
|
||||
|
||||
val default_span :
|
||||
?trace_id:bytes ->
|
||||
?span_id:bytes ->
|
||||
?trace_state:string ->
|
||||
?parent_span_id:bytes ->
|
||||
?name:string ->
|
||||
?kind:span_span_kind ->
|
||||
?start_time_unix_nano:int64 ->
|
||||
?end_time_unix_nano:int64 ->
|
||||
?attributes:Common.key_value list ->
|
||||
?dropped_attributes_count:int32 ->
|
||||
?events:span_event list ->
|
||||
?dropped_events_count:int32 ->
|
||||
?links:span_link list ->
|
||||
?dropped_links_count:int32 ->
|
||||
?status:status option ->
|
||||
unit ->
|
||||
span
|
||||
(** [default_span ()] is the default value for type [span] *)
|
||||
|
||||
val default_scope_spans :
|
||||
?scope:Common.instrumentation_scope option ->
|
||||
?spans:span list ->
|
||||
?schema_url:string ->
|
||||
unit ->
|
||||
scope_spans
|
||||
(** [default_scope_spans ()] is the default value for type [scope_spans] *)
|
||||
|
||||
val default_resource_spans :
|
||||
?resource:Resource.resource option ->
|
||||
?scope_spans:scope_spans list ->
|
||||
?schema_url:string ->
|
||||
unit ->
|
||||
resource_spans
|
||||
(** [default_resource_spans ()] is the default value for type [resource_spans] *)
|
||||
|
||||
val default_traces_data :
|
||||
?resource_spans:resource_spans list ->
|
||||
unit ->
|
||||
traces_data
|
||||
(** [default_traces_data ()] is the default value for type [traces_data] *)
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
|
||||
val make_span_event :
|
||||
time_unix_nano:int64 ->
|
||||
name:string ->
|
||||
attributes:Common.key_value list ->
|
||||
dropped_attributes_count:int32 ->
|
||||
unit ->
|
||||
span_event
|
||||
(** [make_span_event … ()] is a builder for type [span_event] *)
|
||||
|
||||
val make_span_link :
|
||||
trace_id:bytes ->
|
||||
span_id:bytes ->
|
||||
trace_state:string ->
|
||||
attributes:Common.key_value list ->
|
||||
dropped_attributes_count:int32 ->
|
||||
unit ->
|
||||
span_link
|
||||
(** [make_span_link … ()] is a builder for type [span_link] *)
|
||||
|
||||
|
||||
val make_status :
|
||||
message:string ->
|
||||
code:status_status_code ->
|
||||
unit ->
|
||||
status
|
||||
(** [make_status … ()] is a builder for type [status] *)
|
||||
|
||||
val make_span :
|
||||
trace_id:bytes ->
|
||||
span_id:bytes ->
|
||||
trace_state:string ->
|
||||
parent_span_id:bytes ->
|
||||
name:string ->
|
||||
kind:span_span_kind ->
|
||||
start_time_unix_nano:int64 ->
|
||||
end_time_unix_nano:int64 ->
|
||||
attributes:Common.key_value list ->
|
||||
dropped_attributes_count:int32 ->
|
||||
events:span_event list ->
|
||||
dropped_events_count:int32 ->
|
||||
links:span_link list ->
|
||||
dropped_links_count:int32 ->
|
||||
?status:status option ->
|
||||
unit ->
|
||||
span
|
||||
(** [make_span … ()] is a builder for type [span] *)
|
||||
|
||||
val make_scope_spans :
|
||||
?scope:Common.instrumentation_scope option ->
|
||||
spans:span list ->
|
||||
schema_url:string ->
|
||||
unit ->
|
||||
scope_spans
|
||||
(** [make_scope_spans … ()] is a builder for type [scope_spans] *)
|
||||
|
||||
val make_resource_spans :
|
||||
?resource:Resource.resource option ->
|
||||
scope_spans:scope_spans list ->
|
||||
schema_url:string ->
|
||||
unit ->
|
||||
resource_spans
|
||||
(** [make_resource_spans … ()] is a builder for type [resource_spans] *)
|
||||
|
||||
val make_traces_data :
|
||||
resource_spans:resource_spans list ->
|
||||
unit ->
|
||||
traces_data
|
||||
(** [make_traces_data … ()] is a builder for type [traces_data] *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_span_span_kind : Format.formatter -> span_span_kind -> unit
|
||||
(** [pp_span_span_kind v] formats v *)
|
||||
|
||||
val pp_span_event : Format.formatter -> span_event -> unit
|
||||
(** [pp_span_event v] formats v *)
|
||||
|
||||
val pp_span_link : Format.formatter -> span_link -> unit
|
||||
(** [pp_span_link v] formats v *)
|
||||
|
||||
val pp_status_status_code : Format.formatter -> status_status_code -> unit
|
||||
(** [pp_status_status_code v] formats v *)
|
||||
|
||||
val pp_status : Format.formatter -> status -> unit
|
||||
(** [pp_status v] formats v *)
|
||||
|
||||
val pp_span : Format.formatter -> span -> unit
|
||||
(** [pp_span v] formats v *)
|
||||
|
||||
val pp_scope_spans : Format.formatter -> scope_spans -> unit
|
||||
(** [pp_scope_spans v] formats v *)
|
||||
|
||||
val pp_resource_spans : Format.formatter -> resource_spans -> unit
|
||||
(** [pp_resource_spans v] formats v *)
|
||||
|
||||
val pp_traces_data : Format.formatter -> traces_data -> unit
|
||||
(** [pp_traces_data v] formats v *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_pb_span_span_kind : span_span_kind -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_span_span_kind v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_span_event : span_event -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_span_event v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_span_link : span_link -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_span_link v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_status_status_code : status_status_code -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_status_status_code v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_status : status -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_status v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_span : span -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_span v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_scope_spans : scope_spans -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_scope_spans v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_resource_spans : resource_spans -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_resource_spans v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_traces_data : traces_data -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_traces_data v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_pb_span_span_kind : Pbrt.Decoder.t -> span_span_kind
|
||||
(** [decode_pb_span_span_kind decoder] decodes a [span_span_kind] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_span_event : Pbrt.Decoder.t -> span_event
|
||||
(** [decode_pb_span_event decoder] decodes a [span_event] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_span_link : Pbrt.Decoder.t -> span_link
|
||||
(** [decode_pb_span_link decoder] decodes a [span_link] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_status_status_code : Pbrt.Decoder.t -> status_status_code
|
||||
(** [decode_pb_status_status_code decoder] decodes a [status_status_code] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_status : Pbrt.Decoder.t -> status
|
||||
(** [decode_pb_status decoder] decodes a [status] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_span : Pbrt.Decoder.t -> span
|
||||
(** [decode_pb_span decoder] decodes a [span] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_scope_spans : Pbrt.Decoder.t -> scope_spans
|
||||
(** [decode_pb_scope_spans decoder] decodes a [scope_spans] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_resource_spans : Pbrt.Decoder.t -> resource_spans
|
||||
(** [decode_pb_resource_spans decoder] decodes a [resource_spans] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_traces_data : Pbrt.Decoder.t -> traces_data
|
||||
(** [decode_pb_traces_data decoder] decodes a [traces_data] binary value from [decoder] *)
|
||||
|
||||
|
||||
(** {2 Services} *)
|
||||
|
|
@ -1,547 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type span_event_mutable = {
|
||||
mutable time_unix_nano : int64;
|
||||
mutable name : string;
|
||||
mutable attributes : Common_types.key_value list;
|
||||
mutable dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
let default_span_event_mutable () : span_event_mutable = {
|
||||
time_unix_nano = 0L;
|
||||
name = "";
|
||||
attributes = [];
|
||||
dropped_attributes_count = 0l;
|
||||
}
|
||||
|
||||
type span_link_mutable = {
|
||||
mutable trace_id : bytes;
|
||||
mutable span_id : bytes;
|
||||
mutable trace_state : string;
|
||||
mutable attributes : Common_types.key_value list;
|
||||
mutable dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
let default_span_link_mutable () : span_link_mutable = {
|
||||
trace_id = Bytes.create 0;
|
||||
span_id = Bytes.create 0;
|
||||
trace_state = "";
|
||||
attributes = [];
|
||||
dropped_attributes_count = 0l;
|
||||
}
|
||||
|
||||
type status_mutable = {
|
||||
mutable message : string;
|
||||
mutable code : Trace_types.status_status_code;
|
||||
}
|
||||
|
||||
let default_status_mutable () : status_mutable = {
|
||||
message = "";
|
||||
code = Trace_types.default_status_status_code ();
|
||||
}
|
||||
|
||||
type span_mutable = {
|
||||
mutable trace_id : bytes;
|
||||
mutable span_id : bytes;
|
||||
mutable trace_state : string;
|
||||
mutable parent_span_id : bytes;
|
||||
mutable name : string;
|
||||
mutable kind : Trace_types.span_span_kind;
|
||||
mutable start_time_unix_nano : int64;
|
||||
mutable end_time_unix_nano : int64;
|
||||
mutable attributes : Common_types.key_value list;
|
||||
mutable dropped_attributes_count : int32;
|
||||
mutable events : Trace_types.span_event list;
|
||||
mutable dropped_events_count : int32;
|
||||
mutable links : Trace_types.span_link list;
|
||||
mutable dropped_links_count : int32;
|
||||
mutable status : Trace_types.status option;
|
||||
}
|
||||
|
||||
let default_span_mutable () : span_mutable = {
|
||||
trace_id = Bytes.create 0;
|
||||
span_id = Bytes.create 0;
|
||||
trace_state = "";
|
||||
parent_span_id = Bytes.create 0;
|
||||
name = "";
|
||||
kind = Trace_types.default_span_span_kind ();
|
||||
start_time_unix_nano = 0L;
|
||||
end_time_unix_nano = 0L;
|
||||
attributes = [];
|
||||
dropped_attributes_count = 0l;
|
||||
events = [];
|
||||
dropped_events_count = 0l;
|
||||
links = [];
|
||||
dropped_links_count = 0l;
|
||||
status = None;
|
||||
}
|
||||
|
||||
type scope_spans_mutable = {
|
||||
mutable scope : Common_types.instrumentation_scope option;
|
||||
mutable spans : Trace_types.span list;
|
||||
mutable schema_url : string;
|
||||
}
|
||||
|
||||
let default_scope_spans_mutable () : scope_spans_mutable = {
|
||||
scope = None;
|
||||
spans = [];
|
||||
schema_url = "";
|
||||
}
|
||||
|
||||
type resource_spans_mutable = {
|
||||
mutable resource : Resource_types.resource option;
|
||||
mutable scope_spans : Trace_types.scope_spans list;
|
||||
mutable schema_url : string;
|
||||
}
|
||||
|
||||
let default_resource_spans_mutable () : resource_spans_mutable = {
|
||||
resource = None;
|
||||
scope_spans = [];
|
||||
schema_url = "";
|
||||
}
|
||||
|
||||
type traces_data_mutable = {
|
||||
mutable resource_spans : Trace_types.resource_spans list;
|
||||
}
|
||||
|
||||
let default_traces_data_mutable () : traces_data_mutable = {
|
||||
resource_spans = [];
|
||||
}
|
||||
|
||||
|
||||
let rec decode_span_span_kind d =
|
||||
match Pbrt.Decoder.int_as_varint d with
|
||||
| 0 -> (Trace_types.Span_kind_unspecified:Trace_types.span_span_kind)
|
||||
| 1 -> (Trace_types.Span_kind_internal:Trace_types.span_span_kind)
|
||||
| 2 -> (Trace_types.Span_kind_server:Trace_types.span_span_kind)
|
||||
| 3 -> (Trace_types.Span_kind_client:Trace_types.span_span_kind)
|
||||
| 4 -> (Trace_types.Span_kind_producer:Trace_types.span_span_kind)
|
||||
| 5 -> (Trace_types.Span_kind_consumer:Trace_types.span_span_kind)
|
||||
| _ -> Pbrt.Decoder.malformed_variant "span_span_kind"
|
||||
|
||||
let rec decode_span_event d =
|
||||
let v = default_span_event_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.attributes <- List.rev v.attributes;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bits64) -> begin
|
||||
v.time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_event), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.name <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_event), field(2)" pk
|
||||
| Some (3, Pbrt.Bytes) -> begin
|
||||
v.attributes <- (Common_pb.decode_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_event), field(3)" pk
|
||||
| Some (4, Pbrt.Varint) -> begin
|
||||
v.dropped_attributes_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (4, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_event), field(4)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Trace_types.time_unix_nano = v.time_unix_nano;
|
||||
Trace_types.name = v.name;
|
||||
Trace_types.attributes = v.attributes;
|
||||
Trace_types.dropped_attributes_count = v.dropped_attributes_count;
|
||||
} : Trace_types.span_event)
|
||||
|
||||
let rec decode_span_link d =
|
||||
let v = default_span_link_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.attributes <- List.rev v.attributes;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.trace_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_link), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.span_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_link), field(2)" pk
|
||||
| Some (3, Pbrt.Bytes) -> begin
|
||||
v.trace_state <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_link), field(3)" pk
|
||||
| Some (4, Pbrt.Bytes) -> begin
|
||||
v.attributes <- (Common_pb.decode_key_value (Pbrt.Decoder.nested d)) :: v.attributes;
|
||||
end
|
||||
| Some (4, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_link), field(4)" pk
|
||||
| Some (5, Pbrt.Varint) -> begin
|
||||
v.dropped_attributes_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (5, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span_link), field(5)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Trace_types.trace_id = v.trace_id;
|
||||
Trace_types.span_id = v.span_id;
|
||||
Trace_types.trace_state = v.trace_state;
|
||||
Trace_types.attributes = v.attributes;
|
||||
Trace_types.dropped_attributes_count = v.dropped_attributes_count;
|
||||
} : Trace_types.span_link)
|
||||
|
||||
let rec decode_status_status_code d =
|
||||
match Pbrt.Decoder.int_as_varint d with
|
||||
| 0 -> (Trace_types.Status_code_unset:Trace_types.status_status_code)
|
||||
| 1 -> (Trace_types.Status_code_ok:Trace_types.status_status_code)
|
||||
| 2 -> (Trace_types.Status_code_error:Trace_types.status_status_code)
|
||||
| _ -> Pbrt.Decoder.malformed_variant "status_status_code"
|
||||
|
||||
let rec decode_status d =
|
||||
let v = default_status_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
); continue__ := false
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.message <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(status), field(2)" pk
|
||||
| Some (3, Pbrt.Varint) -> begin
|
||||
v.code <- decode_status_status_code d;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(status), field(3)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Trace_types.message = v.message;
|
||||
Trace_types.code = v.code;
|
||||
} : Trace_types.status)
|
||||
|
||||
let rec decode_span d =
|
||||
let v = default_span_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.links <- List.rev v.links;
|
||||
v.events <- List.rev v.events;
|
||||
v.attributes <- List.rev v.attributes;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.trace_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.span_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(2)" pk
|
||||
| Some (3, Pbrt.Bytes) -> begin
|
||||
v.trace_state <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (3, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(3)" pk
|
||||
| Some (4, Pbrt.Bytes) -> begin
|
||||
v.parent_span_id <- Pbrt.Decoder.bytes d;
|
||||
end
|
||||
| Some (4, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(4)" pk
|
||||
| Some (5, Pbrt.Bytes) -> begin
|
||||
v.name <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (5, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(5)" pk
|
||||
| Some (6, Pbrt.Varint) -> begin
|
||||
v.kind <- decode_span_span_kind d;
|
||||
end
|
||||
| Some (6, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(6)" pk
|
||||
| Some (7, Pbrt.Bits64) -> begin
|
||||
v.start_time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
|
||||
end
|
||||
| Some (7, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(7)" pk
|
||||
| Some (8, Pbrt.Bits64) -> begin
|
||||
v.end_time_unix_nano <- Pbrt.Decoder.int64_as_bits64 d;
|
||||
end
|
||||
| Some (8, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(8)" pk
|
||||
| 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(span), field(9)" pk
|
||||
| Some (10, Pbrt.Varint) -> begin
|
||||
v.dropped_attributes_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (10, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(10)" pk
|
||||
| Some (11, Pbrt.Bytes) -> begin
|
||||
v.events <- (decode_span_event (Pbrt.Decoder.nested d)) :: v.events;
|
||||
end
|
||||
| Some (11, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(11)" pk
|
||||
| Some (12, Pbrt.Varint) -> begin
|
||||
v.dropped_events_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (12, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(12)" pk
|
||||
| Some (13, Pbrt.Bytes) -> begin
|
||||
v.links <- (decode_span_link (Pbrt.Decoder.nested d)) :: v.links;
|
||||
end
|
||||
| Some (13, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(13)" pk
|
||||
| Some (14, Pbrt.Varint) -> begin
|
||||
v.dropped_links_count <- Pbrt.Decoder.int32_as_varint d;
|
||||
end
|
||||
| Some (14, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(14)" pk
|
||||
| Some (15, Pbrt.Bytes) -> begin
|
||||
v.status <- Some (decode_status (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (15, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(span), field(15)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Trace_types.trace_id = v.trace_id;
|
||||
Trace_types.span_id = v.span_id;
|
||||
Trace_types.trace_state = v.trace_state;
|
||||
Trace_types.parent_span_id = v.parent_span_id;
|
||||
Trace_types.name = v.name;
|
||||
Trace_types.kind = v.kind;
|
||||
Trace_types.start_time_unix_nano = v.start_time_unix_nano;
|
||||
Trace_types.end_time_unix_nano = v.end_time_unix_nano;
|
||||
Trace_types.attributes = v.attributes;
|
||||
Trace_types.dropped_attributes_count = v.dropped_attributes_count;
|
||||
Trace_types.events = v.events;
|
||||
Trace_types.dropped_events_count = v.dropped_events_count;
|
||||
Trace_types.links = v.links;
|
||||
Trace_types.dropped_links_count = v.dropped_links_count;
|
||||
Trace_types.status = v.status;
|
||||
} : Trace_types.span)
|
||||
|
||||
let rec decode_scope_spans d =
|
||||
let v = default_scope_spans_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.spans <- List.rev v.spans;
|
||||
); 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_spans), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.spans <- (decode_span (Pbrt.Decoder.nested d)) :: v.spans;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(scope_spans), 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_spans), field(3)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Trace_types.scope = v.scope;
|
||||
Trace_types.spans = v.spans;
|
||||
Trace_types.schema_url = v.schema_url;
|
||||
} : Trace_types.scope_spans)
|
||||
|
||||
let rec decode_resource_spans d =
|
||||
let v = default_resource_spans_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.scope_spans <- List.rev v.scope_spans;
|
||||
); 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_spans), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.scope_spans <- (decode_scope_spans (Pbrt.Decoder.nested d)) :: v.scope_spans;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(resource_spans), 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_spans), field(3)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Trace_types.resource = v.resource;
|
||||
Trace_types.scope_spans = v.scope_spans;
|
||||
Trace_types.schema_url = v.schema_url;
|
||||
} : Trace_types.resource_spans)
|
||||
|
||||
let rec decode_traces_data d =
|
||||
let v = default_traces_data_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.resource_spans <- List.rev v.resource_spans;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.resource_spans <- (decode_resource_spans (Pbrt.Decoder.nested d)) :: v.resource_spans;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(traces_data), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Trace_types.resource_spans = v.resource_spans;
|
||||
} : Trace_types.traces_data)
|
||||
|
||||
let rec encode_span_span_kind (v:Trace_types.span_span_kind) encoder =
|
||||
match v with
|
||||
| Trace_types.Span_kind_unspecified -> Pbrt.Encoder.int_as_varint (0) encoder
|
||||
| Trace_types.Span_kind_internal -> Pbrt.Encoder.int_as_varint 1 encoder
|
||||
| Trace_types.Span_kind_server -> Pbrt.Encoder.int_as_varint 2 encoder
|
||||
| Trace_types.Span_kind_client -> Pbrt.Encoder.int_as_varint 3 encoder
|
||||
| Trace_types.Span_kind_producer -> Pbrt.Encoder.int_as_varint 4 encoder
|
||||
| Trace_types.Span_kind_consumer -> Pbrt.Encoder.int_as_varint 5 encoder
|
||||
|
||||
let rec encode_span_event (v:Trace_types.span_event) encoder =
|
||||
Pbrt.Encoder.key (1, Pbrt.Bits64) encoder;
|
||||
Pbrt.Encoder.int64_as_bits64 v.Trace_types.time_unix_nano encoder;
|
||||
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Trace_types.name encoder;
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (Common_pb.encode_key_value x) encoder;
|
||||
) v.Trace_types.attributes;
|
||||
Pbrt.Encoder.key (4, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.Trace_types.dropped_attributes_count encoder;
|
||||
()
|
||||
|
||||
let rec encode_span_link (v:Trace_types.span_link) encoder =
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.bytes v.Trace_types.trace_id encoder;
|
||||
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.bytes v.Trace_types.span_id encoder;
|
||||
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Trace_types.trace_state encoder;
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (4, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (Common_pb.encode_key_value x) encoder;
|
||||
) v.Trace_types.attributes;
|
||||
Pbrt.Encoder.key (5, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.Trace_types.dropped_attributes_count encoder;
|
||||
()
|
||||
|
||||
let rec encode_status_status_code (v:Trace_types.status_status_code) encoder =
|
||||
match v with
|
||||
| Trace_types.Status_code_unset -> Pbrt.Encoder.int_as_varint (0) encoder
|
||||
| Trace_types.Status_code_ok -> Pbrt.Encoder.int_as_varint 1 encoder
|
||||
| Trace_types.Status_code_error -> Pbrt.Encoder.int_as_varint 2 encoder
|
||||
|
||||
let rec encode_status (v:Trace_types.status) encoder =
|
||||
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Trace_types.message encoder;
|
||||
Pbrt.Encoder.key (3, Pbrt.Varint) encoder;
|
||||
encode_status_status_code v.Trace_types.code encoder;
|
||||
()
|
||||
|
||||
let rec encode_span (v:Trace_types.span) encoder =
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.bytes v.Trace_types.trace_id encoder;
|
||||
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.bytes v.Trace_types.span_id encoder;
|
||||
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Trace_types.trace_state encoder;
|
||||
Pbrt.Encoder.key (4, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.bytes v.Trace_types.parent_span_id encoder;
|
||||
Pbrt.Encoder.key (5, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Trace_types.name encoder;
|
||||
Pbrt.Encoder.key (6, Pbrt.Varint) encoder;
|
||||
encode_span_span_kind v.Trace_types.kind encoder;
|
||||
Pbrt.Encoder.key (7, Pbrt.Bits64) encoder;
|
||||
Pbrt.Encoder.int64_as_bits64 v.Trace_types.start_time_unix_nano encoder;
|
||||
Pbrt.Encoder.key (8, Pbrt.Bits64) encoder;
|
||||
Pbrt.Encoder.int64_as_bits64 v.Trace_types.end_time_unix_nano encoder;
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (9, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (Common_pb.encode_key_value x) encoder;
|
||||
) v.Trace_types.attributes;
|
||||
Pbrt.Encoder.key (10, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.Trace_types.dropped_attributes_count encoder;
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (11, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_span_event x) encoder;
|
||||
) v.Trace_types.events;
|
||||
Pbrt.Encoder.key (12, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.Trace_types.dropped_events_count encoder;
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (13, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_span_link x) encoder;
|
||||
) v.Trace_types.links;
|
||||
Pbrt.Encoder.key (14, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int32_as_varint v.Trace_types.dropped_links_count encoder;
|
||||
begin match v.Trace_types.status with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.key (15, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_status x) encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
()
|
||||
|
||||
let rec encode_scope_spans (v:Trace_types.scope_spans) encoder =
|
||||
begin match v.Trace_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_span x) encoder;
|
||||
) v.Trace_types.spans;
|
||||
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Trace_types.schema_url encoder;
|
||||
()
|
||||
|
||||
let rec encode_resource_spans (v:Trace_types.resource_spans) encoder =
|
||||
begin match v.Trace_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_spans x) encoder;
|
||||
) v.Trace_types.scope_spans;
|
||||
Pbrt.Encoder.key (3, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Trace_types.schema_url encoder;
|
||||
()
|
||||
|
||||
let rec encode_traces_data (v:Trace_types.traces_data) encoder =
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_resource_spans x) encoder;
|
||||
) v.Trace_types.resource_spans;
|
||||
()
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
(** trace.proto Binary Encoding *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_span_span_kind : Trace_types.span_span_kind -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_span_span_kind v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_span_event : Trace_types.span_event -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_span_event v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_span_link : Trace_types.span_link -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_span_link v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_status_status_code : Trace_types.status_status_code -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_status_status_code v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_status : Trace_types.status -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_status v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_span : Trace_types.span -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_span v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_scope_spans : Trace_types.scope_spans -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_scope_spans v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_resource_spans : Trace_types.resource_spans -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_resource_spans v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_traces_data : Trace_types.traces_data -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_traces_data v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_span_span_kind : Pbrt.Decoder.t -> Trace_types.span_span_kind
|
||||
(** [decode_span_span_kind decoder] decodes a [span_span_kind] value from [decoder] *)
|
||||
|
||||
val decode_span_event : Pbrt.Decoder.t -> Trace_types.span_event
|
||||
(** [decode_span_event decoder] decodes a [span_event] value from [decoder] *)
|
||||
|
||||
val decode_span_link : Pbrt.Decoder.t -> Trace_types.span_link
|
||||
(** [decode_span_link decoder] decodes a [span_link] value from [decoder] *)
|
||||
|
||||
val decode_status_status_code : Pbrt.Decoder.t -> Trace_types.status_status_code
|
||||
(** [decode_status_status_code decoder] decodes a [status_status_code] value from [decoder] *)
|
||||
|
||||
val decode_status : Pbrt.Decoder.t -> Trace_types.status
|
||||
(** [decode_status decoder] decodes a [status] value from [decoder] *)
|
||||
|
||||
val decode_span : Pbrt.Decoder.t -> Trace_types.span
|
||||
(** [decode_span decoder] decodes a [span] value from [decoder] *)
|
||||
|
||||
val decode_scope_spans : Pbrt.Decoder.t -> Trace_types.scope_spans
|
||||
(** [decode_scope_spans decoder] decodes a [scope_spans] value from [decoder] *)
|
||||
|
||||
val decode_resource_spans : Pbrt.Decoder.t -> Trace_types.resource_spans
|
||||
(** [decode_resource_spans decoder] decodes a [resource_spans] value from [decoder] *)
|
||||
|
||||
val decode_traces_data : Pbrt.Decoder.t -> Trace_types.traces_data
|
||||
(** [decode_traces_data decoder] decodes a [traces_data] value from [decoder] *)
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
let rec pp_span_span_kind fmt (v:Trace_types.span_span_kind) =
|
||||
match v with
|
||||
| Trace_types.Span_kind_unspecified -> Format.fprintf fmt "Span_kind_unspecified"
|
||||
| Trace_types.Span_kind_internal -> Format.fprintf fmt "Span_kind_internal"
|
||||
| Trace_types.Span_kind_server -> Format.fprintf fmt "Span_kind_server"
|
||||
| Trace_types.Span_kind_client -> Format.fprintf fmt "Span_kind_client"
|
||||
| Trace_types.Span_kind_producer -> Format.fprintf fmt "Span_kind_producer"
|
||||
| Trace_types.Span_kind_consumer -> Format.fprintf fmt "Span_kind_consumer"
|
||||
|
||||
let rec pp_span_event fmt (v:Trace_types.span_event) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Trace_types.time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "name" Pbrt.Pp.pp_string fmt v.Trace_types.name;
|
||||
Pbrt.Pp.pp_record_field ~first:false "attributes" (Pbrt.Pp.pp_list Common_pp.pp_key_value) fmt v.Trace_types.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_attributes_count" Pbrt.Pp.pp_int32 fmt v.Trace_types.dropped_attributes_count;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_span_link fmt (v:Trace_types.span_link) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "trace_id" Pbrt.Pp.pp_bytes fmt v.Trace_types.trace_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "span_id" Pbrt.Pp.pp_bytes fmt v.Trace_types.span_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "trace_state" Pbrt.Pp.pp_string fmt v.Trace_types.trace_state;
|
||||
Pbrt.Pp.pp_record_field ~first:false "attributes" (Pbrt.Pp.pp_list Common_pp.pp_key_value) fmt v.Trace_types.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_attributes_count" Pbrt.Pp.pp_int32 fmt v.Trace_types.dropped_attributes_count;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_status_status_code fmt (v:Trace_types.status_status_code) =
|
||||
match v with
|
||||
| Trace_types.Status_code_unset -> Format.fprintf fmt "Status_code_unset"
|
||||
| Trace_types.Status_code_ok -> Format.fprintf fmt "Status_code_ok"
|
||||
| Trace_types.Status_code_error -> Format.fprintf fmt "Status_code_error"
|
||||
|
||||
let rec pp_status fmt (v:Trace_types.status) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "message" Pbrt.Pp.pp_string fmt v.Trace_types.message;
|
||||
Pbrt.Pp.pp_record_field ~first:false "code" pp_status_status_code fmt v.Trace_types.code;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_span fmt (v:Trace_types.span) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "trace_id" Pbrt.Pp.pp_bytes fmt v.Trace_types.trace_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "span_id" Pbrt.Pp.pp_bytes fmt v.Trace_types.span_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "trace_state" Pbrt.Pp.pp_string fmt v.Trace_types.trace_state;
|
||||
Pbrt.Pp.pp_record_field ~first:false "parent_span_id" Pbrt.Pp.pp_bytes fmt v.Trace_types.parent_span_id;
|
||||
Pbrt.Pp.pp_record_field ~first:false "name" Pbrt.Pp.pp_string fmt v.Trace_types.name;
|
||||
Pbrt.Pp.pp_record_field ~first:false "kind" pp_span_span_kind fmt v.Trace_types.kind;
|
||||
Pbrt.Pp.pp_record_field ~first:false "start_time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Trace_types.start_time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "end_time_unix_nano" Pbrt.Pp.pp_int64 fmt v.Trace_types.end_time_unix_nano;
|
||||
Pbrt.Pp.pp_record_field ~first:false "attributes" (Pbrt.Pp.pp_list Common_pp.pp_key_value) fmt v.Trace_types.attributes;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_attributes_count" Pbrt.Pp.pp_int32 fmt v.Trace_types.dropped_attributes_count;
|
||||
Pbrt.Pp.pp_record_field ~first:false "events" (Pbrt.Pp.pp_list pp_span_event) fmt v.Trace_types.events;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_events_count" Pbrt.Pp.pp_int32 fmt v.Trace_types.dropped_events_count;
|
||||
Pbrt.Pp.pp_record_field ~first:false "links" (Pbrt.Pp.pp_list pp_span_link) fmt v.Trace_types.links;
|
||||
Pbrt.Pp.pp_record_field ~first:false "dropped_links_count" Pbrt.Pp.pp_int32 fmt v.Trace_types.dropped_links_count;
|
||||
Pbrt.Pp.pp_record_field ~first:false "status" (Pbrt.Pp.pp_option pp_status) fmt v.Trace_types.status;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_scope_spans fmt (v:Trace_types.scope_spans) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "scope" (Pbrt.Pp.pp_option Common_pp.pp_instrumentation_scope) fmt v.Trace_types.scope;
|
||||
Pbrt.Pp.pp_record_field ~first:false "spans" (Pbrt.Pp.pp_list pp_span) fmt v.Trace_types.spans;
|
||||
Pbrt.Pp.pp_record_field ~first:false "schema_url" Pbrt.Pp.pp_string fmt v.Trace_types.schema_url;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_resource_spans fmt (v:Trace_types.resource_spans) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource" (Pbrt.Pp.pp_option Resource_pp.pp_resource) fmt v.Trace_types.resource;
|
||||
Pbrt.Pp.pp_record_field ~first:false "scope_spans" (Pbrt.Pp.pp_list pp_scope_spans) fmt v.Trace_types.scope_spans;
|
||||
Pbrt.Pp.pp_record_field ~first:false "schema_url" Pbrt.Pp.pp_string fmt v.Trace_types.schema_url;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_traces_data fmt (v:Trace_types.traces_data) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource_spans" (Pbrt.Pp.pp_list pp_resource_spans) fmt v.Trace_types.resource_spans;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
(** trace.proto Pretty Printing *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_span_span_kind : Format.formatter -> Trace_types.span_span_kind -> unit
|
||||
(** [pp_span_span_kind v] formats v *)
|
||||
|
||||
val pp_span_event : Format.formatter -> Trace_types.span_event -> unit
|
||||
(** [pp_span_event v] formats v *)
|
||||
|
||||
val pp_span_link : Format.formatter -> Trace_types.span_link -> unit
|
||||
(** [pp_span_link v] formats v *)
|
||||
|
||||
val pp_status_status_code : Format.formatter -> Trace_types.status_status_code -> unit
|
||||
(** [pp_status_status_code v] formats v *)
|
||||
|
||||
val pp_status : Format.formatter -> Trace_types.status -> unit
|
||||
(** [pp_status v] formats v *)
|
||||
|
||||
val pp_span : Format.formatter -> Trace_types.span -> unit
|
||||
(** [pp_span v] formats v *)
|
||||
|
||||
val pp_scope_spans : Format.formatter -> Trace_types.scope_spans -> unit
|
||||
(** [pp_scope_spans v] formats v *)
|
||||
|
||||
val pp_resource_spans : Format.formatter -> Trace_types.resource_spans -> unit
|
||||
(** [pp_resource_spans v] formats v *)
|
||||
|
||||
val pp_traces_data : Format.formatter -> Trace_types.traces_data -> unit
|
||||
(** [pp_traces_data v] formats v *)
|
||||
243
src/proto/trace_service.ml
Normal file
243
src/proto/trace_service.ml
Normal file
|
|
@ -0,0 +1,243 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type export_trace_service_request = {
|
||||
resource_spans : Trace.resource_spans list;
|
||||
}
|
||||
|
||||
type export_trace_partial_success = {
|
||||
rejected_spans : int64;
|
||||
error_message : string;
|
||||
}
|
||||
|
||||
type export_trace_service_response = {
|
||||
partial_success : export_trace_partial_success option;
|
||||
}
|
||||
|
||||
let rec default_export_trace_service_request
|
||||
?resource_spans:((resource_spans:Trace.resource_spans list) = [])
|
||||
() : export_trace_service_request = {
|
||||
resource_spans;
|
||||
}
|
||||
|
||||
let rec default_export_trace_partial_success
|
||||
?rejected_spans:((rejected_spans:int64) = 0L)
|
||||
?error_message:((error_message:string) = "")
|
||||
() : export_trace_partial_success = {
|
||||
rejected_spans;
|
||||
error_message;
|
||||
}
|
||||
|
||||
let rec default_export_trace_service_response
|
||||
?partial_success:((partial_success:export_trace_partial_success option) = None)
|
||||
() : export_trace_service_response = {
|
||||
partial_success;
|
||||
}
|
||||
|
||||
type export_trace_service_request_mutable = {
|
||||
mutable resource_spans : Trace.resource_spans list;
|
||||
}
|
||||
|
||||
let default_export_trace_service_request_mutable () : export_trace_service_request_mutable = {
|
||||
resource_spans = [];
|
||||
}
|
||||
|
||||
type export_trace_partial_success_mutable = {
|
||||
mutable rejected_spans : int64;
|
||||
mutable error_message : string;
|
||||
}
|
||||
|
||||
let default_export_trace_partial_success_mutable () : export_trace_partial_success_mutable = {
|
||||
rejected_spans = 0L;
|
||||
error_message = "";
|
||||
}
|
||||
|
||||
type export_trace_service_response_mutable = {
|
||||
mutable partial_success : export_trace_partial_success option;
|
||||
}
|
||||
|
||||
let default_export_trace_service_response_mutable () : export_trace_service_response_mutable = {
|
||||
partial_success = None;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
let rec make_export_trace_service_request
|
||||
~(resource_spans:Trace.resource_spans list)
|
||||
() : export_trace_service_request = {
|
||||
resource_spans;
|
||||
}
|
||||
|
||||
let rec make_export_trace_partial_success
|
||||
~(rejected_spans:int64)
|
||||
~(error_message:string)
|
||||
() : export_trace_partial_success = {
|
||||
rejected_spans;
|
||||
error_message;
|
||||
}
|
||||
|
||||
let rec make_export_trace_service_response
|
||||
?partial_success:((partial_success:export_trace_partial_success option) = None)
|
||||
() : export_trace_service_response = {
|
||||
partial_success;
|
||||
}
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
let rec pp_export_trace_service_request fmt (v:export_trace_service_request) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource_spans" (Pbrt.Pp.pp_list Trace.pp_resource_spans) fmt v.resource_spans;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_export_trace_partial_success fmt (v:export_trace_partial_success) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "rejected_spans" Pbrt.Pp.pp_int64 fmt v.rejected_spans;
|
||||
Pbrt.Pp.pp_record_field ~first:false "error_message" Pbrt.Pp.pp_string fmt v.error_message;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_export_trace_service_response fmt (v:export_trace_service_response) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "partial_success" (Pbrt.Pp.pp_option pp_export_trace_partial_success) fmt v.partial_success;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
let rec encode_pb_export_trace_service_request (v:export_trace_service_request) encoder =
|
||||
Pbrt.List_util.rev_iter_with (fun x encoder ->
|
||||
Pbrt.Encoder.nested Trace.encode_pb_resource_spans x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
) v.resource_spans encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_export_trace_partial_success (v:export_trace_partial_success) encoder =
|
||||
Pbrt.Encoder.int64_as_varint v.rejected_spans encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Varint encoder;
|
||||
Pbrt.Encoder.string v.error_message encoder;
|
||||
Pbrt.Encoder.key 2 Pbrt.Bytes encoder;
|
||||
()
|
||||
|
||||
let rec encode_pb_export_trace_service_response (v:export_trace_service_response) encoder =
|
||||
begin match v.partial_success with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.nested encode_pb_export_trace_partial_success x encoder;
|
||||
Pbrt.Encoder.key 1 Pbrt.Bytes encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
()
|
||||
|
||||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
let rec decode_pb_export_trace_service_request d =
|
||||
let v = default_export_trace_service_request_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.resource_spans <- List.rev v.resource_spans;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.resource_spans <- (Trace.decode_pb_resource_spans (Pbrt.Decoder.nested d)) :: v.resource_spans;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_trace_service_request), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
resource_spans = v.resource_spans;
|
||||
} : export_trace_service_request)
|
||||
|
||||
let rec decode_pb_export_trace_partial_success d =
|
||||
let v = default_export_trace_partial_success_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Varint) -> begin
|
||||
v.rejected_spans <- Pbrt.Decoder.int64_as_varint d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_trace_partial_success), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.error_message <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_trace_partial_success), field(2)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
rejected_spans = v.rejected_spans;
|
||||
error_message = v.error_message;
|
||||
} : export_trace_partial_success)
|
||||
|
||||
let rec decode_pb_export_trace_service_response d =
|
||||
let v = default_export_trace_service_response_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.partial_success <- Some (decode_pb_export_trace_partial_success (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_trace_service_response), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
partial_success = v.partial_success;
|
||||
} : export_trace_service_response)
|
||||
|
||||
module TraceService = struct
|
||||
open Pbrt_services.Value_mode
|
||||
module Client = struct
|
||||
open Pbrt_services
|
||||
|
||||
let export : (export_trace_service_request, unary, export_trace_service_response, unary) Client.rpc =
|
||||
(Client.mk_rpc
|
||||
~package:["opentelemetry";"proto";"collector";"trace";"v1"]
|
||||
~service_name:"TraceService" ~rpc_name:"Export"
|
||||
~req_mode:Client.Unary
|
||||
~res_mode:Client.Unary
|
||||
~encode_json_req:encode_json_export_trace_service_request
|
||||
~encode_pb_req:encode_pb_export_trace_service_request
|
||||
~decode_json_res:decode_json_export_trace_service_response
|
||||
~decode_pb_res:decode_pb_export_trace_service_response
|
||||
() : (export_trace_service_request, unary, export_trace_service_response, unary) Client.rpc)
|
||||
end
|
||||
|
||||
module Server = struct
|
||||
open Pbrt_services
|
||||
|
||||
let _rpc_export : (export_trace_service_request,unary,export_trace_service_response,unary) Server.rpc =
|
||||
(Server.mk_rpc ~name:"Export"
|
||||
~req_mode:Server.Unary
|
||||
~res_mode:Server.Unary
|
||||
~encode_json_res:encode_json_export_trace_service_response
|
||||
~encode_pb_res:encode_pb_export_trace_service_response
|
||||
~decode_json_req:decode_json_export_trace_service_request
|
||||
~decode_pb_req:decode_pb_export_trace_service_request
|
||||
() : _ Server.rpc)
|
||||
|
||||
let make
|
||||
~export
|
||||
() : _ Server.t =
|
||||
{ Server.
|
||||
service_name="TraceService";
|
||||
package=["opentelemetry";"proto";"collector";"trace";"v1"];
|
||||
handlers=[
|
||||
(export _rpc_export);
|
||||
];
|
||||
}
|
||||
end
|
||||
|
||||
end
|
||||
122
src/proto/trace_service.mli
Normal file
122
src/proto/trace_service.mli
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
|
||||
(** Code for trace_service.proto *)
|
||||
|
||||
(* generated from "../../vendor/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.proto", do not edit *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type export_trace_service_request = {
|
||||
resource_spans : Trace.resource_spans list;
|
||||
}
|
||||
|
||||
type export_trace_partial_success = {
|
||||
rejected_spans : int64;
|
||||
error_message : string;
|
||||
}
|
||||
|
||||
type export_trace_service_response = {
|
||||
partial_success : export_trace_partial_success option;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Basic values} *)
|
||||
|
||||
val default_export_trace_service_request :
|
||||
?resource_spans:Trace.resource_spans list ->
|
||||
unit ->
|
||||
export_trace_service_request
|
||||
(** [default_export_trace_service_request ()] is the default value for type [export_trace_service_request] *)
|
||||
|
||||
val default_export_trace_partial_success :
|
||||
?rejected_spans:int64 ->
|
||||
?error_message:string ->
|
||||
unit ->
|
||||
export_trace_partial_success
|
||||
(** [default_export_trace_partial_success ()] is the default value for type [export_trace_partial_success] *)
|
||||
|
||||
val default_export_trace_service_response :
|
||||
?partial_success:export_trace_partial_success option ->
|
||||
unit ->
|
||||
export_trace_service_response
|
||||
(** [default_export_trace_service_response ()] is the default value for type [export_trace_service_response] *)
|
||||
|
||||
|
||||
(** {2 Make functions} *)
|
||||
|
||||
val make_export_trace_service_request :
|
||||
resource_spans:Trace.resource_spans list ->
|
||||
unit ->
|
||||
export_trace_service_request
|
||||
(** [make_export_trace_service_request … ()] is a builder for type [export_trace_service_request] *)
|
||||
|
||||
val make_export_trace_partial_success :
|
||||
rejected_spans:int64 ->
|
||||
error_message:string ->
|
||||
unit ->
|
||||
export_trace_partial_success
|
||||
(** [make_export_trace_partial_success … ()] is a builder for type [export_trace_partial_success] *)
|
||||
|
||||
val make_export_trace_service_response :
|
||||
?partial_success:export_trace_partial_success option ->
|
||||
unit ->
|
||||
export_trace_service_response
|
||||
(** [make_export_trace_service_response … ()] is a builder for type [export_trace_service_response] *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_export_trace_service_request : Format.formatter -> export_trace_service_request -> unit
|
||||
(** [pp_export_trace_service_request v] formats v *)
|
||||
|
||||
val pp_export_trace_partial_success : Format.formatter -> export_trace_partial_success -> unit
|
||||
(** [pp_export_trace_partial_success v] formats v *)
|
||||
|
||||
val pp_export_trace_service_response : Format.formatter -> export_trace_service_response -> unit
|
||||
(** [pp_export_trace_service_response v] formats v *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_pb_export_trace_service_request : export_trace_service_request -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_export_trace_service_request v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_export_trace_partial_success : export_trace_partial_success -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_export_trace_partial_success v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_pb_export_trace_service_response : export_trace_service_response -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_pb_export_trace_service_response v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_pb_export_trace_service_request : Pbrt.Decoder.t -> export_trace_service_request
|
||||
(** [decode_pb_export_trace_service_request decoder] decodes a [export_trace_service_request] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_export_trace_partial_success : Pbrt.Decoder.t -> export_trace_partial_success
|
||||
(** [decode_pb_export_trace_partial_success decoder] decodes a [export_trace_partial_success] binary value from [decoder] *)
|
||||
|
||||
val decode_pb_export_trace_service_response : Pbrt.Decoder.t -> export_trace_service_response
|
||||
(** [decode_pb_export_trace_service_response decoder] decodes a [export_trace_service_response] binary value from [decoder] *)
|
||||
|
||||
|
||||
(** {2 Services} *)
|
||||
|
||||
(** TraceService service *)
|
||||
module TraceService : sig
|
||||
open Pbrt_services
|
||||
open Pbrt_services.Value_mode
|
||||
|
||||
module Client : sig
|
||||
|
||||
val export : (export_trace_service_request, unary, export_trace_service_response, unary) Client.rpc
|
||||
end
|
||||
|
||||
module Server : sig
|
||||
(** Produce a server implementation from handlers *)
|
||||
val make :
|
||||
export:((export_trace_service_request, unary, export_trace_service_response, unary) Server.rpc -> 'handler) ->
|
||||
unit -> 'handler Pbrt_services.Server.t
|
||||
end
|
||||
end
|
||||
|
|
@ -1,112 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
type export_trace_service_request_mutable = {
|
||||
mutable resource_spans : Trace_types.resource_spans list;
|
||||
}
|
||||
|
||||
let default_export_trace_service_request_mutable () : export_trace_service_request_mutable = {
|
||||
resource_spans = [];
|
||||
}
|
||||
|
||||
type export_trace_partial_success_mutable = {
|
||||
mutable rejected_spans : int64;
|
||||
mutable error_message : string;
|
||||
}
|
||||
|
||||
let default_export_trace_partial_success_mutable () : export_trace_partial_success_mutable = {
|
||||
rejected_spans = 0L;
|
||||
error_message = "";
|
||||
}
|
||||
|
||||
type export_trace_service_response_mutable = {
|
||||
mutable partial_success : Trace_service_types.export_trace_partial_success option;
|
||||
}
|
||||
|
||||
let default_export_trace_service_response_mutable () : export_trace_service_response_mutable = {
|
||||
partial_success = None;
|
||||
}
|
||||
|
||||
|
||||
let rec decode_export_trace_service_request d =
|
||||
let v = default_export_trace_service_request_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
v.resource_spans <- List.rev v.resource_spans;
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Bytes) -> begin
|
||||
v.resource_spans <- (Trace_pb.decode_resource_spans (Pbrt.Decoder.nested d)) :: v.resource_spans;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_trace_service_request), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Trace_service_types.resource_spans = v.resource_spans;
|
||||
} : Trace_service_types.export_trace_service_request)
|
||||
|
||||
let rec decode_export_trace_partial_success d =
|
||||
let v = default_export_trace_partial_success_mutable () in
|
||||
let continue__= ref true in
|
||||
while !continue__ do
|
||||
match Pbrt.Decoder.key d with
|
||||
| None -> (
|
||||
); continue__ := false
|
||||
| Some (1, Pbrt.Varint) -> begin
|
||||
v.rejected_spans <- Pbrt.Decoder.int64_as_varint d;
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_trace_partial_success), field(1)" pk
|
||||
| Some (2, Pbrt.Bytes) -> begin
|
||||
v.error_message <- Pbrt.Decoder.string d;
|
||||
end
|
||||
| Some (2, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_trace_partial_success), field(2)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Trace_service_types.rejected_spans = v.rejected_spans;
|
||||
Trace_service_types.error_message = v.error_message;
|
||||
} : Trace_service_types.export_trace_partial_success)
|
||||
|
||||
let rec decode_export_trace_service_response d =
|
||||
let v = default_export_trace_service_response_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.partial_success <- Some (decode_export_trace_partial_success (Pbrt.Decoder.nested d));
|
||||
end
|
||||
| Some (1, pk) ->
|
||||
Pbrt.Decoder.unexpected_payload "Message(export_trace_service_response), field(1)" pk
|
||||
| Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
|
||||
done;
|
||||
({
|
||||
Trace_service_types.partial_success = v.partial_success;
|
||||
} : Trace_service_types.export_trace_service_response)
|
||||
|
||||
let rec encode_export_trace_service_request (v:Trace_service_types.export_trace_service_request) encoder =
|
||||
List.iter (fun x ->
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (Trace_pb.encode_resource_spans x) encoder;
|
||||
) v.Trace_service_types.resource_spans;
|
||||
()
|
||||
|
||||
let rec encode_export_trace_partial_success (v:Trace_service_types.export_trace_partial_success) encoder =
|
||||
Pbrt.Encoder.key (1, Pbrt.Varint) encoder;
|
||||
Pbrt.Encoder.int64_as_varint v.Trace_service_types.rejected_spans encoder;
|
||||
Pbrt.Encoder.key (2, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.string v.Trace_service_types.error_message encoder;
|
||||
()
|
||||
|
||||
let rec encode_export_trace_service_response (v:Trace_service_types.export_trace_service_response) encoder =
|
||||
begin match v.Trace_service_types.partial_success with
|
||||
| Some x ->
|
||||
Pbrt.Encoder.key (1, Pbrt.Bytes) encoder;
|
||||
Pbrt.Encoder.nested (encode_export_trace_partial_success x) encoder;
|
||||
| None -> ();
|
||||
end;
|
||||
()
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
(** trace_service.proto Binary Encoding *)
|
||||
|
||||
|
||||
(** {2 Protobuf Encoding} *)
|
||||
|
||||
val encode_export_trace_service_request : Trace_service_types.export_trace_service_request -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_export_trace_service_request v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_export_trace_partial_success : Trace_service_types.export_trace_partial_success -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_export_trace_partial_success v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
val encode_export_trace_service_response : Trace_service_types.export_trace_service_response -> Pbrt.Encoder.t -> unit
|
||||
(** [encode_export_trace_service_response v encoder] encodes [v] with the given [encoder] *)
|
||||
|
||||
|
||||
(** {2 Protobuf Decoding} *)
|
||||
|
||||
val decode_export_trace_service_request : Pbrt.Decoder.t -> Trace_service_types.export_trace_service_request
|
||||
(** [decode_export_trace_service_request decoder] decodes a [export_trace_service_request] value from [decoder] *)
|
||||
|
||||
val decode_export_trace_partial_success : Pbrt.Decoder.t -> Trace_service_types.export_trace_partial_success
|
||||
(** [decode_export_trace_partial_success decoder] decodes a [export_trace_partial_success] value from [decoder] *)
|
||||
|
||||
val decode_export_trace_service_response : Pbrt.Decoder.t -> Trace_service_types.export_trace_service_response
|
||||
(** [decode_export_trace_service_response decoder] decodes a [export_trace_service_response] value from [decoder] *)
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
let rec pp_export_trace_service_request fmt (v:Trace_service_types.export_trace_service_request) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "resource_spans" (Pbrt.Pp.pp_list Trace_pp.pp_resource_spans) fmt v.Trace_service_types.resource_spans;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_export_trace_partial_success fmt (v:Trace_service_types.export_trace_partial_success) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "rejected_spans" Pbrt.Pp.pp_int64 fmt v.Trace_service_types.rejected_spans;
|
||||
Pbrt.Pp.pp_record_field ~first:false "error_message" Pbrt.Pp.pp_string fmt v.Trace_service_types.error_message;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
||||
let rec pp_export_trace_service_response fmt (v:Trace_service_types.export_trace_service_response) =
|
||||
let pp_i fmt () =
|
||||
Pbrt.Pp.pp_record_field ~first:true "partial_success" (Pbrt.Pp.pp_option pp_export_trace_partial_success) fmt v.Trace_service_types.partial_success;
|
||||
in
|
||||
Pbrt.Pp.pp_brk pp_i fmt ()
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
(** trace_service.proto Pretty Printing *)
|
||||
|
||||
|
||||
(** {2 Formatters} *)
|
||||
|
||||
val pp_export_trace_service_request : Format.formatter -> Trace_service_types.export_trace_service_request -> unit
|
||||
(** [pp_export_trace_service_request v] formats v *)
|
||||
|
||||
val pp_export_trace_partial_success : Format.formatter -> Trace_service_types.export_trace_partial_success -> unit
|
||||
(** [pp_export_trace_partial_success v] formats v *)
|
||||
|
||||
val pp_export_trace_service_response : Format.formatter -> Trace_service_types.export_trace_service_response -> unit
|
||||
(** [pp_export_trace_service_response v] formats v *)
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
|
||||
type export_trace_service_request = {
|
||||
resource_spans : Trace_types.resource_spans list;
|
||||
}
|
||||
|
||||
type export_trace_partial_success = {
|
||||
rejected_spans : int64;
|
||||
error_message : string;
|
||||
}
|
||||
|
||||
type export_trace_service_response = {
|
||||
partial_success : export_trace_partial_success option;
|
||||
}
|
||||
|
||||
let rec default_export_trace_service_request
|
||||
?resource_spans:((resource_spans:Trace_types.resource_spans list) = [])
|
||||
() : export_trace_service_request = {
|
||||
resource_spans;
|
||||
}
|
||||
|
||||
let rec default_export_trace_partial_success
|
||||
?rejected_spans:((rejected_spans:int64) = 0L)
|
||||
?error_message:((error_message:string) = "")
|
||||
() : export_trace_partial_success = {
|
||||
rejected_spans;
|
||||
error_message;
|
||||
}
|
||||
|
||||
let rec default_export_trace_service_response
|
||||
?partial_success:((partial_success:export_trace_partial_success option) = None)
|
||||
() : export_trace_service_response = {
|
||||
partial_success;
|
||||
}
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
(** trace_service.proto Types *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type export_trace_service_request = {
|
||||
resource_spans : Trace_types.resource_spans list;
|
||||
}
|
||||
|
||||
type export_trace_partial_success = {
|
||||
rejected_spans : int64;
|
||||
error_message : string;
|
||||
}
|
||||
|
||||
type export_trace_service_response = {
|
||||
partial_success : export_trace_partial_success option;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Default values} *)
|
||||
|
||||
val default_export_trace_service_request :
|
||||
?resource_spans:Trace_types.resource_spans list ->
|
||||
unit ->
|
||||
export_trace_service_request
|
||||
(** [default_export_trace_service_request ()] is the default value for type [export_trace_service_request] *)
|
||||
|
||||
val default_export_trace_partial_success :
|
||||
?rejected_spans:int64 ->
|
||||
?error_message:string ->
|
||||
unit ->
|
||||
export_trace_partial_success
|
||||
(** [default_export_trace_partial_success ()] is the default value for type [export_trace_partial_success] *)
|
||||
|
||||
val default_export_trace_service_response :
|
||||
?partial_success:export_trace_partial_success option ->
|
||||
unit ->
|
||||
export_trace_service_response
|
||||
(** [default_export_trace_service_response ()] is the default value for type [export_trace_service_response] *)
|
||||
|
|
@ -1,167 +0,0 @@
|
|||
[@@@ocaml.warning "-27-30-39"]
|
||||
|
||||
|
||||
type span_span_kind =
|
||||
| Span_kind_unspecified
|
||||
| Span_kind_internal
|
||||
| Span_kind_server
|
||||
| Span_kind_client
|
||||
| Span_kind_producer
|
||||
| Span_kind_consumer
|
||||
|
||||
type span_event = {
|
||||
time_unix_nano : int64;
|
||||
name : string;
|
||||
attributes : Common_types.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
type span_link = {
|
||||
trace_id : bytes;
|
||||
span_id : bytes;
|
||||
trace_state : string;
|
||||
attributes : Common_types.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
type status_status_code =
|
||||
| Status_code_unset
|
||||
| Status_code_ok
|
||||
| Status_code_error
|
||||
|
||||
type status = {
|
||||
message : string;
|
||||
code : status_status_code;
|
||||
}
|
||||
|
||||
type span = {
|
||||
trace_id : bytes;
|
||||
span_id : bytes;
|
||||
trace_state : string;
|
||||
parent_span_id : bytes;
|
||||
name : string;
|
||||
kind : span_span_kind;
|
||||
start_time_unix_nano : int64;
|
||||
end_time_unix_nano : int64;
|
||||
attributes : Common_types.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
events : span_event list;
|
||||
dropped_events_count : int32;
|
||||
links : span_link list;
|
||||
dropped_links_count : int32;
|
||||
status : status option;
|
||||
}
|
||||
|
||||
type scope_spans = {
|
||||
scope : Common_types.instrumentation_scope option;
|
||||
spans : span list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type resource_spans = {
|
||||
resource : Resource_types.resource option;
|
||||
scope_spans : scope_spans list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type traces_data = {
|
||||
resource_spans : resource_spans list;
|
||||
}
|
||||
|
||||
let rec default_span_span_kind () = (Span_kind_unspecified:span_span_kind)
|
||||
|
||||
let rec default_span_event
|
||||
?time_unix_nano:((time_unix_nano:int64) = 0L)
|
||||
?name:((name:string) = "")
|
||||
?attributes:((attributes:Common_types.key_value list) = [])
|
||||
?dropped_attributes_count:((dropped_attributes_count:int32) = 0l)
|
||||
() : span_event = {
|
||||
time_unix_nano;
|
||||
name;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
}
|
||||
|
||||
let rec default_span_link
|
||||
?trace_id:((trace_id:bytes) = Bytes.create 0)
|
||||
?span_id:((span_id:bytes) = Bytes.create 0)
|
||||
?trace_state:((trace_state:string) = "")
|
||||
?attributes:((attributes:Common_types.key_value list) = [])
|
||||
?dropped_attributes_count:((dropped_attributes_count:int32) = 0l)
|
||||
() : span_link = {
|
||||
trace_id;
|
||||
span_id;
|
||||
trace_state;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
}
|
||||
|
||||
let rec default_status_status_code () = (Status_code_unset:status_status_code)
|
||||
|
||||
let rec default_status
|
||||
?message:((message:string) = "")
|
||||
?code:((code:status_status_code) = default_status_status_code ())
|
||||
() : status = {
|
||||
message;
|
||||
code;
|
||||
}
|
||||
|
||||
let rec default_span
|
||||
?trace_id:((trace_id:bytes) = Bytes.create 0)
|
||||
?span_id:((span_id:bytes) = Bytes.create 0)
|
||||
?trace_state:((trace_state:string) = "")
|
||||
?parent_span_id:((parent_span_id:bytes) = Bytes.create 0)
|
||||
?name:((name:string) = "")
|
||||
?kind:((kind:span_span_kind) = default_span_span_kind ())
|
||||
?start_time_unix_nano:((start_time_unix_nano:int64) = 0L)
|
||||
?end_time_unix_nano:((end_time_unix_nano:int64) = 0L)
|
||||
?attributes:((attributes:Common_types.key_value list) = [])
|
||||
?dropped_attributes_count:((dropped_attributes_count:int32) = 0l)
|
||||
?events:((events:span_event list) = [])
|
||||
?dropped_events_count:((dropped_events_count:int32) = 0l)
|
||||
?links:((links:span_link list) = [])
|
||||
?dropped_links_count:((dropped_links_count:int32) = 0l)
|
||||
?status:((status:status option) = None)
|
||||
() : span = {
|
||||
trace_id;
|
||||
span_id;
|
||||
trace_state;
|
||||
parent_span_id;
|
||||
name;
|
||||
kind;
|
||||
start_time_unix_nano;
|
||||
end_time_unix_nano;
|
||||
attributes;
|
||||
dropped_attributes_count;
|
||||
events;
|
||||
dropped_events_count;
|
||||
links;
|
||||
dropped_links_count;
|
||||
status;
|
||||
}
|
||||
|
||||
let rec default_scope_spans
|
||||
?scope:((scope:Common_types.instrumentation_scope option) = None)
|
||||
?spans:((spans:span list) = [])
|
||||
?schema_url:((schema_url:string) = "")
|
||||
() : scope_spans = {
|
||||
scope;
|
||||
spans;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec default_resource_spans
|
||||
?resource:((resource:Resource_types.resource option) = None)
|
||||
?scope_spans:((scope_spans:scope_spans list) = [])
|
||||
?schema_url:((schema_url:string) = "")
|
||||
() : resource_spans = {
|
||||
resource;
|
||||
scope_spans;
|
||||
schema_url;
|
||||
}
|
||||
|
||||
let rec default_traces_data
|
||||
?resource_spans:((resource_spans:resource_spans list) = [])
|
||||
() : traces_data = {
|
||||
resource_spans;
|
||||
}
|
||||
|
|
@ -1,149 +0,0 @@
|
|||
(** trace.proto Types *)
|
||||
|
||||
|
||||
|
||||
(** {2 Types} *)
|
||||
|
||||
type span_span_kind =
|
||||
| Span_kind_unspecified
|
||||
| Span_kind_internal
|
||||
| Span_kind_server
|
||||
| Span_kind_client
|
||||
| Span_kind_producer
|
||||
| Span_kind_consumer
|
||||
|
||||
type span_event = {
|
||||
time_unix_nano : int64;
|
||||
name : string;
|
||||
attributes : Common_types.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
type span_link = {
|
||||
trace_id : bytes;
|
||||
span_id : bytes;
|
||||
trace_state : string;
|
||||
attributes : Common_types.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
}
|
||||
|
||||
type status_status_code =
|
||||
| Status_code_unset
|
||||
| Status_code_ok
|
||||
| Status_code_error
|
||||
|
||||
type status = {
|
||||
message : string;
|
||||
code : status_status_code;
|
||||
}
|
||||
|
||||
type span = {
|
||||
trace_id : bytes;
|
||||
span_id : bytes;
|
||||
trace_state : string;
|
||||
parent_span_id : bytes;
|
||||
name : string;
|
||||
kind : span_span_kind;
|
||||
start_time_unix_nano : int64;
|
||||
end_time_unix_nano : int64;
|
||||
attributes : Common_types.key_value list;
|
||||
dropped_attributes_count : int32;
|
||||
events : span_event list;
|
||||
dropped_events_count : int32;
|
||||
links : span_link list;
|
||||
dropped_links_count : int32;
|
||||
status : status option;
|
||||
}
|
||||
|
||||
type scope_spans = {
|
||||
scope : Common_types.instrumentation_scope option;
|
||||
spans : span list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type resource_spans = {
|
||||
resource : Resource_types.resource option;
|
||||
scope_spans : scope_spans list;
|
||||
schema_url : string;
|
||||
}
|
||||
|
||||
type traces_data = {
|
||||
resource_spans : resource_spans list;
|
||||
}
|
||||
|
||||
|
||||
(** {2 Default values} *)
|
||||
|
||||
val default_span_span_kind : unit -> span_span_kind
|
||||
(** [default_span_span_kind ()] is the default value for type [span_span_kind] *)
|
||||
|
||||
val default_span_event :
|
||||
?time_unix_nano:int64 ->
|
||||
?name:string ->
|
||||
?attributes:Common_types.key_value list ->
|
||||
?dropped_attributes_count:int32 ->
|
||||
unit ->
|
||||
span_event
|
||||
(** [default_span_event ()] is the default value for type [span_event] *)
|
||||
|
||||
val default_span_link :
|
||||
?trace_id:bytes ->
|
||||
?span_id:bytes ->
|
||||
?trace_state:string ->
|
||||
?attributes:Common_types.key_value list ->
|
||||
?dropped_attributes_count:int32 ->
|
||||
unit ->
|
||||
span_link
|
||||
(** [default_span_link ()] is the default value for type [span_link] *)
|
||||
|
||||
val default_status_status_code : unit -> status_status_code
|
||||
(** [default_status_status_code ()] is the default value for type [status_status_code] *)
|
||||
|
||||
val default_status :
|
||||
?message:string ->
|
||||
?code:status_status_code ->
|
||||
unit ->
|
||||
status
|
||||
(** [default_status ()] is the default value for type [status] *)
|
||||
|
||||
val default_span :
|
||||
?trace_id:bytes ->
|
||||
?span_id:bytes ->
|
||||
?trace_state:string ->
|
||||
?parent_span_id:bytes ->
|
||||
?name:string ->
|
||||
?kind:span_span_kind ->
|
||||
?start_time_unix_nano:int64 ->
|
||||
?end_time_unix_nano:int64 ->
|
||||
?attributes:Common_types.key_value list ->
|
||||
?dropped_attributes_count:int32 ->
|
||||
?events:span_event list ->
|
||||
?dropped_events_count:int32 ->
|
||||
?links:span_link list ->
|
||||
?dropped_links_count:int32 ->
|
||||
?status:status option ->
|
||||
unit ->
|
||||
span
|
||||
(** [default_span ()] is the default value for type [span] *)
|
||||
|
||||
val default_scope_spans :
|
||||
?scope:Common_types.instrumentation_scope option ->
|
||||
?spans:span list ->
|
||||
?schema_url:string ->
|
||||
unit ->
|
||||
scope_spans
|
||||
(** [default_scope_spans ()] is the default value for type [scope_spans] *)
|
||||
|
||||
val default_resource_spans :
|
||||
?resource:Resource_types.resource option ->
|
||||
?scope_spans:scope_spans list ->
|
||||
?schema_url:string ->
|
||||
unit ->
|
||||
resource_spans
|
||||
(** [default_resource_spans ()] is the default value for type [resource_spans] *)
|
||||
|
||||
val default_traces_data :
|
||||
?resource_spans:resource_spans list ->
|
||||
unit ->
|
||||
traces_data
|
||||
(** [default_traces_data ()] is the default value for type [traces_data] *)
|
||||
Loading…
Add table
Reference in a new issue