ocaml-opentelemetry/src/common_types.ml
2022-05-03 13:52:20 -04:00

59 lines
1 KiB
OCaml

[@@@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_library = {
name : string;
version : string;
}
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_library
?name:((name:string) = "")
?version:((version:string) = "")
() : instrumentation_library = {
name;
version;
}