#include <babeltrace/graph/connection-internal.h>
#include <babeltrace/graph/graph-internal.h>
#include <babeltrace/graph/message-event-internal.h>
-#include <babeltrace/graph/message-inactivity-internal.h>
+#include <babeltrace/graph/message-message-iterator-inactivity-internal.h>
#include <babeltrace/graph/message-internal.h>
#include <babeltrace/graph/message-iterator-internal.h>
#include <babeltrace/graph/message-packet-internal.h>
#include <babeltrace/graph/message-stream-internal.h>
+#include <babeltrace/graph/message-stream-activity-internal.h>
+#include <babeltrace/graph/message-discarded-items-internal.h>
#include <babeltrace/graph/port-internal.h>
#include <babeltrace/plugin/plugin-internal.h>
#include <babeltrace/plugin/plugin-so-internal.h>
#define LIB_LOGGING_BUF_SIZE (4096 * 4)
-static char __thread lib_logging_buf[LIB_LOGGING_BUF_SIZE];
+static __thread char lib_logging_buf[LIB_LOGGING_BUF_SIZE];
#define BUF_APPEND(_fmt, ...) \
do { \
{
uint64_t i;
- if (field_path->indexes) {
- BT_ASSERT(field_path->indexes);
- BUF_APPEND(", %sindex-count=%u",
- PRFIELD(field_path->indexes->len));
+ if (field_path->items) {
+ BT_ASSERT(field_path->items);
+ BUF_APPEND(", %sitem-count=%u",
+ PRFIELD(field_path->items->len));
}
- if (!extended || !field_path->indexes) {
+ if (!extended || !field_path->items) {
return;
}
BUF_APPEND(", %spath=[%s",
PRFIELD(bt_common_scope_string(field_path->root)));
- for (i = 0; i < field_path->indexes->len; i++) {
- uint64_t index = bt_field_path_get_index_by_index_inline(
- field_path, i);
-
- BUF_APPEND(", %" PRIu64, index);
+ for (i = 0; i < bt_field_path_get_item_count(field_path); i++) {
+ const struct bt_field_path_item *fp_item =
+ bt_field_path_borrow_item_by_index_const(field_path, i);
+
+ switch (bt_field_path_item_get_type(fp_item)) {
+ case BT_FIELD_PATH_ITEM_TYPE_INDEX:
+ BUF_APPEND(", %" PRIu64,
+ bt_field_path_item_index_get_index(fp_item));
+ break;
+ case BT_FIELD_PATH_ITEM_TYPE_CURRENT_ARRAY_ELEMENT:
+ BUF_APPEND("%s", ", <CUR>");
+ break;
+ default:
+ abort();
+ }
}
BUF_APPEND("%s", "]");
static inline void format_trace_class(char **buf_ch, bool extended,
const char *prefix, const struct bt_trace_class *trace_class)
{
- char tmp_prefix[64];
-
if (trace_class->name.value) {
BUF_APPEND(", %sname=\"%s\"",
PRFIELD(trace_class->name.value));
PRFIELD(trace_class->stream_classes->len));
}
- BUF_APPEND(", %spacket-header-fc-addr=%p, "
- "%sassigns-auto-sc-id=%d",
- PRFIELD(trace_class->packet_header_fc),
+ BUF_APPEND(", %sassigns-auto-sc-id=%d",
PRFIELD(trace_class->assigns_automatic_stream_class_id));
- SET_TMP_PREFIX("phf-pool-");
- format_object_pool(buf_ch, extended, prefix,
- &trace_class->packet_header_field_pool);
}
static inline void format_trace(char **buf_ch, bool extended,
PRFIELD(trace->streams->len));
}
- BUF_APPEND(", %sis-static=%d", PRFIELD(trace->is_static));
-
if (!trace->class) {
return;
}
}
BUF_APPEND(", %spacket-context-fc-addr=%p, "
- "%sevent-header-fc-addr=%p, %sevent-common-context-fc-addr=%p",
+ "%sevent-common-context-fc-addr=%p",
PRFIELD(stream_class->packet_context_fc),
- PRFIELD(stream_class->event_header_fc),
PRFIELD(stream_class->event_common_context_fc));
trace_class = bt_stream_class_borrow_trace_class_inline(stream_class);
if (!trace_class) {
return;
}
- BUF_APPEND(", %sassigns-auto-ec-id=%d, %sassigns-auto-stream-id=%d, "
- "%spackets-have-discarded-ev-counter-snapshot=%d, "
- "%spackets-have-packet-counter-snapshot=%d, "
- "%spackets-have-default-begin-cs=%d, "
- "%spackets-have-default-end-cs=%d",
+ BUF_APPEND(", %sassigns-auto-ec-id=%d, %sassigns-auto-stream-id=%d",
PRFIELD(stream_class->assigns_automatic_event_class_id),
- PRFIELD(stream_class->assigns_automatic_stream_id),
- PRFIELD(stream_class->packets_have_discarded_event_counter_snapshot),
- PRFIELD(stream_class->packets_have_packet_counter_snapshot),
- PRFIELD(stream_class->packets_have_default_beginning_cs),
- PRFIELD(stream_class->packets_have_default_end_cs));
+ PRFIELD(stream_class->assigns_automatic_stream_id));
BUF_APPEND(", %strace-class-addr=%p", PRFIELD(trace_class));
SET_TMP_PREFIX("trace-class-");
format_trace_class(buf_ch, false, tmp_prefix, trace_class);
- SET_TMP_PREFIX("ehf-pool-");
- format_object_pool(buf_ch, extended, prefix,
- &stream_class->event_header_field_pool);
SET_TMP_PREFIX("pcf-pool-");
- format_object_pool(buf_ch, extended, prefix,
+ format_object_pool(buf_ch, extended, tmp_prefix,
&stream_class->packet_context_field_pool);
}
SET_TMP_PREFIX("trace-class-");
format_trace_class(buf_ch, false, tmp_prefix, trace_class);
SET_TMP_PREFIX("event-pool-");
- format_object_pool(buf_ch, extended, prefix, &event_class->event_pool);
+ format_object_pool(buf_ch, extended, tmp_prefix,
+ &event_class->event_pool);
}
static inline void format_stream(char **buf_ch, bool extended,
}
SET_TMP_PREFIX("packet-pool-");
- format_object_pool(buf_ch, extended, prefix, &stream->packet_pool);
+ format_object_pool(buf_ch, extended, tmp_prefix, &stream->packet_pool);
}
static inline void format_packet(char **buf_ch, bool extended,
return;
}
- BUF_APPEND(", %sis-frozen=%d, %sheader-field-addr=%p, "
- "%scontext-field-addr=%p",
+ BUF_APPEND(", %sis-frozen=%d, %scontext-field-addr=%p",
PRFIELD(packet->frozen),
- PRFIELD(packet->header_field ? packet->header_field->field : NULL),
PRFIELD(packet->context_field ? packet->context_field->field : NULL));
stream = bt_packet_borrow_stream_const(packet);
if (!stream) {
return;
}
- if (packet->default_beginning_cs) {
- SET_TMP_PREFIX("default-begin-cs-");
- format_clock_snapshot(buf_ch, true, tmp_prefix,
- packet->default_beginning_cs);
- }
-
- if (packet->default_end_cs) {
- SET_TMP_PREFIX("default-end-cs-");
- format_clock_snapshot(buf_ch, true, tmp_prefix,
- packet->default_end_cs);
- }
-
- if (packet->discarded_event_counter_snapshot.base.avail) {
- BUF_APPEND(", %sdiscarded-ev-counter-snapshot=%" PRIu64,
- PRFIELD(packet->discarded_event_counter_snapshot.value));
- }
-
- if (packet->packet_counter_snapshot.base.avail) {
- BUF_APPEND(", %spacket-counter-snapshot=%" PRIu64,
- PRFIELD(packet->packet_counter_snapshot.value));
- }
-
BUF_APPEND(", %sstream-addr=%p", PRFIELD(stream));
SET_TMP_PREFIX("stream-");
format_stream(buf_ch, false, tmp_prefix, stream);
return;
}
- BUF_APPEND(", %sis-frozen=%d, %sheader-field-addr=%p, "
+ BUF_APPEND(", %sis-frozen=%d, "
"%scommon-context-field-addr=%p, "
"%sspecific-context-field-addr=%p, "
"%spayload-field-addr=%p, ",
PRFIELD(event->frozen),
- PRFIELD(event->header_field ?
- event->header_field->field : NULL),
PRFIELD(event->common_context_field),
PRFIELD(event->specific_context_field),
PRFIELD(event->payload_field));
}
}
- if (event->default_cs) {
- SET_TMP_PREFIX("default-cs-");
- format_clock_snapshot(buf_ch, true, tmp_prefix,
- event->default_cs);
- }
-
packet = bt_event_borrow_packet_const(event);
if (!packet) {
return;
BUF_APPEND(", %sis-frozen=%d, %sprecision=%" PRIu64 ", "
"%soffset-s=%" PRId64 ", "
- "%soffset-cycles=%" PRIu64 ", %sis-absolute=%d, "
+ "%soffset-cycles=%" PRIu64 ", %sorigin-is-unix-epoch=%d, "
"%sbase-offset-ns=%" PRId64,
PRFIELD(clock_class->frozen), PRFIELD(clock_class->precision),
PRFIELD(clock_class->offset_seconds),
PRFIELD(clock_class->offset_cycles),
- PRFIELD(clock_class->is_absolute),
+ PRFIELD(clock_class->origin_is_unix_epoch),
PRFIELD(clock_class->base_offset.value_ns));
SET_TMP_PREFIX("cs-pool-");
- format_object_pool(buf_ch, extended, prefix, &clock_class->cs_pool);
+ format_object_pool(buf_ch, extended, tmp_prefix,
+ &clock_class->cs_pool);
}
static inline void format_clock_snapshot(char **buf_ch, bool extended,
BUF_APPEND(", %svalue=%d", PRFIELD(val));
break;
}
- case BT_VALUE_TYPE_INTEGER:
+ case BT_VALUE_TYPE_UNSIGNED_INTEGER:
{
- int64_t val = bt_value_integer_get(value);
-
- BUF_APPEND(", %svalue=%" PRId64, PRFIELD(val));
+ BUF_APPEND(", %svalue=%" PRIu64,
+ PRFIELD(bt_value_unsigned_integer_get(value)));
+ break;
+ }
+ case BT_VALUE_TYPE_SIGNED_INTEGER:
+ {
+ BUF_APPEND(", %svalue=%" PRId64,
+ PRFIELD(bt_value_signed_integer_get(value)));
break;
}
case BT_VALUE_TYPE_REAL:
if (msg_event->event) {
SET_TMP_PREFIX("event-");
- format_event(buf_ch, true, tmp_prefix, msg_event->event);
+ format_event(buf_ch, true, tmp_prefix,
+ msg_event->event);
+ }
+
+ if (msg_event->default_cs) {
+ SET_TMP_PREFIX("default-cs-");
+ format_clock_snapshot(buf_ch, true, tmp_prefix,
+ msg_event->default_cs);
}
break;
}
case BT_MESSAGE_TYPE_STREAM_BEGINNING:
+ case BT_MESSAGE_TYPE_STREAM_END:
{
- const struct bt_message_stream_beginning *msg_stream =
- (const void *) msg;
+ const struct bt_message_stream *msg_stream = (const void *) msg;
if (msg_stream->stream) {
SET_TMP_PREFIX("stream-");
- format_stream(buf_ch, true, tmp_prefix, msg_stream->stream);
+ format_stream(buf_ch, true, tmp_prefix,
+ msg_stream->stream);
}
break;
}
- case BT_MESSAGE_TYPE_STREAM_END:
+ case BT_MESSAGE_TYPE_STREAM_ACTIVITY_BEGINNING:
+ case BT_MESSAGE_TYPE_STREAM_ACTIVITY_END:
{
- const struct bt_message_stream_end *msg_stream =
+ const struct bt_message_stream_activity *msg_stream_activity =
(const void *) msg;
- if (msg_stream->stream) {
+ if (msg_stream_activity->stream) {
SET_TMP_PREFIX("stream-");
- format_stream(buf_ch, true, tmp_prefix, msg_stream->stream);
+ format_stream(buf_ch, true, tmp_prefix,
+ msg_stream_activity->stream);
+ }
+
+ BUF_APPEND(", %sdefault-cs-state=%s",
+ PRFIELD(bt_message_stream_activity_clock_snapshot_state_string(
+ msg_stream_activity->default_cs_state)));
+
+ if (msg_stream_activity->default_cs) {
+ SET_TMP_PREFIX("default-cs-");
+ format_clock_snapshot(buf_ch, true, tmp_prefix,
+ msg_stream_activity->default_cs);
}
break;
}
case BT_MESSAGE_TYPE_PACKET_BEGINNING:
+ case BT_MESSAGE_TYPE_PACKET_END:
{
- const struct bt_message_packet_beginning *msg_packet =
- (const void *) msg;
+ const struct bt_message_packet *msg_packet = (const void *) msg;
if (msg_packet->packet) {
SET_TMP_PREFIX("packet-");
- format_packet(buf_ch, true, tmp_prefix, msg_packet->packet);
+ format_packet(buf_ch, true, tmp_prefix,
+ msg_packet->packet);
+ }
+
+ if (msg_packet->default_cs) {
+ SET_TMP_PREFIX("default-cs-");
+ format_clock_snapshot(buf_ch, true, tmp_prefix,
+ msg_packet->default_cs);
}
break;
}
- case BT_MESSAGE_TYPE_PACKET_END:
+ case BT_MESSAGE_TYPE_DISCARDED_EVENTS:
+ case BT_MESSAGE_TYPE_DISCARDED_PACKETS:
{
- const struct bt_message_packet_end *msg_packet =
+ const struct bt_message_discarded_items *msg_disc_items =
(const void *) msg;
- if (msg_packet->packet) {
- SET_TMP_PREFIX("packet-");
- format_packet(buf_ch, true, tmp_prefix, msg_packet->packet);
+ if (msg_disc_items->stream) {
+ SET_TMP_PREFIX("stream-");
+ format_stream(buf_ch, true, tmp_prefix,
+ msg_disc_items->stream);
+ }
+
+ if (msg_disc_items->default_begin_cs) {
+ SET_TMP_PREFIX("default-begin-cs-");
+ format_clock_snapshot(buf_ch, true, tmp_prefix,
+ msg_disc_items->default_begin_cs);
+ }
+
+ if (msg_disc_items->default_end_cs) {
+ SET_TMP_PREFIX("default-end-cs-");
+ format_clock_snapshot(buf_ch, true, tmp_prefix,
+ msg_disc_items->default_end_cs);
+ }
+
+ if (msg_disc_items->count.base.avail) {
+ BUF_APPEND(", %scount=%" PRIu64,
+ PRFIELD(msg_disc_items->count.value));
}
break;
{
char tmp_prefix[64];
- BUF_APPEND(", %sis-canceled=%d", PRFIELD(graph->canceled));
+ BUF_APPEND(", %sis-canceled=%d, %scan-consume=%d, "
+ "%sconfig-state=%s",
+ PRFIELD(graph->canceled),
+ PRFIELD(graph->can_consume),
+ PRFIELD(bt_graph_configuration_state_string(graph->config_state)));
if (!extended) {
return;
}
SET_TMP_PREFIX("en-pool-");
- format_object_pool(buf_ch, extended, prefix,
+ format_object_pool(buf_ch, extended, tmp_prefix,
&graph->event_msg_pool);
SET_TMP_PREFIX("pbn-pool-");
- format_object_pool(buf_ch, extended, prefix,
+ format_object_pool(buf_ch, extended, tmp_prefix,
&graph->packet_begin_msg_pool);
SET_TMP_PREFIX("pen-pool-");
- format_object_pool(buf_ch, extended, prefix,
+ format_object_pool(buf_ch, extended, tmp_prefix,
&graph->packet_end_msg_pool);
}
*out_fmt_ch = fmt_ch;
}
-BT_HIDDEN
void bt_lib_log(const char *func, const char *file, unsigned line,
int lvl, const char *tag, const char *fmt, ...)
{