57 #include <sys/syscall.h>
68 #define CUR_TID syscall(SYS_gettid)
74 #define CUR_TID pthread_self()
163 #define LITL_OFFSET_CODE 13
169 #define LITL_MAX_PARAMS 10
174 #define LITL_MAX_DATA (LITL_MAX_PARAMS * sizeof(litl_param_t))
454 #define __litl_offset_of(TYPE, MEMBER) ((size_t) &((TYPE*)0)->MEMBER)
460 #define LITL_BASE_SIZE __litl_offset_of(litl_t, parameters)
uint64_t litl_param_t
A data type for the non-optimized storage of parameters.
#define LITL_MAX_DATA
Defines the "maximum" size of raw data.
litl_type_t
The enumeration of event types.
uint8_t litl_data_t
A data type for the optimized storage of parameters.
uint32_t litl_size_t
An auxiliary data type for storing data.
uint8_t * litl_buffer_t
A data type for storing sets of events.
#define LITL_MAX_PARAMS
Defines the maximum number of parameters.
uint16_t litl_med_size_t
An auxiliary data type for the optimized storage of data.
uint64_t litl_trace_size_t
A data type for storing traces sizes.
uint64_t litl_tid_t
A data type for storing thread IDs.
uint32_t litl_code_t
A data type for storing events codes.
uint64_t litl_time_t
A data type for storing time stamps.
uint64_t litl_offset_t
A data type for storing offsets.
A data structure for reading one event.
A data structure for reading process-specific events.
litl_med_size_t nb_threads
litl_read_thread_t ** threads
litl_buffer_t header_buffer_ptr
litl_buffer_t header_buffer
litl_process_header_t * header
A data structure for reading thread-specific events.
litl_thread_pair_t * thread_pair
litl_read_event_t cur_event
A data structure for reading events from both regular trace files and archives of traces.
litl_general_header_t * header
litl_buffer_t header_buffer
litl_read_process_t ** processes
litl_buffer_t header_buffer_ptr
litl_med_size_t nb_processes
A general structure of LiTL event type.
A data structure for pairs (tid, offset) stored in the trace header.
A data structure for merging trace files into an archive of traces.
litl_med_size_t nb_traces
litl_offset_t general_offset
A data structure for splitting an archive of traces.
litl_buffer_t header_buffer
litl_med_size_t nb_processes
litl_general_header_t * trace_header
litl_buffer_t header_buffer_ptr
litl_process_header_t * process_header
A data structure for triples (nb_processes, position, offset)
litl_med_size_t nb_processes
litl_data_t already_flushed
A data structure for recording events.
litl_data_t allow_thread_safety
pthread_mutex_t lock_litl_flush
litl_offset_t general_offset
litl_data_t allow_buffer_flush
litl_write_buffer_t ** buffers
litl_data_t is_litl_initialized
litl_param_t threads_offset
litl_data_t is_header_flushed
volatile litl_data_t is_recording_paused
litl_data_t allow_tid_recording
litl_data_t is_buffer_full
litl_size_t nb_allocated_buffers
litl_size_t header_offset
pthread_mutex_t lock_buffer_init
pthread_once_t index_once
litl_med_size_t nb_threads
litl_med_size_t header_nb_threads