summaryrefslogtreecommitdiffstats
path: root/runtime/stat.h
diff options
context:
space:
mode:
authorhunt <hunt>2005-06-18 07:24:42 +0000
committerhunt <hunt>2005-06-18 07:24:42 +0000
commite5d2abb56ca57a613e4ef9398a6499190b2265be (patch)
tree083465047d73bc498f2278d2eb3dc8514b455ad3 /runtime/stat.h
parentef0e92b0335077884edd5ac9997a203bec1839b0 (diff)
downloadsystemtap-steved-e5d2abb56ca57a613e4ef9398a6499190b2265be.tar.gz
systemtap-steved-e5d2abb56ca57a613e4ef9398a6499190b2265be.tar.xz
systemtap-steved-e5d2abb56ca57a613e4ef9398a6499190b2265be.zip
2005-06-18 Martin Hunt <hunt@redhat.com>
* counter.c: New file. Counter aggregations. * stat.c: New file. Stat aggregations. * stat.h: Header file for stats. * map-int.c: New file. Support for int64 values. * map-stat.c: New file. Support for stat values. * map-str.c: New file. Support for string values. * map-values.c: Now just includes the necessary map-*.c files. * stat-common.c: New file. Stats stuff common to Stats and maps containing stats. * Doxyfile: Bumped version to 0.6. * README: Renamed README.doc and reorganized.
Diffstat (limited to 'runtime/stat.h')
-rw-r--r--runtime/stat.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/runtime/stat.h b/runtime/stat.h
new file mode 100644
index 00000000..50dfc458
--- /dev/null
+++ b/runtime/stat.h
@@ -0,0 +1,37 @@
+#ifndef _STAT_H_ /* -*- linux-c -*- */
+#define _STAT_H_
+
+#ifndef NEED_STAT_LOCKS
+#define NEED_STAT_LOCKS 0
+#endif
+
+/** histogram type */
+enum histtype { HIST_NONE, HIST_LOG, HIST_LINEAR };
+
+/** Statistics are stored in this struct. This is per-cpu or per-node data
+ and is variable length due to the unknown size of the histogram. */
+struct stat_data {
+ int64_t count;
+ int64_t sum;
+ int64_t min, max;
+#if NEED_STAT_LOCKS == 1
+ spinlock_t lock;
+#endif
+ int64_t histogram[];
+};
+
+typedef struct stat_data stat;
+
+struct _Stat {
+ enum histtype hist_type;
+ int hist_start;
+ int hist_stop;
+ int hist_int;
+ int hist_buckets;
+ struct stat_data *sd;
+ struct stat_data *agg;
+};
+
+typedef struct _Stat *Stat;
+
+#endif /* _STAT_H_ */