49typedef struct trace_record_t {
76void call_tracepoint(
int event_type,
void* reactor,
tag_t tag,
int worker,
int src_id,
int dst_id,
88int _lf_register_trace_event(
void* pointer1,
void* pointer2,
_lf_trace_object_t type,
char* description);
97int register_user_trace_event(
void* self,
char* description);
105#define tracepoint_reaction_starts(env, reaction, worker) \
106 call_tracepoint(reaction_starts, reaction->self, env->current_tag, worker, worker, reaction->number, NULL, NULL, 0)
114#define tracepoint_reaction_ends(env, reaction, worker) \
115 call_tracepoint(reaction_ends, reaction->self, env->current_tag, worker, worker, reaction->number, NULL, NULL, 0)
134void tracepoint_user_event(
void* self,
char* description);
149void tracepoint_user_value(
void* self,
char* description,
long long value);
156#define tracepoint_worker_wait_starts(env, worker) \
157 call_tracepoint(worker_wait_starts, NULL, env->current_tag, worker, worker, -1, NULL, NULL, 0)
164#define tracepoint_worker_wait_ends(env, worker) \
165 call_tracepoint(worker_wait_ends, NULL, env->current_tag, worker, worker, -1, NULL, NULL, 0)
172#define tracepoint_scheduler_advancing_time_starts(env) \
173 call_tracepoint(scheduler_advancing_time_starts, NULL, env->current_tag, -1, -1, -1, NULL, NULL, 0);
180#define tracepoint_scheduler_advancing_time_ends(env) \
181 call_tracepoint(scheduler_advancing_time_ends, NULL, env->current_tag, -1, -1, -1, NULL, NULL, 0)
189#define tracepoint_reaction_deadline_missed(env, reaction, worker) \
190 call_tracepoint(reaction_deadline_missed, reaction->self, env->current_tag, worker, worker, reaction->number, NULL, \
197void lf_tracing_check_version();
202#if defined(FEDERATED) || defined(LF_ENCLAVES)
230void tracepoint_federate_to_federate(
trace_event_t event_type,
int fed_id,
int partner_id,
tag_t* tag);
240void tracepoint_federate_from_federate(
trace_event_t event_type,
int fed_id,
int partner_id,
tag_t* tag);
243static inline void tracepoint_federate_to_rti(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
248static inline void tracepoint_federate_from_rti(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
253static inline void tracepoint_federate_to_federate(
trace_event_t event_type,
int fed_id,
int partner_id,
tag_t* tag) {
259static inline void tracepoint_federate_from_federate(
trace_event_t event_type,
int fed_id,
int partner_id,
tag_t* tag) {
291static inline void tracepoint_rti_to_federate(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
296static inline void tracepoint_rti_from_federate(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
305static inline int register_user_trace_event(
void* self,
char* description) {
315static inline void tracepoint_user_event(
void* self,
char* description) {
319static inline void tracepoint_user_value(
void* self,
char* description,
long long value) {
324static inline void tracepoint_rti_to_federate(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
329static inline void tracepoint_rti_from_federate(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
334static inline void tracepoint_federate_to_rti(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
339static inline void tracepoint_federate_from_rti(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
344static inline void tracepoint_federate_to_federate(
trace_event_t event_type,
int fed_id,
int partner_id,
tag_t* tag) {
350static inline void tracepoint_federate_from_federate(
trace_event_t event_type,
int fed_id,
int partner_id,
tag_t* tag) {
356static inline void lf_tracing_global_init(
char* process_name,
char* process_names,
int process_id,
357 int max_num_local_threads) {
361 (void)max_num_local_threads;
363static inline void lf_tracing_global_shutdown() {}
366#define tracepoint_reaction_starts(env, reaction, worker) \
372#define tracepoint_reaction_ends(env, reaction, worker) \
378#define tracepoint_worker_wait_starts(env, worker) \
383#define tracepoint_worker_wait_ends(env, worker) \
388#define tracepoint_scheduler_advancing_time_starts(env) \
392#define tracepoint_scheduler_advancing_time_ends(env) \
396#define tracepoint_reaction_deadline_missed(env, reaction, worker) \
Type definitions that are widely used across different parts of the runtime.
instant_t start_time
Definition tag.c:33
void * worker(void *arg)
Definition reactor_threaded.c:911
Execution environment. This struct contains information about the execution environment....
Definition environment.h:69
This struct holds all the state associated with tracing in a single environment. Each environment whi...
Definition trace_impl.h:19
Definition lf_types.h:210
int64_t instant_t
Definition tag.h:66
uint32_t microstep_t
Definition tag.h:76
int64_t interval_t
Definition tag.h:71
_lf_trace_object_t
Definition trace.h:22
trace_event_t
Definition trace_types.h:18