|
@@ -1001,19 +1001,20 @@ static void print_metric_only(void *ctx, const char *color, const char *fmt,
|
|
|
{
|
|
|
struct outstate *os = ctx;
|
|
|
FILE *out = os->fh;
|
|
|
- int n;
|
|
|
- char buf[1024];
|
|
|
+ char buf[1024], str[1024];
|
|
|
unsigned mlen = METRIC_ONLY_LEN;
|
|
|
|
|
|
if (!valid_only_metric(unit))
|
|
|
return;
|
|
|
unit = fixunit(buf, os->evsel, unit);
|
|
|
- n = color_fprintf(out, color ?: "", fmt, val);
|
|
|
- if (n > METRIC_ONLY_LEN)
|
|
|
- n = METRIC_ONLY_LEN;
|
|
|
if (mlen < strlen(unit))
|
|
|
mlen = strlen(unit) + 1;
|
|
|
- fprintf(out, "%*s", mlen - n, "");
|
|
|
+
|
|
|
+ if (color)
|
|
|
+ mlen += strlen(color) + sizeof(PERF_COLOR_RESET) - 1;
|
|
|
+
|
|
|
+ color_snprintf(str, sizeof(str), color ?: "", fmt, val);
|
|
|
+ fprintf(out, "%*s ", mlen, str);
|
|
|
}
|
|
|
|
|
|
static void print_metric_only_csv(void *ctx, const char *color __maybe_unused,
|
|
@@ -1053,7 +1054,7 @@ static void print_metric_header(void *ctx, const char *color __maybe_unused,
|
|
|
if (csv_output)
|
|
|
fprintf(os->fh, "%s%s", unit, csv_sep);
|
|
|
else
|
|
|
- fprintf(os->fh, "%-*s ", METRIC_ONLY_LEN, unit);
|
|
|
+ fprintf(os->fh, "%*s ", METRIC_ONLY_LEN, unit);
|
|
|
}
|
|
|
|
|
|
static void nsec_printout(int id, int nr, struct perf_evsel *evsel, double avg)
|
|
@@ -1721,7 +1722,7 @@ static void print_interval(char *prefix, struct timespec *ts)
|
|
|
fprintf(output, " counts %*s events\n", unit_width, "unit");
|
|
|
break;
|
|
|
case AGGR_NONE:
|
|
|
- fprintf(output, "# time CPU");
|
|
|
+ fprintf(output, "# time CPU ");
|
|
|
if (!metric_only)
|
|
|
fprintf(output, " counts %*s events\n", unit_width, "unit");
|
|
|
break;
|