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, \
115#define tracepoint_reaction_ends(env, reaction, worker) \
116 call_tracepoint(reaction_ends, reaction->self, env->current_tag, worker, worker, reaction->number, NULL, NULL, \
136void tracepoint_user_event(
void* self,
char* description);
151void tracepoint_user_value(
void* self,
char* description,
long long value);
158#define tracepoint_worker_wait_starts(env, worker) \
159 call_tracepoint(worker_wait_starts, NULL, env->current_tag, worker, worker, -1, NULL, NULL, 0)
166#define tracepoint_worker_wait_ends(env, worker) \
167 call_tracepoint(worker_wait_ends, NULL, env->current_tag, worker, worker, -1, NULL, NULL, 0)
174#define tracepoint_scheduler_advancing_time_starts(env) \
175 call_tracepoint(scheduler_advancing_time_starts, NULL, env->current_tag, -1, -1, -1, NULL, NULL, 0);
182#define tracepoint_scheduler_advancing_time_ends(env) \
183 call_tracepoint(scheduler_advancing_time_ends, NULL, env->current_tag, -1, -1, -1, NULL, NULL, 0)
191#define tracepoint_reaction_deadline_missed(env, reaction, worker) \
192 call_tracepoint(reaction_deadline_missed, reaction->self, env->current_tag, worker, worker, reaction->number, NULL, \
199void lf_tracing_check_version();
204#if defined(FEDERATED) || defined(LF_ENCLAVES)
232void tracepoint_federate_to_federate(
trace_event_t event_type,
int fed_id,
int partner_id,
tag_t* tag);
242void tracepoint_federate_from_federate(
trace_event_t event_type,
int fed_id,
int partner_id,
tag_t* tag);
245static inline void tracepoint_federate_to_rti(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
250static inline void tracepoint_federate_from_rti(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
255static inline void tracepoint_federate_to_federate(
trace_event_t event_type,
int fed_id,
int partner_id,
tag_t* tag) {
261static inline void tracepoint_federate_from_federate(
trace_event_t event_type,
int fed_id,
int partner_id,
tag_t* tag) {
293static inline void tracepoint_rti_to_federate(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
298static inline void tracepoint_rti_from_federate(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
307static inline int register_user_trace_event(
void* self,
char* description) {
317static inline void tracepoint_user_event(
void* self,
char* description) {
321static inline void tracepoint_user_value(
void* self,
char* description,
long long value) {
326static inline void tracepoint_rti_to_federate(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
331static inline void tracepoint_rti_from_federate(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
336static inline void tracepoint_federate_to_rti(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
341static inline void tracepoint_federate_from_rti(
trace_event_t event_type,
int fed_id,
tag_t* tag) {
346static inline void tracepoint_federate_to_federate(
trace_event_t event_type,
int fed_id,
int partner_id,
tag_t* tag) {
352static inline void tracepoint_federate_from_federate(
trace_event_t event_type,
int fed_id,
int partner_id,
tag_t* tag) {
358static inline void lf_tracing_global_init(
char* process_name,
char* process_names,
int process_id,
359 int max_num_local_threads) {
363 (void)max_num_local_threads;
365static inline void lf_tracing_global_shutdown() {}
368#define tracepoint_reaction_starts(env, reaction, worker) \
374#define tracepoint_reaction_ends(env, reaction, worker) \
380#define tracepoint_worker_wait_starts(env, worker) \
385#define tracepoint_worker_wait_ends(env, worker) \
390#define tracepoint_scheduler_advancing_time_starts(env) \
394#define tracepoint_scheduler_advancing_time_ends(env) \
398#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:875
Execution environment. This struct contains information about the execution environment....
Definition environment.h:49
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:208
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