X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fctf-text%2Fctf-text.c;h=b7889ec0b945455402149cb6ac7cb8c5a0be25f9;hp=a837f914b436a01f1fce65fab994e4f55e98cc2e;hb=1842a4c801d0878adf40862fda0c310a52a6fdd2;hpb=359d7456178eeebd3f5a11c7ef2050b91f68123b diff --git a/formats/ctf-text/ctf-text.c b/formats/ctf-text/ctf-text.c index a837f914..b7889ec0 100644 --- a/formats/ctf-text/ctf-text.c +++ b/formats/ctf-text/ctf-text.c @@ -182,18 +182,26 @@ int ctf_text_write_event(struct stream_pos *ppos, return -EINVAL; } - if (stream->has_timestamp) { - uint64_t ts_sec, ts_nsec; + /* Print events discarded */ + if (stream->events_discarded) { + fflush(pos->fp); + fprintf(stderr, "[warning] Tracer discarded %d events between [", + stream->events_discarded); + ctf_print_timestamp(stderr, stream, stream->prev_timestamp); + fprintf(stderr, "] and ["); + ctf_print_timestamp(stderr, stream, stream->prev_timestamp_end); + fprintf(stderr, "]. You should consider increasing the buffer size.\n"); + fflush(stderr); + stream->events_discarded = 0; + } - ts_sec = stream->timestamp / NSEC_PER_SEC; - ts_nsec = stream->timestamp % NSEC_PER_SEC; + if (stream->has_timestamp) { set_field_names_print(pos, ITEM_HEADER); if (pos->print_names) fprintf(pos->fp, "timestamp = "); else fprintf(pos->fp, "["); - fprintf(pos->fp, "%3" PRIu64 ".%09" PRIu64, - ts_sec, ts_nsec); + ctf_print_timestamp(pos->fp, stream, stream->timestamp); if (!pos->print_names) fprintf(pos->fp, "]"); @@ -240,50 +248,49 @@ int ctf_text_write_event(struct stream_pos *ppos, else fprintf(pos->fp, " "); } - if ((opt_trace_domain_field && !opt_all_fields) && stream_class->trace->domain[0] != '\0') { + if ((opt_trace_domain_field && !opt_all_fields) && stream_class->trace->env.domain[0] != '\0') { set_field_names_print(pos, ITEM_HEADER); if (pos->print_names) { fprintf(pos->fp, "trace:domain = "); } - fprintf(pos->fp, "%s", stream_class->trace->domain); + fprintf(pos->fp, "%s", stream_class->trace->env.domain); if (pos->print_names) fprintf(pos->fp, ", "); dom_print = 1; } - if ((opt_trace_procname_field && !opt_all_fields) && stream_class->trace->procname[0] != '\0') { + if ((opt_trace_procname_field && !opt_all_fields) && stream_class->trace->env.procname[0] != '\0') { set_field_names_print(pos, ITEM_HEADER); if (pos->print_names) { fprintf(pos->fp, "trace:procname = "); } else if (dom_print) { fprintf(pos->fp, ":"); } - fprintf(pos->fp, "%s", stream_class->trace->procname); + fprintf(pos->fp, "%s", stream_class->trace->env.procname); if (pos->print_names) fprintf(pos->fp, ", "); dom_print = 1; } - if ((opt_trace_vpid_field && !opt_all_fields) && stream_class->trace->vpid[0] != '\0') { + if ((opt_trace_vpid_field && !opt_all_fields) && stream_class->trace->env.vpid != -1) { set_field_names_print(pos, ITEM_HEADER); if (pos->print_names) { fprintf(pos->fp, "trace:vpid = "); } else if (dom_print) { fprintf(pos->fp, ":"); } - fprintf(pos->fp, "%s", stream_class->trace->vpid); + fprintf(pos->fp, "%d", stream_class->trace->env.vpid); if (pos->print_names) fprintf(pos->fp, ", "); dom_print = 1; } - if ((opt_loglevel_field || opt_all_fields) && event_class->loglevel_identifier != 0) { + if ((opt_loglevel_field || opt_all_fields) && event_class->loglevel != -1) { set_field_names_print(pos, ITEM_HEADER); if (pos->print_names) { fprintf(pos->fp, "loglevel = "); } else if (dom_print) { fprintf(pos->fp, ":"); } - fprintf(pos->fp, "%s (%lld)", - g_quark_to_string(event_class->loglevel_identifier), - (long long) event_class->loglevel_value); + fprintf(pos->fp, "(%d)", + event_class->loglevel); if (pos->print_names) fprintf(pos->fp, ", "); dom_print = 1;