@@ -4155,6 +4155,7 @@ enum {
static void add_options(struct tracecmd_output *handle, struct common_record_context *ctx)
{
int type = 0;
+ char *clocks;
if (ctx->date2ts) {
if (ctx->data_flags & DATA_FL_DATE)
@@ -4166,12 +4167,15 @@ static void add_options(struct tracecmd_output *handle, struct common_record_con
if (type)
tracecmd_add_option(handle, type, strlen(ctx->date2ts)+1, ctx->date2ts);
- tracecmd_add_option(handle, TRACECMD_OPTION_TRACECLOCK, 0, NULL);
+ clocks = get_trace_clock(false);
+ tracecmd_add_option(handle, TRACECMD_OPTION_TRACECLOCK,
+ clocks ? strlen(clocks)+1 : 0, clocks);
add_option_hooks(handle);
add_uname(handle);
add_version(handle);
if (!no_top_instance())
add_trace_id(handle, &top_instance);
+ free(clocks);
}
static void write_guest_file(struct buffer_instance *instance)
Save the content of the trace_clock file in the TRACECLOCK option in the trace.dat file. The clocks can be printed with "trace-cmd dump --options" command. These clocks were saved right before the tracing data in the file, but this patch set changed that logic. Now only the selected clock is saved in the file before the tracing data. Having all supported trace clocks in the file is useful for debug purposes. Adding clocks in the existing TRACECLOCK option is save and will not break the older versions of trace-cmd. Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com> --- tracecmd/trace-record.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)