+++ /dev/null
-open Khatus
-
-let main ~stream ~interval ~dir =
- let dumped = Time.init in
- ignore (Msg_stream.fold stream ~init:dumped ~f:(
- fun dumped ~state:(State.({node; modul; time = now; cache;})) ~msg:_ ->
- let elapsed = Time.diff dumped now in
- if (Time.Span.is_gt_or_eq elapsed interval)
- then begin
- Cache.dump_to_dir cache ~time:now ~node ~modul ~dir;
- now
- end else
- dumped
- ))
-
-let () =
- let modul = __MODULE__ in
- let node = Sys.argv.(1) in
- let dump_interval = Sys.argv.(2) |> Time.Span.of_string in
- let dump_directory = Sys.argv.(3) in
- main
- ~stream: (Msg_stream.init ~node ~modul)
- ~interval: dump_interval
- ~dir: dump_directory