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;
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
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)
static std::chrono::time_point< std::chrono::steady_clock > previous_write
static void start_timer(std::string section_name)
std::map< std::string, std::list< std::chrono::time_point< std::chrono::steady_clock > > > duration_map_t
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...