Processor Counter Monitor
|
Example of using CPU counters: implements a simple performance counter monitoring utility. More...
#include <iostream>
#include <unistd.h>
#include <signal.h>
#include <sys/time.h>
#include <math.h>
#include <iomanip>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <cstring>
#include <sstream>
#include <assert.h>
#include <bitset>
#include "cpucounters.h"
#include "utils.h"
Macros | |
#define | HACK_TO_REMOVE_DUPLICATE_ERROR |
#define | SIZE (10000000) |
#define | PCM_DELAY_DEFAULT 1.0 |
#define | PCM_DELAY_MIN 0.015 |
#define | PCM_CALIBRATION_INTERVAL 50 |
#define | MAX_CORES 4096 |
Functions | |
template<class IntType > | |
double | float_format (IntType n) |
std::string | temp_format (int32 t) |
std::string | l3cache_occ_format (uint64 o) |
void | print_help (const string prog_name) |
template<class State > | |
void | print_basic_metrics (const PCM *m, const State &state1, const State &state2) |
template<class State > | |
void | print_other_metrics (const PCM *m, const State &state1, const State &state2) |
void | print_output (PCM *m, const std::vector< CoreCounterState > &cstates1, const std::vector< CoreCounterState > &cstates2, const std::vector< SocketCounterState > &sktstate1, const std::vector< SocketCounterState > &sktstate2, const std::bitset< MAX_CORES > &ycores, const SystemCounterState &sstate1, const SystemCounterState &sstate2, const int cpu_model, const bool show_core_output, const bool show_partial_core_output, const bool show_socket_output, const bool show_system_output) |
void | print_basic_metrics_csv_header (const PCM *m) |
void | print_basic_metrics_csv_semicolons (const PCM *m) |
void | print_csv_header (PCM *m, const int cpu_model, const bool show_core_output, const bool show_socket_output, const bool show_system_output) |
template<class State > | |
void | print_basic_metrics_csv (const PCM *m, const State &state1, const State &state2, const bool print_last_semicolon=true) |
template<class State > | |
void | print_other_metrics_csv (const PCM *m, const State &state1, const State &state2) |
void | print_csv (PCM *m, const std::vector< CoreCounterState > &cstates1, const std::vector< CoreCounterState > &cstates2, const std::vector< SocketCounterState > &sktstate1, const std::vector< SocketCounterState > &sktstate2, const SystemCounterState &sstate1, const SystemCounterState &sstate2, const int cpu_model, const bool show_core_output, const bool show_socket_output, const bool show_system_output) |
int | main (int argc, char *argv[]) |
Example of using CPU counters: implements a simple performance counter monitoring utility.