qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] trace/simple: Enable tracing on startup only if the user spe


From: Markus Armbruster
Subject: Re: [PATCH] trace/simple: Enable tracing on startup only if the user specifies a trace option
Date: Fri, 11 Sep 2020 07:03:28 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Markus Armbruster <armbru@redhat.com> writes:

> duboisj@gmail.com writes:
>
>> From: Josh DuBois <josh@joshdubois.com>
>>
>> Tracing can be enabled at the command line or via the
>> monitor. Command-line trace options are recorded during
>> trace_opt_parse(), but tracing is not enabled until the various
>> front-ends later call trace_init_file(). If the user passes a trace
>> option on the command-line, remember that and enable tracing during
>> trace_init_file().  Otherwise, trace_init_file() should record the
>> trace file specified by the frontend and avoid enabling traces
>> until the user requests them via the monitor.
>>
>> This fixes 1b7157be3a8c4300fc8044d40f4b2e64a152a1b4 and also
>> db25d56c014aa1a96319c663e0a60346a223b31e, by allowing the user
>> to enable traces on the command line and also avoiding
>> unwanted trace-<pid> files when the user has not asked for them.
>>
>> Fixes: 1b7157be3a8c4300fc8044d40f4b2e64a152a1b4
>> Signed-off-by: Josh DuBois <josh@joshdubois.com>
>> ---
>>  trace/control.c | 6 +++++-
>>  1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/trace/control.c b/trace/control.c
>> index 6558b5c906..8f94f09444 100644
>> --- a/trace/control.c
>> +++ b/trace/control.c
>> @@ -39,6 +39,7 @@ static TraceEventGroup *event_groups;
>>  static size_t nevent_groups;
>>  static uint32_t next_id;
>>  static uint32_t next_vcpu_id;
>> +static bool init_trace_on_startup;
>>  
>>  QemuOptsList qemu_trace_opts = {
>>      .name = "trace",
>> @@ -225,7 +226,9 @@ void trace_init_file(const char *file)
>>  {
>>  #ifdef CONFIG_TRACE_SIMPLE
>>      st_set_trace_file(file);
>> -    st_set_trace_file_enabled(true);
>> +    if (init_trace_on_startup) {
>> +        st_set_trace_file_enabled(true);
>> +    }
>>  #elif defined CONFIG_TRACE_LOG
>>      /*
>>       * If both the simple and the log backends are enabled, "--trace file"
>> @@ -299,6 +302,7 @@ char *trace_opt_parse(const char *optarg)
>>      }
>>      trace_init_events(qemu_opt_get(opts, "events"));
>>      trace_file = g_strdup(qemu_opt_get(opts, "file"));
>> +    init_trace_on_startup = true;
>>      qemu_opts_del(opts);
>>  
>>      return trace_file;
>
> Stops the littering for me.
>
> Stefan, please have a closer look.

Ping?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]