Re: [PATCH 2/2] perf, tools: Support spark lines in perf stat

From: Jiri Olsa
Date: Mon Apr 14 2014 - 05:46:57 EST


On Tue, Mar 25, 2014 at 10:31:39AM -0700, Andi Kleen wrote:
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>

SNIP

> @@ -1176,6 +1176,9 @@ static void print_aggr(char *prefix)
> if (run != ena)
> fprintf(output, " (%.2f%%)",
> 100.0 * run / ena);
> +
> + fputc(' ', output);
> + print_stat_spark(output, counter->priv);
> }
> fputc('\n', output);
> }
> @@ -1224,6 +1227,9 @@ static void print_counter_aggr(struct perf_evsel *counter, char *prefix)
>
> print_noise(counter, avg);
>
> + fputc(' ', output);
> + print_stat_spark(output, counter->priv);
> +
> if (csv_output) {
> fputc('\n', output);
> return;
> @@ -1295,6 +1301,9 @@ static void print_counter(struct perf_evsel *counter, char *prefix)
> if (run != ena)
> fprintf(output, " (%.2f%%)",
> 100.0 * run / ena);
> +
> + fputc(' ', output);
> + print_stat_spark(output, counter->priv);
> }
> fputc('\n', output);
> }
> @@ -1355,6 +1364,9 @@ static void print_stat(int argc, const char **argv)
> fprintf(output, " ");
> print_noise_pct(stddev_stats(&walltime_nsecs_stats),
> avg_stats(&walltime_nsecs_stats));
> +
> + fputc(' ', output);
> + print_stat_spark(output, &walltime_nsecs_stats);

Do we want to be that explicit about printing ' ' here?
I dont see it elsewhere..

fput could go into print_stat_spark


SNIP

> +void print_stat_spark(FILE *f, struct stats *stat)
> +{
> + int n = stat->n, len;
> +
> + if (n <= 1)
> + return;
> + len = n;
> + if (len > NUM_SPARK_VALS)
> + len = NUM_SPARK_VALS;
> + if (all_the_same(stat->svals, len))
> + return;
> + print_spark(f, stat->svals, len);
> + if (stat->n > NUM_SPARK_VALS)
> + fputs("..", f);
> +}

whats the reason for 'n' in here? looks like you could do only with 'len'

thanks,
jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/