uint64_t start_freq;
uint64_t start_tsc;
uint64_t start_monotonic;
+ double drift;
+ double offset;
LttTime start_time;
LttTime start_time_from_tsc;
+ gboolean is_live; /* Flag indicating that read trace is currently being recorded */
+ LttTime live_safe_timestamp; /* In a live trace, timestamp were all data should be readable */
- GData *tracefiles; //tracefiles groups
+ GData *tracefiles; /*tracefiles groups*/
};
static inline guint ltt_trace_get_num_cpu(LttTrace *t)
LttTrace *ltt_trace_open(const gchar *pathname);
+/* Same as ltt_trace_open but open the trace in live mode */
+LttTrace *ltt_trace_open_live(const gchar *pathname);
+
+
/* copy reopens a trace
*
* return value NULL if error while opening the trace
{
return t->pathname;
}
-
+/* Update the informations concerning a trace, normally a live one */
+int ltt_trace_update(LttTrace *trace);
void ltt_trace_close(LttTrace *t);
int ltt_tracefile_seek_time(LttTracefile *t, LttTime time);
+
+int ltt_tracefile_get_current_position(const LttTracefile *tf, LttEventPosition *ep);
+
/* Seek to the first event with position equal or larger to ep */
int ltt_tracefile_seek_position(LttTracefile *t,
guint64 ltt_get_uint(gboolean reverse_byte_order, gint size, void *data);
+guint64 tsc_to_uint64(guint32 freq_scale, uint64_t start_freq, guint64 tsc);
+
LttTime ltt_interpolate_time_from_tsc(LttTracefile *tf, guint64 tsc);
/* Set to enable event debugging output */
void ltt_event_debug(int state);
+/* A structure representing the version number of the trace */
+struct LttTraceVersion {
+ guint8 ltt_major_version;
+ guint8 ltt_minor_version;
+};
+
+/* To get the version number of a trace */
+int ltt_get_trace_version(const gchar *pathname, struct LttTraceVersion * version_number);
+
#endif // TRACE_H