From 91906b6f6a2639efc7e41623ade6b7b02f1e297c Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 24 Sep 2018 16:35:09 +0200 Subject: [PATCH] consolidate benchmark collection scripts --- .../{collect_urls.awk => collect.awk} | 21 ++++++--- contrib/benchmark/collect_ops.awk | 45 ------------------- 2 files changed, 16 insertions(+), 50 deletions(-) rename contrib/benchmark/{collect_urls.awk => collect.awk} (72%) delete mode 100644 contrib/benchmark/collect_ops.awk diff --git a/contrib/benchmark/collect_urls.awk b/contrib/benchmark/collect.awk similarity index 72% rename from contrib/benchmark/collect_urls.awk rename to contrib/benchmark/collect.awk index 27424b2b8..887886abf 100644 --- a/contrib/benchmark/collect_urls.awk +++ b/contrib/benchmark/collect.awk @@ -1,4 +1,3 @@ -# records are of the following form: # This file is part of GNUnet # Copyright (C) 2018 GNUnet e.V. # @@ -20,12 +19,20 @@ # generated by util/benchmark.c. # # Can be used as -# awk -f collect_ops.awk gnunet-benchmark-ops-*.txt -# url status count time_us +# awk -f collect.awk gnunet-benchmark-{ops,urls}-*.txt + +# records are of the following forms: +# op count time_us +# url status count time_us { - url[$2][$4]["count"] += $6; - url[$2][$4]["time_us"] += $8; + if ($1 == "op") { + op[$2]["count"] += $4; + op[$2]["time_us"] += $6; + } else if ($1 == "url") { + url[$2][$4]["count"] += $6; + url[$2][$4]["time_us"] += $8; + } } function avg(s, c) { @@ -37,6 +44,10 @@ function avg(s, c) { } END { + for (x in op) { + print "op", x, "count", op[x]["count"], "time_us", op[x]["time_us"], \ + "time_avg_us", avg(op[x]["time_us"], op[x]["count"]); + } for (x in url) { for (y in url[x]) { print "url", x, "status", y, \ diff --git a/contrib/benchmark/collect_ops.awk b/contrib/benchmark/collect_ops.awk deleted file mode 100644 index b34fcc723..000000000 --- a/contrib/benchmark/collect_ops.awk +++ /dev/null @@ -1,45 +0,0 @@ -# This file is part of GNUnet -# Copyright (C) 2018 GNUnet e.V. -# -# GNUnet is free software: you can redistribute it and/or modify it -# under the terms of the GNU Affero General Public License as published -# by the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# GNUnet is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - - -# Aggregate benchmarking data from multiple threads/processes -# generated by util/benchmark.c. -# -# Can be used as -# awk -f collect_ops.awk gnunet-benchmark-ops-*.txt - - -# records are of the following form: -# op count time_us -{ - op[$2]["count"] += $4; - op[$2]["time_us"] += $6; -} - -function avg(s, c) { - if (c == 0) { - return 0; - } else { - return s / c; - } -} - -END { - for (x in op) { - print "op", x, "count", op[x]["count"], "time_us", op[x]["time_us"], \ - "time_avg_us", avg(op[x]["time_us"], op[x]["count"]); - } -} -- 2.25.1