From: David Ahern <dsahern@gmail.com>
To: acme@ghostprotocols.net, linux-kernel@vger.kernel.org
Cc: David Ahern <dsahern@gmail.com>, Ingo Molnar <mingo@kernel.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Peter Zijlstra <peterz@infradead.org>,
Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>,
Runzhen Wang <runzhen@linux.vnet.ibm.com>
Subject: [PATCH 07/11] perf stats: add max and min stats
Date: Thu, 11 Jul 2013 10:26:38 -0600 [thread overview]
Message-ID: <1373560002-14618-8-git-send-email-dsahern@gmail.com> (raw)
In-Reply-To: <1373560002-14618-1-git-send-email-dsahern@gmail.com>
Need an initialization function to set min to -1 to
differentiate from an actual min of 0.
Signed-off-by: David Ahern <dsahern@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
Cc: Runzhen Wang <runzhen@linux.vnet.ibm.com>
---
tools/perf/util/stat.c | 6 ++++++
tools/perf/util/stat.h | 9 +++++++++
2 files changed, 15 insertions(+)
diff --git a/tools/perf/util/stat.c b/tools/perf/util/stat.c
index 7c59c28..6506b3d 100644
--- a/tools/perf/util/stat.c
+++ b/tools/perf/util/stat.c
@@ -10,6 +10,12 @@ void update_stats(struct stats *stats, u64 val)
delta = val - stats->mean;
stats->mean += delta / stats->n;
stats->M2 += delta*(val - stats->mean);
+
+ if (val > stats->max)
+ stats->max = val;
+
+ if (val < stats->min)
+ stats->min = val;
}
double avg_stats(struct stats *stats)
diff --git a/tools/perf/util/stat.h b/tools/perf/util/stat.h
index 588367c..ae8ccd7 100644
--- a/tools/perf/util/stat.h
+++ b/tools/perf/util/stat.h
@@ -6,6 +6,7 @@
struct stats
{
double n, mean, M2;
+ u64 max, min;
};
void update_stats(struct stats *stats, u64 val);
@@ -13,4 +14,12 @@ double avg_stats(struct stats *stats);
double stddev_stats(struct stats *stats);
double rel_stddev_stats(double stddev, double avg);
+static inline void init_stats(struct stats *stats)
+{
+ stats->n = 0.0;
+ stats->mean = 0.0;
+ stats->M2 = 0.0;
+ stats->min = (u64) -1;
+ stats->max = 0;
+}
#endif
--
1.7.10.1
next prev parent reply other threads:[~2013-07-11 16:28 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-11 16:26 [PATCH 00/11] perf: kvm live mode David Ahern
2013-07-11 16:26 ` [PATCH 01/11] perf evlist: restore methods removed in earlier cleanup David Ahern
2013-07-11 16:26 ` [PATCH 02/11] perf evlist: move tracepoint processing code to evlist.c David Ahern
2013-07-11 16:26 ` [PATCH 03/11] perf evlist: add initialzation function for tracepoints David Ahern
2013-07-11 16:26 ` [PATCH 04/11] perf session: export a few functions for event processing David Ahern
2013-07-11 16:26 ` [PATCH 05/11] perf top: move CONSOLE_CLEAR to header file David Ahern
2013-07-11 16:26 ` [PATCH 06/11] perf kvm: split out tracepoints from record args David Ahern
2013-07-11 16:26 ` David Ahern [this message]
2013-07-11 16:26 ` [PATCH 08/11] perf kvm: add live mode David Ahern
2013-07-11 16:26 ` [PATCH 09/11] perf kvm: add min and max stats to display David Ahern
2013-07-11 16:26 ` [PATCH 10/11] perf kvm: option to print events that exceed a threshold David Ahern
2013-07-11 16:26 ` [PATCH 11/11] perf kvm: debug for missing vmexit/vmentry event David Ahern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1373560002-14618-8-git-send-email-dsahern@gmail.com \
--to=dsahern@gmail.com \
--cc=acme@ghostprotocols.net \
--cc=fweisbec@gmail.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=runzhen@linux.vnet.ibm.com \
--cc=xiaoguangrong@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox