X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fltt%2Ftrace.h;h=e87032dfaf86406575e438f7918b4868fc5e4422;hb=a970363f31999693ffbc0d7d6cf8a15d03677d64;hp=ca3edd99441a9342c4c08f1093c5bacb111f10d7;hpb=6a77ed1b72a491b84416b328a277bc35f76bcffe;p=lttv.git diff --git a/ltt/branches/poly/ltt/trace.h b/ltt/branches/poly/ltt/trace.h index ca3edd99..e87032df 100644 --- a/ltt/branches/poly/ltt/trace.h +++ b/ltt/branches/poly/ltt/trace.h @@ -21,6 +21,7 @@ #define TRACE_H #include +#include #include #include @@ -42,14 +43,18 @@ struct LttTrace { uint64_t start_monotonic; LttTime start_time; LttTime start_time_from_tsc; - uint8_t compact_event_bits; 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 }; +static inline guint ltt_trace_get_num_cpu(LttTrace *t) +{ + return t->num_cpu; +} extern GQuark LTT_FACILITY_NAME_HEARTBEAT, @@ -75,34 +80,17 @@ LttTrace *ltt_trace_open(const gchar *pathname); */ LttTrace *ltt_trace_copy(LttTrace *self); -GQuark ltt_trace_name(const LttTrace *t); +static inline GQuark ltt_trace_name(const LttTrace *t) +{ + return t->pathname; +} -void ltt_trace_close(LttTrace *t); -guint ltt_trace_get_num_cpu(LttTrace *t); +void ltt_trace_close(LttTrace *t); LttSystemDescription *ltt_trace_system_description(LttTrace *t); -/* Functions to discover the facilities in the trace. Once the number - of facilities is known, they may be accessed by position. Multiple - versions of a facility (same name, different checksum) have consecutive - positions. */ - -//unsigned ltt_trace_facility_number(LttTrace *t); - -//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); - -/* Functions to discover all the event types in the trace */ - -//unsigned ltt_trace_eventtype_number(LttTrace *t); - -//LttEventType *ltt_trace_eventtype_get(LttTrace *t, unsigned i); - - /* Get the start time and end time of the trace */ void ltt_trace_time_span_get(LttTrace *t, LttTime *start, LttTime *end); @@ -110,24 +98,50 @@ void ltt_trace_time_span_get(LttTrace *t, LttTime *start, LttTime *end); /* Get the name of a tracefile */ -GQuark ltt_tracefile_name(const LttTracefile *tf); -GQuark ltt_tracefile_long_name(const LttTracefile *tf); +static inline GQuark ltt_tracefile_name(const LttTracefile *tf) +{ + return tf->name; +} + +static inline GQuark ltt_tracefile_long_name(const LttTracefile *tf) +{ + return tf->long_name; +} /* get the cpu number of the tracefile */ -guint ltt_tracefile_cpu(LttTracefile *tf); +static inline guint ltt_tracefile_cpu(LttTracefile *tf) +{ + return tf->cpu_num; +} /* For usertrace */ -guint ltt_tracefile_tid(LttTracefile *tf); -guint ltt_tracefile_pgid(LttTracefile *tf); -guint64 ltt_tracefile_creation(LttTracefile *tf); - - -LttTrace *ltt_tracefile_get_trace(LttTracefile *tf); +static inline guint ltt_tracefile_tid(LttTracefile *tf) +{ + return tf->tid; +} + +static inline guint ltt_tracefile_pgid(LttTracefile *tf) +{ + return tf->pgid; +} + +static inline guint64 ltt_tracefile_creation(LttTracefile *tf) +{ + return tf->creation; +} + +static inline LttTrace *ltt_tracefile_get_trace(LttTracefile *tf) +{ + return tf->trace; +} /* Get the number of blocks in the tracefile */ -unsigned ltt_tracefile_block_number(LttTracefile *tf); +static inline guint ltt_tracefile_block_number(LttTracefile *tf) +{ + return tf->num_blocks; +} /* Seek to the first event of the trace with time larger or equal to time */ @@ -151,10 +165,6 @@ int ltt_tracefile_read_op(LttTracefile *t); /* Get the current event of the tracefile : valid until the next read */ LttEvent *ltt_tracefile_get_event(LttTracefile *tf); -/* open tracefile */ - -gint ltt_tracefile_open(LttTrace *t, gchar * fileName, LttTracefile *tf); - /* get the data type size and endian type of the local machine */ void getDataEndianType(LttArchSize * size, LttArchEndian * endian); @@ -185,11 +195,6 @@ LttTime ltt_trace_start_time(LttTrace *t); LttTime ltt_trace_start_time_monotonic(LttTrace *t); -/* copy tracefile info over another. Used for sync. */ -LttTracefile *ltt_tracefile_new(); -void ltt_tracefile_destroy(LttTracefile *tf); -void ltt_tracefile_copy(LttTracefile *dest, const LttTracefile *src); - void get_absolute_pathname(const gchar *pathname, gchar * abs_pathname); /* May return a NULL tracefile group */ @@ -202,17 +207,10 @@ struct compute_tracefile_group_args { gpointer func_args; }; - 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); - - -//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); @@ -220,4 +218,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