(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 */
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),
/* 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) \
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;
};