clock: use freq field
[babeltrace.git] / include / babeltrace / ctf-ir / metadata.h
index 2cae4630eee22e14da47314798c3c09222f4c6a2..79af77a768c0dda06e02023ba25850a8bde41dac 100644 (file)
@@ -32,6 +32,8 @@ struct ctf_trace;
 struct ctf_stream_class;
 struct ctf_stream;
 struct ctf_event;
+struct ctf_stream;
+struct ctf_clock;
 
 struct ctf_stream {
        struct ctf_stream_class *stream_class;
@@ -47,6 +49,13 @@ struct ctf_stream {
        GPtrArray *events_by_id;                /* Array of struct ctf_stream_event pointers indexed by id */
        struct definition_scope *parent_def_scope;      /* for initialization */
        int stream_definitions_created;
+
+       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 */
 };
 
 struct ctf_stream_event {
@@ -82,6 +91,7 @@ struct ctf_clock {
        uint64_t offset_s;
        /* Fine clock offset from Epoch, in (1/freq) units. */
        uint64_t offset;
+       int absolute;
 
        enum {                                  /* Fields populated mask */
                CTF_CLOCK_name          =       (1U << 0),
@@ -102,6 +112,20 @@ struct ctf_clock {
                (ctf_trace)->(field);                                   \
        })
 
+#define TRACER_ENV_LEN 128
+
+/* tracer-specific environment */
+struct ctf_tracer_env {
+       int vpid;               /* negative if unset */
+
+       /* All strings below: "" if unset. */
+       char procname[TRACER_ENV_LEN];
+       char domain[TRACER_ENV_LEN];
+       char sysname[TRACER_ENV_LEN];
+       char release[TRACER_ENV_LEN];
+       char version[TRACER_ENV_LEN];
+};
+
 struct ctf_trace {
        struct trace_descriptor parent;
        /* root scope */
@@ -113,6 +137,8 @@ struct ctf_trace {
        GPtrArray *streams;                     /* Array of struct ctf_stream_class pointers */
        struct ctf_stream *metadata;
        GHashTable *clocks;
+       struct ctf_clock *single_clock;         /* currently supports only one clock */
+       struct trace_collection *collection;    /* Container of this trace */
 
        struct declaration_struct *packet_header_decl;
 
@@ -120,6 +146,7 @@ struct ctf_trace {
        uint64_t minor;
        uuid_t uuid;
        int byte_order;         /* trace BYTE_ORDER. 0 if unset. */
+       struct ctf_tracer_env env;
 
        enum {                                  /* Fields populated mask */
                CTF_TRACE_major         =       (1U << 0),
@@ -136,11 +163,7 @@ struct ctf_trace {
 
        /* Heap of streams, ordered to always get the lowest timestam */
        struct ptr_heap *stream_heap;
-       char collection_path[PATH_MAX];
        char path[PATH_MAX];
-       char domain[PATH_MAX];
-       char procname[PATH_MAX];
-       char vpid[PATH_MAX];
 };
 
 #define CTF_STREAM_SET_FIELD(ctf_stream, field)                                \
@@ -205,15 +228,13 @@ struct ctf_event {
        GQuark name;
        uint64_t id;            /* Numeric identifier within the stream */
        uint64_t stream_id;
-       GQuark loglevel_identifier;
-       int64_t loglevel_value;
+       int loglevel;
 
        enum {                                  /* Fields populated mask */
                CTF_EVENT_name  =               (1 << 0),
                CTF_EVENT_id    =               (1 << 1),
                CTF_EVENT_stream_id =           (1 << 2),
-               CTF_EVENT_loglevel_identifier = (1 << 3),
-               CTF_EVENT_loglevel_value =      (1 << 4),
+               CTF_EVENT_loglevel =            (1 << 4),
        } field_mask;
 };
 
This page took 0.02407 seconds and 4 git commands to generate.