(*****************************************************************************) (* *) (* Open Source License *) (* Copyright (c) 2023 Nomadic Labs, *) (* Copyright (c) 2023 Functori, *) (* *) (* Permission is hereby granted, free of charge, to any person obtaining a *) (* copy of this software and associated documentation files (the "Software"),*) (* to deal in the Software without restriction, including without limitation *) (* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) (* and/or sell copies of the Software, and to permit persons to whom the *) (* Software is furnished to do so, subject to the following conditions: *) (* *) (* The above copyright notice and this permission notice shall be included *) (* in all copies or substantial portions of the Software. *) (* *) (* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) (* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) (* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) (* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) (* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) (* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) (* DEALINGS IN THE SOFTWARE. *) (* *) (*****************************************************************************) module Simple = struct include Internal_event.Simple let section = ["smart_rollup_node"] let starting_node = declare_0 ~section ~name:"starting_smart_rollup_node" ~msg:"Starting the smart rollup node" ~level:Notice () let shutdown_node = declare_1 ~section ~name:"stopping_smart_rollup_node" ~msg:"Stopping the smart rollup node" ~level:Notice ("exit_status", Data_encoding.int8) let node_is_ready = declare_2 ~section ~name:"smart_rollup_node_is_ready" ~msg:"The smart rollup node is listening to {addr}:{port}" ~level:Notice ("addr", Data_encoding.string) ("port", Data_encoding.uint16) let rollup_exists = declare_2 ~section ~name:"smart_rollup_node_knows_its_rollup" ~msg: "The smart rollup node is interacting with rollup {addr} of kind {kind}" ~level:Info ("addr", Octez_smart_rollup.Address.encoding) ("kind", Data_encoding.string) let starting_metrics_server = declare_2 ~section ~name:"starting_metrics_server" ~msg:"Starting metrics server on {host}:{port}" ~level:Notice ("host", Data_encoding.string) ("port", Data_encoding.uint16) let metrics_ended = declare_1 ~section ~name:"metrics_ended" ~level:Error ~msg:"[Error]: Metrics server ended with error {stacktrace}" ("stacktrace", Data_encoding.string) let kernel_debug = declare_1 ~section ~name:"kernel_debug" ~level:Info ~msg:"{log}" ("log", Data_encoding.string) ~pp1:Format.pp_print_string let simulation_kernel_debug = declare_1 ~section ~name:"simulation_kernel_debug" ~level:Info ~msg:"[simulation] {log}" ("log", Data_encoding.string) ~pp1:Format.pp_print_string let warn_dal_enabled_no_node = declare_0 ~section ~name:"dal_enabled_no_node" ~level:Warning ~msg: "[Warning]: DAL is enabled in the protocol but no DAL node was \ provided for the rollup node" () let waiting_first_block = declare_1 ~section ~name:"smart_rollup_node_waiting_first_block" ~level:Info ~msg:"Waiting for first block of protocol {protocol} to appear" ("protocol", Protocol_hash.encoding) let received_first_block = declare_2 ~section ~name:"smart_rollup_node_received_first_block" ~level:Info ~msg:"First block of protocol {protocol} received: {block}" ("block", Block_hash.encoding) ("protocol", Protocol_hash.encoding) let detected_protocol_migration = declare_0 ~section ~name:"detected_protocol_migration" ~level:Notice ~msg:"Detected protocol migration, the rollup node will now stop" () let acquiring_lock = declare_0 ~section ~name:"acquiring_lock" ~level:Info ~msg:"Acquiring lock on data directory." () let calling_gc = declare_2 ~section ~name:"calling_gc" ~level:Info ~msg: "Garbage collection started for level {gc_level} at head level \ {head_level}" ("gc_level", Data_encoding.int32) ("head_level", Data_encoding.int32) let gc_levels_storage_failure = declare_0 ~section ~name:"gc_levels_storage_failure" ~level:Warning ~msg:"[Warning] An attempt to write GC level information to disk failed" () let convert_history_mode = declare_2 ~section ~name:"convert_history_mode" ~level:Notice ~msg: "Converting the {old_history_mode} rollup node into an \ {new_history_mode} rollup node" ("old_history_mode", Configuration.history_mode_encoding) ("new_history_mode", Configuration.history_mode_encoding) let gc_finished = declare_2 ~section ~name:"gc_finished" ~level:Info ~msg: "Garbage collection finished for level {gc_level} at head level \ {head_level}" ("gc_level", Data_encoding.int32) ("head_level", Data_encoding.int32) end let starting_node = Simple.(emit starting_node) let shutdown_node exit_status = Simple.(emit shutdown_node exit_status) let node_is_ready ~rpc_addr ~rpc_port = Simple.(emit node_is_ready (rpc_addr, rpc_port)) let rollup_exists ~addr ~kind = let kind = Octez_smart_rollup.Kind.to_string kind in Simple.(emit rollup_exists (addr, kind)) let starting_metrics_server ~host ~port = Simple.(emit starting_metrics_server) (host, port) let metrics_ended error = Simple.(emit metrics_ended) error let metrics_ended_dont_wait error = Simple.(emit__dont_wait__use_with_care metrics_ended) error let kernel_debug msg = Simple.(emit kernel_debug) msg let simulation_kernel_debug msg = Simple.(emit simulation_kernel_debug) msg let kernel_debug_dont_wait msg = Simple.(emit__dont_wait__use_with_care kernel_debug) msg let warn_dal_enabled_no_node () = Simple.(emit warn_dal_enabled_no_node) () let waiting_first_block p = Simple.(emit waiting_first_block) p let received_first_block b p = Simple.(emit received_first_block) (b, p) let detected_protocol_migration () = Simple.(emit detected_protocol_migration) () let acquiring_lock () = Simple.(emit acquiring_lock) () let calling_gc ~gc_level ~head_level = Simple.(emit calling_gc) (gc_level, head_level) let gc_levels_storage_failure () = Simple.(emit gc_levels_storage_failure) () let convert_history_mode old_history_mode new_history_mode = Simple.(emit convert_history_mode) (old_history_mode, new_history_mode) let gc_finished ~gc_level ~head_level = Simple.(emit gc_finished) (gc_level, head_level)