112 TMSG(MEMLEAK,
"thread init (no action needed)");
118 TMSG(MEMLEAK,
"thread action (noop)");
124 TMSG(MEMLEAK,
"starting MEMLEAK");
132 TMSG(MEMLEAK,
"thread fini (noop)");
138 TMSG(MEMLEAK,
"stopping MEMLEAK");
167 TMSG(MEMLEAK,
"Setting up metrics for memory leak detection");
178 memleak_metric->
formula = buffer;
198 printf(
"===========================================================================\n");
199 printf(
"Available memory leak detection events\n");
200 printf(
"===========================================================================\n");
201 printf(
"Name\t\tDescription\n");
202 printf(
"---------------------------------------------------------------------------\n");
203 printf(
"MEMLEAK\t\tThe number of bytes allocated and freed per dynamic context\n");
215 #define ss_name memleak 216 #define ss_cls SS_SOFTWARE 217 #define ss_sort_order 30 258 TMSG(MEMLEAK,
"\talloc (cct node %p): metric[%d] += %d",
271 TMSG(MEMLEAK,
"\tfree (cct node %p): metric[%d] += %d",
thread_data_t * hpcrun_safe_get_td(void)
int hpcrun_memleak_alloc_id()
static int free_metric_id
static void METHOD_FN(init)
bool hpcrun_is_initialized()
static void cct_metric_data_increment(int metric_id, cct_node_t *x, cct_metric_data_t incr)
static int alloc_metric_id
static int leak_metric_id
int hpcrun_memleak_active()
static const unsigned int MAX_CHAR_FORMULA
source_state_t * ss_state
void hpcrun_alloc_inc(cct_node_t *node, int incr)
void * hpcrun_malloc(size_t size)
bool hpcrun_ev_is(const char *candidate, const char *event_name)
void hpcrun_free_inc(cct_node_t *node, int incr)
#define METHOD_CALL(obj, meth,...)
int hpcrun_new_metric(void)
metric_desc_t * hpcrun_set_metric_info(int metric_id, const char *name)