131static const char *trace_event_names[] = {
134 "Reaction deadline missed",
136 "User-defined event",
137 "User-defined valued event",
138 "Worker wait starts",
140 "Scheduler advancing time starts",
141 "Scheduler advancing time ends",
149 "Sending STOP_REQ_REP",
158 "Sending TAGGED_MSG",
159 "Sending P2P_TAGGED_MSG",
166 "Receiving TIMESTAMP",
169 "Receiving STOP_REQ",
170 "Receiving STOP_REQ_REP",
171 "Receiving STOP_GRN",
177 "Receiving PORT_ABS",
178 "Receiving CLOSE_RQ",
179 "Receiving TAGGED_MSG",
180 "Receiving P2P_TAGGED_MSG",
185 "Receiving UNIDENTIFIED",
189#define TRACE_BUFFER_CAPACITY 2048
192#define TRACE_OBJECT_TABLE_SIZE 1024
197typedef struct trace_record_t {
221typedef struct object_description_t object_description_t;
222struct object_description_t {
225 _lf_trace_object_t
type;
240 trace_record_t** _lf_trace_buffer;
241 int* _lf_trace_buffer_size;
244 int _lf_number_of_trace_buffers;
250 FILE* _lf_trace_file;
256 object_description_t _lf_trace_object_descriptions[TRACE_OBJECT_TABLE_SIZE];
257 int _lf_trace_object_descriptions_size;
260 bool _lf_trace_header_written;
344 bool is_interval_start
443#if defined(FEDERATED) || defined(LF_ENCLAVES)
484#define tracepoint_federate_to_rti(...);
485#define tracepoint_federate_from_rti(...);
486#define tracepoint_federate_to_federate(...);
487#define tracepoint_federate_from_federate(...);
514#define tracepoint_rti_to_federate(...);
515#define tracepoint_rti_from_federate(...) ;
522#define _lf_register_trace_event(...)
523#define register_user_trace_event(...)
524#define tracepoint(...)
525#define tracepoint_reaction_starts(...)
526#define tracepoint_reaction_ends(...)
527#define tracepoint_schedule(...)
528#define tracepoint_user_event(...)
529#define tracepoint_user_value(...)
530#define tracepoint_worker_wait_starts(...)
531#define tracepoint_worker_wait_ends(...)
532#define tracepoint_scheduler_advancing_time_starts(...);
533#define tracepoint_scheduler_advancing_time_ends(...);
534#define tracepoint_reaction_deadline_missed(...);
535#define tracepoint_federate_to_rti(...);
536#define tracepoint_federate_from_rti(...);
537#define tracepoint_federate_to_federate(...) ;
538#define tracepoint_federate_from_federate(...) ;
539#define tracepoint_rti_to_federate(...);
540#define tracepoint_rti_from_federate(...) ;
542#define start_trace(...)
543#define stop_trace(...)
544#define stop_trace_locked(...)
545#define trace_new(...) NULL
546#define trace_free(...)
type
Definition fedsd.py:99
logical_time
Definition fedsd.py:574
str physical_time
Definition fedsd.py:660
microstep
Definition fedsd.py:575
void * worker(void *arg)
Definition reactor_threaded.c:988
Execution environment. This struct contains information about the execution environment....
Definition environment.h:68
Definition lf_types.h:178
Definition lf_types.h:234
int64_t instant_t
Definition tag.h:58
uint32_t microstep_t
Definition tag.h:68
int64_t interval_t
Definition tag.h:63
#define tracepoint_worker_wait_starts(...)
Definition trace.h:530
#define tracepoint_federate_to_rti(...)
Definition trace.h:535
#define tracepoint_federate_to_federate(...)
Definition trace.h:537
#define trace_new(...)
Definition trace.h:545
#define start_trace(...)
Definition trace.h:542
#define tracepoint_scheduler_advancing_time_starts(...)
Definition trace.h:532
#define trace_free(...)
Definition trace.h:546
#define tracepoint_user_event(...)
Definition trace.h:528
#define tracepoint_federate_from_rti(...)
Definition trace.h:536
#define tracepoint_rti_from_federate(...)
Definition trace.h:540
#define tracepoint_reaction_starts(...)
Definition trace.h:525
#define tracepoint_reaction_ends(...)
Definition trace.h:526
#define _lf_register_trace_event(...)
Definition trace.h:522
#define register_user_trace_event(...)
Definition trace.h:523
#define stop_trace(...)
Definition trace.h:543
#define tracepoint_worker_wait_ends(...)
Definition trace.h:531
#define tracepoint_reaction_deadline_missed(...)
Definition trace.h:534
#define stop_trace_locked(...)
Definition trace.h:544
trace_event_t
Definition trace.h:68
@ scheduler_advancing_time_ends
Definition trace.h:78
@ send_STOP_REQ
Definition trace.h:85
@ receive_TAGGED_MSG
Definition trace.h:116
@ send_P2P_TAGGED_MSG
Definition trace.h:96
@ receive_STOP_REQ_REP
Definition trace.h:107
@ send_TAG
Definition trace.h:90
@ user_value
Definition trace.h:74
@ send_PORT_ABS
Definition trace.h:93
@ send_MSG
Definition trace.h:97
@ receive_RESIGN
Definition trace.h:113
@ receive_PTAG
Definition trace.h:110
@ send_ACK
Definition trace.h:81
@ receive_UNIDENTIFIED
Definition trace.h:122
@ send_ADR_QR
Definition trace.h:100
@ receive_MSG
Definition trace.h:118
@ send_STOP_GRN
Definition trace.h:87
@ send_TIMESTAMP
Definition trace.h:82
@ schedule_called
Definition trace.h:72
@ receive_REJECT
Definition trace.h:112
@ send_FED_ID
Definition trace.h:88
@ send_REJECT
Definition trace.h:91
@ receive_P2P_TAGGED_MSG
Definition trace.h:117
@ send_ADR_AD
Definition trace.h:99
@ reaction_ends
Definition trace.h:70
@ scheduler_advancing_time_starts
Definition trace.h:77
@ reaction_starts
Definition trace.h:69
@ send_LTC
Definition trace.h:84
@ send_TAGGED_MSG
Definition trace.h:95
@ send_STOP_REQ_REP
Definition trace.h:86
@ reaction_deadline_missed
Definition trace.h:71
@ receive_ACK
Definition trace.h:102
@ receive_ADR_AD
Definition trace.h:120
@ federated
Definition trace.h:79
@ worker_wait_starts
Definition trace.h:75
@ send_NET
Definition trace.h:83
@ receive_TAG
Definition trace.h:111
@ send_P2P_MSG
Definition trace.h:98
@ receive_CLOSE_RQ
Definition trace.h:115
@ send_RESIGN
Definition trace.h:92
@ receive_LTC
Definition trace.h:105
@ receive_NET
Definition trace.h:104
@ receive_STOP_REQ
Definition trace.h:106
@ NUM_EVENT_TYPES
Definition trace.h:123
@ receive_TIMESTAMP
Definition trace.h:103
@ receive_FED_ID
Definition trace.h:109
@ receive_P2P_MSG
Definition trace.h:119
@ receive_STOP_GRN
Definition trace.h:108
@ user_event
Definition trace.h:73
@ receive_ADR_QR
Definition trace.h:121
@ send_PTAG
Definition trace.h:89
@ receive_PORT_ABS
Definition trace.h:114
@ worker_wait_ends
Definition trace.h:76
@ send_CLOSE_RQ
Definition trace.h:94
struct trace_t trace_t
Definition trace.h:519
#define tracepoint_scheduler_advancing_time_ends(...)
Definition trace.h:533
#define tracepoint_rti_to_federate(...)
Definition trace.h:539
#define tracepoint_user_value(...)
Definition trace.h:529
#define tracepoint(...)
Definition trace.h:524
#define tracepoint_federate_from_federate(...)
Definition trace.h:538
#define tracepoint_schedule(...)
Definition trace.h:527
trace_record_t trace[TRACE_BUFFER_CAPACITY]
Definition trace_util.c:44