From patchwork Wed Mar 15 07:48:33 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bogdan Pricope X-Patchwork-Id: 95322 Delivered-To: patch@linaro.org Received: by 10.140.89.134 with SMTP id v6csp208646qgd; Wed, 15 Mar 2017 00:49:05 -0700 (PDT) X-Received: by 10.107.162.73 with SMTP id l70mr4200973ioe.184.1489564145715; Wed, 15 Mar 2017 00:49:05 -0700 (PDT) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id g204si2278353ioe.207.2017.03.15.00.49.05; Wed, 15 Mar 2017 00:49:05 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 3FE4860F0D; Wed, 15 Mar 2017 07:49:05 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 6170360E02; Wed, 15 Mar 2017 07:48:45 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 33CA660D8E; Wed, 15 Mar 2017 07:48:43 +0000 (UTC) Received: from mail-wr0-f170.google.com (mail-wr0-f170.google.com [209.85.128.170]) by lists.linaro.org (Postfix) with ESMTPS id 1F6F760D80 for ; Wed, 15 Mar 2017 07:48:42 +0000 (UTC) Received: by mail-wr0-f170.google.com with SMTP id u48so5257525wrc.0 for ; Wed, 15 Mar 2017 00:48:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=8rHK9yT+e56obo+yOl2sUG59VQJiYMIXANklXnXLofE=; b=bldd3bQrFT9zOH2tbSPUfrVZa2SZoRgZKJxMa/LbKmV1DS/ceAcTDbRRYjGlAMmE2U yYxr1WDWtT+XfxN/Fbzrg438BOKrezk9YkGV16H8aTn3puAjxizh84aQZEc1IK3Z8w/d NCSrqB8YHCpKOat9tu3WS8esid50Pv+wq5E/55Rw4F7PoOTsYt2er9BQ70MYjkYekg1w ri+J+Yd5vme+KZHj3dJ8GH2+ZtL4W8b4CAe98W27It7LFMAsSYIw6EfdcNU04vrYsQCU pNzd8aes7JQN9Q2+JuyoBGqruWBMHzXyF97ewPGYb3utuoOqYmj9sPCk94skqT8/mGDy Br9w== X-Gm-Message-State: AFeK/H2yfZzrMd71CCyI2McVQzXnIzGDPgQUg21B4Zjl7uQREM0cu60gzE+Y1uE0yvcEKVST8Qw= X-Received: by 10.223.131.97 with SMTP id 88mr601296wrd.129.1489564121264; Wed, 15 Mar 2017 00:48:41 -0700 (PDT) Received: from netbricks-team.enea.se ([193.202.22.66]) by smtp.gmail.com with ESMTPSA id d75sm2690362wmd.25.2017.03.15.00.48.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 15 Mar 2017 00:48:40 -0700 (PDT) From: Bogdan Pricope To: lng-odp@lists.linaro.org Date: Wed, 15 Mar 2017 09:48:33 +0200 Message-Id: <1489564113-7856-2-git-send-email-bogdan.pricope@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1489564113-7856-1-git-send-email-bogdan.pricope@linaro.org> References: <1489564113-7856-1-git-send-email-bogdan.pricope@linaro.org> Subject: [lng-odp] [PATCHv4] test: generator: Updated global statistics calculation to provide useful/easy-to-parse information X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" Signed-off-by: Bogdan Pricope --- example/generator/odp_generator.c | 57 ++++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 22 deletions(-) -- 1.9.1 diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c index 8062d87..adb94cc 100644 --- a/example/generator/odp_generator.c +++ b/example/generator/odp_generator.c @@ -568,7 +568,10 @@ static int gen_recv_thread(void *arg) static void print_global_stats(int num_workers) { odp_time_t cur, wait, next; - uint64_t pkts, pkts_prev = 0, pps, maximum_pps = 0; + uint64_t pkts_snd = 0, pkts_snd_prev = 0; + uint64_t pps_snd = 0, maximum_pps_snd = 0; + uint64_t pkts_rcv = 0, pkts_rcv_prev = 0; + uint64_t pps_rcv = 0, maximum_pps_rcv = 0; int verbose_interval = 20; odp_thrmask_t thrd_mask; @@ -589,30 +592,40 @@ static void print_global_stats(int num_workers) continue; next = odp_time_sum(cur, wait); - - if (args->appl.mode == APPL_MODE_RCV) { - pkts = odp_atomic_load_u64(&counters.udp); - printf(" total receive(UDP: %" PRIu64 ")\n", pkts); + switch (args->appl.mode) { + case APPL_MODE_RCV: + pkts_rcv = odp_atomic_load_u64(&counters.ip); + break; + case APPL_MODE_PING: + pkts_snd = odp_atomic_load_u64(&counters.seq); + pkts_rcv = odp_atomic_load_u64(&counters.icmp); + break; + case APPL_MODE_UDP: + pkts_snd = odp_atomic_load_u64(&counters.seq); + break; + default: continue; } - if (args->appl.mode == APPL_MODE_PING) { - pkts = odp_atomic_load_u64(&counters.icmp); - printf(" total receive(ICMP: %" PRIu64 ")\n", pkts); - } - - pkts = odp_atomic_load_u64(&counters.seq); - printf(" total sent: %" PRIu64 ", drops: %" PRIu64 "\n", pkts, - odp_atomic_load_u64(&counters.tx_drops)); - - if (args->appl.mode == APPL_MODE_UDP) { - pps = (pkts - pkts_prev) / verbose_interval; - if (pps > maximum_pps) - maximum_pps = pps; - printf(" %" PRIu64 " pps, %" PRIu64 " max pps\n", - pps, maximum_pps); - pkts_prev = pkts; - } + pps_snd = (pkts_snd - pkts_snd_prev) / verbose_interval; + pkts_snd_prev = pkts_snd; + if (pps_snd > maximum_pps_snd) + maximum_pps_snd = pps_snd; + + pps_rcv = (pkts_rcv - pkts_rcv_prev) / verbose_interval; + pkts_rcv_prev = pkts_rcv; + if (pps_rcv > maximum_pps_rcv) + maximum_pps_rcv = pps_rcv; + + printf("sent: %" PRIu64 ", drops: %" PRIu64 ", " + "send rate: %" PRIu64 " pps, " + "max send rate: %" PRIu64 " pps, " + "rcv: %" PRIu64 ", " + "recv rate: %" PRIu64 " pps, " + "max recv rate: %" PRIu64 " pps\n", + pkts_snd, odp_atomic_load_u64(&counters.tx_drops), + pps_snd, maximum_pps_snd, + pkts_rcv, pps_rcv, maximum_pps_rcv); } }