![]() |
The ROme OpTimistic Simulator
3.0.0
A General-Purpose Multithreaded Parallel/Distributed Simulation Platform
|
Statistics module. More...
#include <log/stats.h>
#include <arch/io.h>
#include <arch/mem.h>
#include <arch/timer.h>
#include <core/arg_parse.h>
#include <core/core.h>
#include <assert.h>
#include <inttypes.h>
#include <memory.h>
#include <stdarg.h>
#include <stdatomic.h>
#include <stdint.h>
#include <stdio.h>
Go to the source code of this file.
Data Structures | |
struct | stats_measure |
A set of statistical values of a single metric. More... | |
struct | stats_thread |
A container for statistics in a logical time period. More... | |
struct | stats_node |
struct | stats_glob |
Macros | |
#define | STATS_BUFFER_ENTRIES (1024) |
#define | STD_DEV_POWER_2_EXP 5 |
#define | STATS_MAX_STRLEN 32U |
Functions | |
static void | file_write_chunk (FILE *f, const void *data, size_t data_size) |
static void * | file_memory_load (FILE *f, int64_t *f_size_p) |
static FILE * | file_open (const char *open_type, const char *fmt,...) |
A version of fopen() which accepts a printf style format string. More... | |
void | stats_global_time_start (void) |
Initializes the internal timer used to take accurate measurements. | |
void | stats_global_time_take (enum stats_global_time this_stat) |
Initializes the internal timer used to take accurate measurements. | |
void | stats_global_init (void) |
Initializes the stats subsystem in the node. | |
void | stats_init (void) |
Initializes the stats subsystem in the current thread. | |
static void | stats_files_receive (FILE *o) |
static void | stats_files_send (void) |
static void | stats_file_final_write (FILE *o) |
void | stats_global_fini (void) |
Finalizes the stats subsystem in the node. More... | |
void | stats_time_start (enum stats_time this_stat) |
void | stats_time_take (enum stats_time this_stat) |
void | stats_on_gvt (simtime_t gvt) |
void | stats_dump (void) |
Variables | |
const char *const | s_names [] |
The statistics names, used to fill in the header of the final csv. More... | |
static timer_uint | sim_start_ts |
static struct stats_glob | stats_glob_cur |
static FILE * | stats_node_tmp |
static FILE ** | stats_tmps |
static __thread struct stats_thread | stats_cur |
static __thread timer_uint | last_ts [STATS_COUNT] |
Statistics module.
All facilities to collect, gather, and dump statistics are implemented in this module.
Definition in file stats.c.
|
static |
A version of fopen() which accepts a printf style format string.
open_type | a string which controls how the file is opened (see fopen()) |
fmt | the file name expressed as a printf style format string |
... | the list of additional arguments used in fmt (see printf()) |
Definition at line 121 of file stats.c.
void stats_global_fini | ( | void | ) |
Finalizes the stats subsystem in the node.
When finalizing this subsystem the master node formats and dumps his statistics from his temporary files onto the final csv. Then, in a distributed setting, he receives the slaves temporary files, formatting and dumping their statistics as well.
Definition at line 273 of file stats.c.