20 #ifndef ORTE_NOTIFIER_EVENTS_CALLS_H
21 #define ORTE_NOTIFIER_EVENTS_CALLS_H
23 #include "orte_config.h"
28 #ifdef HAVE_SYS_TIME_H
38 #define ORTE_NOTIFIER_LOG_0 0
39 #define ORTE_NOTIFIER_LOG_1 1
40 #define ORTE_NOTIFIER_LOG_2 2
42 ORTE_DECLSPEC
bool notifier_log_event_enabled(
void);
44 ORTE_DECLSPEC
void notifier_trace_event(
int,
int, int32_t, time_t, time_t,
60 asprintf(&ev->ev_msg, msg);
61 if (NULL == ev->ev_msg) {
70 notifier_event_store(ev);
83 opal_atomic_add_32(&ev->ev_cnt, 1);
84 if (ev->ev_cnt <= cnt_thresh) {
90 if (ev->ev_already_traced) {
91 if (now > ev->ev_time_trc + time_thresh) {
92 delay = now - ev->ev_time_trc;
94 ev->ev_time_trc = now;
95 notifier_trace_event(ORTE_NOTIFIER_LOG_1, ev_id, count, now, delay,
99 ev->ev_already_traced = 1;
101 ev->ev_time_trc = now;
103 notifier_trace_event(ORTE_NOTIFIER_LOG_0, ev_id, count, now, now,
109 #define notifier_event_fn_prefix(i) notifier_log_event_ ## i
115 #define ORTE_NOTIFIER_DEFINE_EVENT(i, m) \
116 static inline void notifier_event_fn_prefix(i) (int c_thr, int t_thr) \
118 static orte_notifier_event_t *prefix_ ## i = NULL; \
119 if (!notifier_log_event_enabled()) { \
122 if (NULL == prefix_ ## i) { \
123 prefix_ ## i = notifier_alloc_event(i, m); \
124 if (NULL == prefix_ ## i) { \
128 notifier_count_and_log_event(prefix_ ## i, i, c_thr, t_thr); \
165 #define ORTE_NOTIFIER_LOG_EVENT(i, c, t) notifier_event_fn_prefix(i) (c, t)
#define OBJ_RELEASE(object)
Release an object (by decrementing its reference count).
Definition: opal_object.h:324
Definition: notifier_event_types.h:36
A simple C-language object-oriented system with single inheritance and ownership-based memory managem...