14#ifndef ROOT_ROOFIT_MultiProcess_ProcessTimer
15#define ROOT_ROOFIT_MultiProcess_ProcessTimer
22#include <nlohmann/json.hpp>
23using json = nlohmann::json;
26namespace MultiProcess {
31 static void setup(pid_t proc,
bool set_begin =
true)
42 static std::list<std::chrono::time_point<std::chrono::steady_clock>>
get_durations(std::string section_name);
45 static void end_timer(std::string section_name);
58 using duration_map_t = std::map<std::string, std::list<std::chrono::time_point<std::chrono::steady_clock>>>;
61 static std::chrono::time_point<std::chrono::steady_clock>
begin;
Can be used to generate timings of multiple processes simultaneously and output logs.
static void setup(pid_t proc, bool set_begin=true)
static void add_metadata(json data)
static void print_timestamps()
static void set_write_interval(int write_interval)
static void print_durations(std::string to_print="all")
static std::chrono::time_point< std::chrono::steady_clock > begin
static std::list< std::chrono::time_point< std::chrono::steady_clock > > get_durations(std::string section_name)
static pid_t get_process()
static void set_process(pid_t proc)
std::map< std::string, std::list< std::chrono::time_point< std::chrono::steady_clock > > > duration_map_t
static std::chrono::time_point< std::chrono::steady_clock > previous_write
static void start_timer(std::string section_name)
static int write_interval
static duration_map_t durations
static void end_timer(std::string section_name)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...