Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1372065
| From | Tom Zanussi <tom.zanussi@linux.intel.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v16 22/23] tracing: Add hist trigger 'log2' modifier |
| Date | 2016-04-06 01:40 +0200 |
| Message-ID | <rkIJI-3cj-15@gated-at.bofh.it> (permalink) |
| References | <r8GDD-2P0-7@gated-at.bofh.it> <r8GDE-2P0-39@gated-at.bofh.it> <rhYL1-4yM-11@gated-at.bofh.it> <ri3B0-86I-13@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hi Namhyung,
Sorry for the late reply, just catching up after Spring Break...
On 03/29/2016 10:17 AM, Namhyung Kim wrote:
> Hi Daniel,
>
> On Tue, Mar 29, 2016 at 12:01:40PM +0200, Daniel Wagner wrote:
>> Hi,
>>
>> On 03/03/2016 07:55 PM, Tom Zanussi wrote:
>>> When using '.log2' modifier, the output looks like:
>>>
>>> # echo 'hist:key=bytes_req.log2' > kmalloc/trigger
>>> # cat kmalloc/hist
>>>
>>> { bytes_req: ~ 2^12 } hitcount: 1
>>> { bytes_req: ~ 2^11 } hitcount: 1
>>> { bytes_req: ~ 2^9 } hitcount: 2
>>> { bytes_req: ~ 2^6 } hitcount: 3
>>> { bytes_req: ~ 2^3 } hitcount: 13
>>> { bytes_req: ~ 2^5 } hitcount: 19
>>> { bytes_req: ~ 2^8 } hitcount: 49
>>> { bytes_req: ~ 2^7 } hitcount: 57
>>> { bytes_req: ~ 2^4 } hitcount: 74
>>
>>
>> I found a small inconsistency. My command line is
>>
>> echo 'hist:key=latency.log2:sort=latency' > /sys/kernel/debug/tracing/events/test/latency_complete/trigger
>>
>> When looking at the output of 'hist' you see that the
>> 'sort=' is not what I provided.
>>
>> cat /sys/kernel/debug/tracing/events/test/latency_complete/hist
>> # event histogram
>> #
>> # trigger info: hist:keys=latency.log2:vals=hitcount:sort=latency.log2:size=2048 [active]
>> #
>> #
>
> Maybe we want to skip printing those flags for sort keys..
> What about this?
>
Looks fine to me.
Thanks,
Acked-by: Tom Zanussi <tom.zanussi@linux.intel.com>
> Thanks,
> Namhyung
>
>
>
> diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
> index 53e7d7bc67ca..464ef52117bd 100644
> --- a/kernel/trace/trace_events_hist.c
> +++ b/kernel/trace/trace_events_hist.c
> @@ -1118,10 +1118,11 @@ static const char *get_hist_field_flags(struct hist_field *hist_field)
> return flags_str;
> }
>
> -static void hist_field_print(struct seq_file *m, struct hist_field *hist_field)
> +static void hist_field_print(struct seq_file *m, struct hist_field *hist_field,
> + bool print_flags)
> {
> seq_printf(m, "%s", hist_field->field->name);
> - if (hist_field->flags) {
> + if (hist_field->flags && print_flags) {
> const char *flags_str = get_hist_field_flags(hist_field);
>
> if (flags_str)
> @@ -1153,7 +1154,7 @@ static int event_hist_trigger_print(struct seq_file *m,
> if (key_field->flags & HIST_FIELD_STACKTRACE)
> seq_puts(m, "stacktrace");
> else
> - hist_field_print(m, key_field);
> + hist_field_print(m, key_field, true);
> }
>
> seq_puts(m, ":vals=");
> @@ -1163,7 +1164,7 @@ static int event_hist_trigger_print(struct seq_file *m,
> seq_puts(m, "hitcount");
> else {
> seq_puts(m, ",");
> - hist_field_print(m, hist_data->fields[i]);
> + hist_field_print(m, hist_data->fields[i], true);
> }
> }
>
> @@ -1182,7 +1183,7 @@ static int event_hist_trigger_print(struct seq_file *m,
> else {
> unsigned int idx = sort_key->field_idx;
>
> - hist_field_print(m, hist_data->fields[idx]);
> + hist_field_print(m, hist_data->fields[idx], false);
> }
>
> if (sort_key->descending)
>
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
Re: [PATCH v16 22/23] tracing: Add hist trigger 'log2' modifier Tom Zanussi <tom.zanussi@linux.intel.com> - 2016-04-06 01:40 +0200
csiph-web