X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fust-metadata.c;h=49edb1711254bf9475ddc74f9432aec0e0a38312;hp=cb77e81300f82c6e4d20552ce7f154380389b0f3;hb=389fbf04b41e2002be44a1e3392bfade2f1deeef;hpb=a1f68b22f074a74a905abd109811d25cb39e9b3b diff --git a/src/bin/lttng-sessiond/ust-metadata.c b/src/bin/lttng-sessiond/ust-metadata.c index cb77e8130..49edb1711 100644 --- a/src/bin/lttng-sessiond/ust-metadata.c +++ b/src/bin/lttng-sessiond/ust-metadata.c @@ -262,6 +262,7 @@ int ust_metadata_enum_statedump(struct ust_registry_session *session, if (ret) { goto end; } + nesting++; /* Dump all entries */ for (i = 0; i < nr_entries; i++) { const struct ustctl_enum_entry *entry = &entries[i]; @@ -299,24 +300,56 @@ int ust_metadata_enum_statedump(struct ust_registry_session *session, goto end; } } - ret = lttng_metadata_printf(session, - "\" = "); + ret = lttng_metadata_printf(session, "\""); if (ret) { goto end; } - if (entry->start == entry->end) { - ret = lttng_metadata_printf(session, - "%d,\n", - entry->start); + + if (entry->u.extra.options & + USTCTL_UST_ENUM_ENTRY_OPTION_IS_AUTO) { + ret = lttng_metadata_printf(session, ",\n"); + if (ret) { + goto end; + } } else { ret = lttng_metadata_printf(session, - "%d ... %d,\n", - entry->start, entry->end); - } - if (ret) { - goto end; + " = "); + if (ret) { + goto end; + } + + if (entry->start.signedness) { + ret = lttng_metadata_printf(session, + "%lld", (long long) entry->start.value); + } else { + ret = lttng_metadata_printf(session, + "%llu", entry->start.value); + } + if (ret) { + goto end; + } + + if (entry->start.signedness == entry->end.signedness && + entry->start.value == + entry->end.value) { + ret = lttng_metadata_printf(session, ",\n"); + } else { + if (entry->end.signedness) { + ret = lttng_metadata_printf(session, + " ... %lld,\n", + (long long) entry->end.value); + } else { + ret = lttng_metadata_printf(session, + " ... %llu,\n", + entry->end.value); + } + } + if (ret) { + goto end; + } } } + nesting--; sanitize_ctf_identifier(identifier, field_name); ret = print_tabs(session, nesting); if (ret) { @@ -365,6 +398,9 @@ int _lttng_variant_statedump(struct ust_registry_session *session, ret = _lttng_field_statedump(session, fields, nr_fields, iter_field, nesting + 1); + if (ret) { + goto end; + } } sanitize_ctf_identifier(identifier, variant->name); ret = print_tabs(session, nesting); @@ -720,6 +756,7 @@ int _lttng_stream_packet_context_declare(struct ust_registry_session *session) " uint64_clock_monotonic_t timestamp_end;\n" " uint64_t content_size;\n" " uint64_t packet_size;\n" + " uint64_t packet_seq_num;\n" " unsigned long events_discarded;\n" " uint32_t cpu_id;\n" "};\n\n" @@ -782,7 +819,7 @@ int measure_single_clock_offset(struct offset_sample *sample) int ret; monotonic[0] = trace_clock_read64(); - ret = clock_gettime(CLOCK_REALTIME, &rts); + ret = lttng_clock_gettime(CLOCK_REALTIME, &rts); if (ret < 0) { return ret; } @@ -882,6 +919,7 @@ int ust_metadata_session_statedump(struct ust_registry_session *session, " uint32_t magic;\n" " uint8_t uuid[16];\n" " uint32_t stream_id;\n" + " uint64_t stream_instance_id;\n" " };\n" "};\n\n", session->uint8_t_alignment,