struct ctf_trace;
struct ctf_stream_declaration;
-struct ctf_stream_definition;
struct ctf_event_declaration;
-struct ctf_stream_definition;
struct ctf_clock;
struct ctf_stream_definition {
struct ctf_stream_declaration *stream_class;
- uint64_t timestamp; /* Current timestamp, in ns */
+ uint64_t real_timestamp; /* Current timestamp, in ns */
+ uint64_t cycles_timestamp; /* Current timestamp, in cycles */
uint64_t event_id; /* Current event ID */
int has_timestamp;
uint64_t stream_id;
- int consumed; /* Last packet used by caller */
struct definition_struct *trace_packet_header;
struct definition_struct *stream_packet_context;
struct ctf_clock *current_clock;
/* Event discarded information */
- uint32_t events_discarded;
- uint64_t prev_timestamp; /* Last event */
- uint64_t prev_timestamp_end; /* End-of-packet timestamp */
+ uint64_t events_discarded;
+ uint64_t prev_real_timestamp; /* Start-of-last-packet timestamp in ns */
+ uint64_t prev_real_timestamp_end; /* End-of-last-packet timestamp in ns */
+ uint64_t prev_cycles_timestamp; /* Start-of-last-packet timestamp in cycles */
+ uint64_t prev_cycles_timestamp_end; /* End-of-last-packet timestamp in cycles */
};
struct ctf_event_definition {
+ struct ctf_stream_definition *stream;
struct definition_struct *event_context;
struct definition_struct *event_fields;
};
GHashTable *clocks;
struct ctf_clock *single_clock; /* currently supports only one clock */
struct trace_collection *collection; /* Container of this trace */
+ GPtrArray *event_declarations; /* Array of all the struct bt_ctf_event_decl */
struct declaration_struct *packet_header_decl;