X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fltt%2Ftrace.h;h=f6f20ab667f51e763ecb0784cd1c232cf28ecc3e;hb=cc544c4d0506c9149185cedccc7a857034b5ac29;hp=0b63c9378aa6193eb966c44a1db97beb8818bf38;hpb=ae3d0f50f89e7b965795a9b9ad7e1f533f760598;p=lttv.git diff --git a/ltt/branches/poly/ltt/trace.h b/ltt/branches/poly/ltt/trace.h index 0b63c937..f6f20ab6 100644 --- a/ltt/branches/poly/ltt/trace.h +++ b/ltt/branches/poly/ltt/trace.h @@ -21,9 +21,40 @@ #define TRACE_H #include +#include +#include + +struct LttTrace { + GQuark pathname; //the pathname of the trace + //LttSystemDescription * system_description;//system description + + guint num_cpu; + + guint32 arch_type; + guint32 arch_variant; + guint8 arch_size; + guint8 ltt_major_version; + guint8 ltt_minor_version; + guint8 flight_recorder; + guint32 freq_scale; + uint64_t start_freq; + uint64_t start_tsc; + uint64_t start_monotonic; + LttTime start_time; + LttTime start_time_from_tsc; + + GData *tracefiles; //tracefiles groups + /* Support for markers */ + GArray *markers; //indexed by marker ID + GHashTable *markers_hash; //indexed by name hash + GHashTable *markers_format_hash; //indexed by name hash +}; + + extern GQuark LTT_FACILITY_NAME_HEARTBEAT, - LTT_EVENT_NAME_HEARTBEAT; + LTT_EVENT_NAME_HEARTBEAT, + LTT_EVENT_NAME_HEARTBEAT_FULL; /* A trace is specified as a pathname to the directory containing all the associated data (control tracefiles, per cpu tracefiles, event @@ -58,20 +89,18 @@ LttSystemDescription *ltt_trace_system_description(LttTrace *t); versions of a facility (same name, different checksum) have consecutive positions. */ -unsigned ltt_trace_facility_number(LttTrace *t); +//unsigned ltt_trace_facility_number(LttTrace *t); -LttFacility *ltt_trace_facility_get(LttTrace *t, unsigned i); - -LttFacility * ltt_trace_facility_by_id(LttTrace * trace, guint8 id); +//LttFacility * ltt_trace_facility_by_id(LttTrace * trace, guint8 id); /* Returns an array of indexes (guint) that matches the facility name */ -GArray *ltt_trace_facility_get_by_name(LttTrace *t, GQuark name); +//GArray *ltt_trace_facility_get_by_name(LttTrace *t, GQuark name); /* Functions to discover all the event types in the trace */ -unsigned ltt_trace_eventtype_number(LttTrace *t); +//unsigned ltt_trace_eventtype_number(LttTrace *t); -LttEventType *ltt_trace_eventtype_get(LttTrace *t, unsigned i); +//LttEventType *ltt_trace_eventtype_get(LttTrace *t, unsigned i); /* Get the start time and end time of the trace */ @@ -178,12 +207,12 @@ void compute_tracefile_group(GQuark key_id, GArray *group, struct compute_tracefile_group_args *args); -LttFacility *ltt_trace_get_facility_by_num(LttTrace *t, guint num); +//LttFacility *ltt_trace_get_facility_by_num(LttTrace *t, guint num); -gint check_fields_compatibility(LttEventType *event_type1, - LttEventType *event_type2, - LttField *field1, LttField *field2); +//gint check_fields_compatibility(LttEventType *event_type1, +// LttEventType *event_type2, +// LttField *field1, LttField *field2); gint64 ltt_get_int(gboolean reverse_byte_order, gint size, void *data); @@ -191,4 +220,7 @@ guint64 ltt_get_uint(gboolean reverse_byte_order, gint size, void *data); LttTime ltt_interpolate_time_from_tsc(LttTracefile *tf, guint64 tsc); +/* Set to enable event debugging output */ +void ltt_event_debug(int state); + #endif // TRACE_H