lkml.org 
[lkml]   [2020]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH v2 1/7] perf metricgroup: Always place duration_time last
    From
    If a metric contains the duration_time event then the event is placed
    outside of the metric's group of events. Rather than split the group,
    make it so the duration_time is immediately after the group.

    Signed-off-by: Ian Rogers <irogers@google.com>
    ---
    tools/perf/util/metricgroup.c | 18 +++++++++---------
    1 file changed, 9 insertions(+), 9 deletions(-)

    diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c
    index a16f60da06ab..7a43ee0a2e40 100644
    --- a/tools/perf/util/metricgroup.c
    +++ b/tools/perf/util/metricgroup.c
    @@ -410,8 +410,8 @@ static void metricgroup__add_metric_weak_group(struct strbuf *events,
    struct expr_parse_ctx *ctx)
    {
    struct hashmap_entry *cur;
    - size_t bkt, i = 0;
    - bool no_group = false;
    + size_t bkt;
    + bool no_group = true, has_duration = false;

    hashmap__for_each_entry((&ctx->ids), cur, bkt) {
    pr_debug("found event %s\n", (const char *)cur->key);
    @@ -421,20 +421,20 @@ static void metricgroup__add_metric_weak_group(struct strbuf *events,
    * group.
    */
    if (!strcmp(cur->key, "duration_time")) {
    - if (i > 0)
    - strbuf_addf(events, "}:W,");
    - strbuf_addf(events, "duration_time");
    - no_group = true;
    + has_duration = true;
    continue;
    }
    strbuf_addf(events, "%s%s",
    - i == 0 || no_group ? "{" : ",",
    + no_group ? "{" : ",",
    (const char *)cur->key);
    no_group = false;
    - i++;
    }
    - if (!no_group)
    + if (!no_group) {
    strbuf_addf(events, "}:W");
    + if (has_duration)
    + strbuf_addf(events, ",duration_time");
    + } else if (has_duration)
    + strbuf_addf(events, "duration_time");
    }

    static void metricgroup__add_metric_non_group(struct strbuf *events,
    --
    2.26.2.761.g0e0b3e54be-goog
    \
     
     \ /
      Last update: 2020-05-20 20:21    [W:2.399 / U:1.404 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site