Skip to content

Commit 663c08d

Browse files
committed
Add mlis for observer_helpers and observer_skeleton
Signed-off-by: Steven Woods <[email protected]>
1 parent 80bd494 commit 663c08d

File tree

3 files changed

+246
-1
lines changed

3 files changed

+246
-1
lines changed
Lines changed: 199 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
1+
val queue_name : string
2+
3+
val default_path : string
4+
5+
module Errors : sig
6+
type error =
7+
| Internal_error of string
8+
| Unimplemented of string
9+
| Unknown_error
10+
11+
val typ_of_error : error Rpc.Types.typ
12+
13+
val error : error Rpc.Types.def
14+
end
15+
16+
exception Observer_error of Errors.error
17+
18+
type debug_info = string
19+
20+
(** ObserverAPI defines the RPC interface for any Observer
21+
module, see ocaml/libs/tracing/ *)
22+
module ObserverAPI : functor (R : Idl.RPC) -> sig
23+
val description : Idl.Interface.description
24+
25+
val implementation : R.implementation
26+
27+
val create :
28+
( debug_info
29+
-> string
30+
-> string
31+
-> (string * string) list
32+
-> string list
33+
-> bool
34+
-> (unit, Errors.error) R.comp
35+
)
36+
R.res
37+
38+
val destroy : (debug_info -> string -> (unit, Errors.error) R.comp) R.res
39+
40+
val set_enabled :
41+
(debug_info -> string -> bool -> (unit, Errors.error) R.comp) R.res
42+
43+
val set_attributes :
44+
( debug_info
45+
-> string
46+
-> (string * string) list
47+
-> (unit, Errors.error) R.comp
48+
)
49+
R.res
50+
51+
val set_endpoints :
52+
(debug_info -> string -> string list -> (unit, Errors.error) R.comp) R.res
53+
54+
val init : (debug_info -> (unit, Errors.error) R.comp) R.res
55+
56+
val set_trace_log_dir :
57+
(debug_info -> string -> (unit, Errors.error) R.comp) R.res
58+
59+
val set_export_interval :
60+
(debug_info -> float -> (unit, Errors.error) R.comp) R.res
61+
62+
val set_max_spans : (debug_info -> int -> (unit, Errors.error) R.comp) R.res
63+
64+
val set_max_traces : (debug_info -> int -> (unit, Errors.error) R.comp) R.res
65+
66+
val set_max_file_size :
67+
(debug_info -> int -> (unit, Errors.error) R.comp) R.res
68+
69+
val set_host_id : (debug_info -> string -> (unit, Errors.error) R.comp) R.res
70+
71+
val set_compress_tracing_files :
72+
(debug_info -> bool -> (unit, Errors.error) R.comp) R.res
73+
end
74+
75+
(** A Server_impl module will define how the Server responds to ObserverAPI calls *)
76+
module type Server_impl = sig
77+
type context = unit
78+
79+
val create :
80+
context
81+
-> dbg:debug_info
82+
-> uuid:string
83+
-> name_label:string
84+
-> attributes:(string * string) list
85+
-> endpoints:string list
86+
-> enabled:bool
87+
-> unit
88+
89+
val destroy : context -> dbg:debug_info -> uuid:string -> unit
90+
91+
val set_enabled :
92+
context -> dbg:debug_info -> uuid:string -> enabled:bool -> unit
93+
94+
val set_attributes :
95+
context
96+
-> dbg:debug_info
97+
-> uuid:string
98+
-> attributes:(string * string) list
99+
-> unit
100+
101+
val set_endpoints :
102+
context -> dbg:debug_info -> uuid:string -> endpoints:string list -> unit
103+
104+
val init : context -> dbg:debug_info -> unit
105+
106+
val set_trace_log_dir : context -> dbg:debug_info -> dir:string -> unit
107+
108+
val set_export_interval : context -> dbg:debug_info -> interval:float -> unit
109+
110+
val set_max_spans : context -> dbg:debug_info -> spans:int -> unit
111+
112+
val set_max_traces : context -> dbg:debug_info -> traces:int -> unit
113+
114+
val set_max_file_size : context -> dbg:debug_info -> file_size:int -> unit
115+
116+
val set_host_id : context -> dbg:debug_info -> host_id:string -> unit
117+
118+
val set_compress_tracing_files :
119+
context -> dbg:debug_info -> enabled:bool -> unit
120+
end
121+
122+
(** A Server for receiving ObserverAPI calls *)
123+
module Server : functor (_ : Server_impl) () -> sig
124+
module S : sig
125+
val create :
126+
( debug_info
127+
-> string
128+
-> string
129+
-> (string * string) list
130+
-> string list
131+
-> bool
132+
-> unit
133+
)
134+
-> unit
135+
136+
val destroy : (debug_info -> string -> unit) -> unit
137+
138+
val set_enabled : (debug_info -> string -> bool -> unit) -> unit
139+
140+
val set_attributes :
141+
(debug_info -> string -> (string * string) list -> unit) -> unit
142+
143+
val set_endpoints : (debug_info -> string -> string list -> unit) -> unit
144+
145+
val init : (debug_info -> unit) -> unit
146+
147+
val set_trace_log_dir : (debug_info -> string -> unit) -> unit
148+
149+
val set_export_interval : (debug_info -> float -> unit) -> unit
150+
151+
val set_max_spans : (debug_info -> int -> unit) -> unit
152+
153+
val set_max_traces : (debug_info -> int -> unit) -> unit
154+
155+
val set_max_file_size : (debug_info -> int -> unit) -> unit
156+
157+
val set_host_id : (debug_info -> string -> unit) -> unit
158+
159+
val set_compress_tracing_files : (debug_info -> bool -> unit) -> unit
160+
end
161+
162+
val process : Rpc.call -> Rpc.response
163+
end
164+
165+
(** A client for sending ObserverAPI calls to the above queue_name *)
166+
module Client : sig
167+
val create :
168+
debug_info
169+
-> string
170+
-> string
171+
-> (string * string) list
172+
-> string list
173+
-> bool
174+
-> unit
175+
176+
val destroy : debug_info -> string -> unit
177+
178+
val set_enabled : debug_info -> string -> bool -> unit
179+
180+
val set_attributes : debug_info -> string -> (string * string) list -> unit
181+
182+
val set_endpoints : debug_info -> string -> string list -> unit
183+
184+
val init : debug_info -> unit
185+
186+
val set_trace_log_dir : debug_info -> string -> unit
187+
188+
val set_export_interval : debug_info -> float -> unit
189+
190+
val set_max_spans : debug_info -> int -> unit
191+
192+
val set_max_traces : debug_info -> int -> unit
193+
194+
val set_max_file_size : debug_info -> int -> unit
195+
196+
val set_host_id : debug_info -> string -> unit
197+
198+
val set_compress_tracing_files : debug_info -> bool -> unit
199+
end
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
(** This module provides dummy implementations for each Observer function.
2+
These are intended to be used to fill in the functions that the module will
3+
not ever use, as they will raise an Unimplemented error if called *)
4+
module Observer : sig
5+
type context = unit
6+
7+
val create :
8+
context
9+
-> dbg:string
10+
-> uuid:string
11+
-> name_label:string
12+
-> attributes:(string * string) list
13+
-> endpoints:string list
14+
-> enabled:bool
15+
-> unit
16+
17+
val destroy : context -> dbg:string -> uuid:string -> unit
18+
19+
val set_enabled : context -> dbg:string -> uuid:string -> enabled:bool -> unit
20+
21+
val set_attributes :
22+
context
23+
-> dbg:string
24+
-> uuid:string
25+
-> attributes:(string * string) list
26+
-> unit
27+
28+
val set_endpoints :
29+
context -> dbg:string -> uuid:string -> endpoints:string list -> unit
30+
31+
val init : context -> dbg:string -> unit
32+
33+
val set_trace_log_dir : context -> dbg:string -> dir:string -> unit
34+
35+
val set_export_interval : context -> dbg:string -> interval:float -> unit
36+
37+
val set_max_spans : context -> dbg:string -> spans:int -> unit
38+
39+
val set_max_traces : context -> dbg:string -> traces:int -> unit
40+
41+
val set_max_file_size : context -> dbg:string -> file_size:int -> unit
42+
43+
val set_host_id : context -> dbg:string -> host_id:string -> unit
44+
45+
val set_compress_tracing_files : context -> dbg:string -> enabled:bool -> unit
46+
end

quality-gate.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ verify-cert () {
2525
}
2626

2727
mli-files () {
28-
N=469
28+
N=467
2929
X="ocaml/tests"
3030
X+="|ocaml/quicktest"
3131
X+="|ocaml/message-switch/core_test"

0 commit comments

Comments
 (0)