#include <errno.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <signal.h>
#include <sys/time.h>
#include <ucontext.h>
#include <time.h>
#include <unistd.h>
#include <include/hpctoolkit-config.h>
#include <monitor.h>
#include "sample_source_obj.h"
#include "common.h"
#include "ss-errno.h"
#include <hpcrun/hpcrun_options.h>
#include <hpcrun/hpcrun_stats.h>
#include <hpcrun/metrics.h>
#include <hpcrun/safe-sampling.h>
#include <hpcrun/sample_event.h>
#include <hpcrun/sample_sources_registered.h>
#include <hpcrun/thread_data.h>
#include <lush/lush-backtrace.h>
#include <messages/messages.h>
#include <utilities/tokenize.h>
#include <utilities/arch/context-pc.h>
#include <unwind/common/unwind.h>
#include <lib/support-lean/timer.h>
#include <sample-sources/blame-shift/blame-shift.h>
#include "ss_obj.h"
Go to the source code of this file.
◆ CPUTIME_CLOCK_TYPE
#define CPUTIME_CLOCK_TYPE CLOCK_THREAD_CPUTIME_ID |
◆ CPUTIME_EVENT_NAME
#define CPUTIME_EVENT_NAME "CPUTIME" |
◆ CPUTIME_METRIC_NAME
#define CPUTIME_METRIC_NAME "CPUTIME (usec)" |
◆ DEFAULT_PERIOD
#define DEFAULT_PERIOD 5000L |
◆ IDLE_METRIC_NAME
#define IDLE_METRIC_NAME "idleness (usec)" |
◆ ITIMER_EVENT_NAME
#define ITIMER_EVENT_NAME "ITIMER" |
◆ ITIMER_METRIC_NAME
#define ITIMER_METRIC_NAME "ITIMER (usec)" |
◆ ITIMER_SIGNAL
#define ITIMER_SIGNAL SIGPROF |
◆ ITIMER_TYPE
#define ITIMER_TYPE ITIMER_PROF |
◆ REALTIME_CLOCK_TYPE
#define REALTIME_CLOCK_TYPE CLOCK_REALTIME |
◆ REALTIME_EVENT_NAME
#define REALTIME_EVENT_NAME "REALTIME" |
◆ REALTIME_METRIC_NAME
#define REALTIME_METRIC_NAME "REALTIME (usec)" |
◆ REALTIME_NOTIFY_METHOD
#define REALTIME_NOTIFY_METHOD SIGEV_THREAD_ID |
◆ REALTIME_SIGNAL
#define REALTIME_SIGNAL (SIGRTMIN + 3) |
◆ sample_period
◆ sigev_notify_thread_id
#define sigev_notify_thread_id _sigev_un._tid |
◆ ss_cls
◆ ss_name
◆ ss_sort_order
◆ USE_ELAPSED_TIME_FOR_WALLCLOCK
#define USE_ELAPSED_TIME_FOR_WALLCLOCK |
◆ WALLCLOCK_EVENT_NAME
#define WALLCLOCK_EVENT_NAME "WALLCLOCK" |
◆ WALLCLOCK_METRIC_NAME
#define WALLCLOCK_METRIC_NAME "WALLCLOCK (usec)" |
◆ _local_const
Enumerator |
---|
PROC_NAME_LEN | |
ITIMER_EVENT | |
_TST_EVENT | |
Definition at line 169 of file itimer.c.
◆ hpcrun_create_real_timer()
◆ hpcrun_delete_real_timer()
◆ hpcrun_itimer_wallclock_ok()
void hpcrun_itimer_wallclock_ok |
( |
bool |
flag | ) |
|
◆ hpcrun_restart_timer()
◆ hpcrun_settime()
static int hpcrun_settime |
( |
thread_data_t * |
td, |
|
|
struct itimerspec * |
spec |
|
) |
| |
|
static |
◆ hpcrun_start_timer()
◆ hpcrun_stop_timer()
◆ itimer_signal_handler()
static int itimer_signal_handler |
( |
int |
sig, |
|
|
siginfo_t * |
siginfo, |
|
|
void * |
context |
|
) |
| |
|
static |
◆ METHOD_FN() [1/11]
static void METHOD_FN |
( |
init |
| ) |
|
|
static |
◆ METHOD_FN() [2/11]
static void METHOD_FN |
( |
thread_init |
| ) |
|
|
static |
◆ METHOD_FN() [3/11]
static void METHOD_FN |
( |
thread_init_action |
| ) |
|
|
static |
◆ METHOD_FN() [4/11]
static void METHOD_FN |
( |
start |
| ) |
|
|
static |
◆ METHOD_FN() [5/11]
static void METHOD_FN |
( |
thread_fini_action |
| ) |
|
|
static |
◆ METHOD_FN() [6/11]
static void METHOD_FN |
( |
stop |
| ) |
|
|
static |
◆ METHOD_FN() [7/11]
static void METHOD_FN |
( |
shutdown |
| ) |
|
|
static |
◆ METHOD_FN() [8/11]
static bool METHOD_FN |
( |
supports_event |
, |
|
|
const char * |
ev_str |
|
) |
| |
|
static |
◆ METHOD_FN() [9/11]
static void METHOD_FN |
( |
process_event_list |
, |
|
|
int |
lush_metrics |
|
) |
| |
|
static |
◆ METHOD_FN() [10/11]
static void METHOD_FN |
( |
gen_event_set |
, |
|
|
int |
lush_metrics |
|
) |
| |
|
static |
◆ METHOD_FN() [11/11]
static void METHOD_FN |
( |
display_events |
| ) |
|
|
static |
◆ hpcrun_thread_suppress_sample
__thread bool hpcrun_thread_suppress_sample |
◆ itspec_start
struct itimerspec itspec_start |
|
static |
◆ itspec_stop
struct itimerspec itspec_stop |
|
static |
◆ itval_start
struct itimerval itval_start |
|
static |
◆ itval_stop
struct itimerval itval_stop |
|
static |
◆ period
◆ the_event_name
char* the_event_name = "unknown" |
|
static |
◆ the_metric_name
char* the_metric_name = "unknown" |
|
static |
◆ the_signal_num
◆ timer_mask
◆ use_cputime
◆ use_itimer
◆ use_realtime
bool use_realtime = false |
|
static |
◆ wallclock_ok
__thread bool wallclock_ok = false |
|
static |