From patchwork Thu Sep 21 10:08:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Kumar Kori X-Patchwork-Id: 131774 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 98B4B425FF; Thu, 21 Sep 2023 12:10:15 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5E8A040EDC; Thu, 21 Sep 2023 12:09:07 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 4071840E4A for ; Thu, 21 Sep 2023 12:09:02 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 38L7Xwfr010099 for ; Thu, 21 Sep 2023 03:09:01 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=e9bCXb/mt8f9sNM3XxK74kfcCkYqJlLGE2yHq+D2OOU=; b=hRfrhGjN+nGaeMVB7Mjtm8hcGFnzutnjUzAo2WQSlsAMVlHn1QMdRNHTotl/Y4sZQaG4 atxYdnLxeA/WGosVj0pI1Pcs9R5ozFkRI501a/OvbfmuDLAMy5+f6KVs4Y1/TojwbhAD Laoq9KpQgwtlPuWgCjTbfEIVAC44QAUGdkawioWKTRxct2Lqg/5G9c4FoIf89V4aexJ5 NB5T1mFv14kBvjE757chcZhGw0QF9ccdpUY/TEFB71O0964yrk+OBvZi7jjNYwFbmuxl Z4fzA5Q+mEYjfolu1kQMHPWJ2LjmyQQMISYW5h6Wfse62Stc54s+DuLEMPV8IjnJ9pzE RA== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3t85pttqeg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Thu, 21 Sep 2023 03:09:01 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Thu, 21 Sep 2023 03:08:59 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Thu, 21 Sep 2023 03:08:59 -0700 Received: from localhost.localdomain (unknown [10.28.34.25]) by maili.marvell.com (Postfix) with ESMTP id 438915B693F; Thu, 21 Sep 2023 03:08:58 -0700 (PDT) From: To: Sunil Kumar Kori , Rakesh Kudurumalla CC: Subject: [PATCH v5 11/12] app/graph: add CLI option to enable graph stats Date: Thu, 21 Sep 2023 15:38:31 +0530 Message-ID: <20230921100832.2036256-12-skori@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230921100832.2036256-1-skori@marvell.com> References: <20230919160455.1678716-1-skori@marvell.com> <20230921100832.2036256-1-skori@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: X0H7ftcTmsRZ8riXZxFXZBC0vkVBy15s X-Proofpoint-ORIG-GUID: X0H7ftcTmsRZ8riXZxFXZBC0vkVBy15s X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-09-21_06,2023-09-20_01,2023-05-22_02 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Sunil Kumar Kori It adds application's command line parameter "--enable-graph-stats" to enable dumping graph stats on console. By default, no graph stats will be printed on console but same can be dumped via telnet session using "graph stats show" command. Signed-off-by: Sunil Kumar Kori Signed-off-by: Rakesh Kudurumalla --- app/graph/main.c | 38 +++++++++++++++++++++++++++++++++++++- app/graph/module_api.h | 3 +++ doc/guides/tools/graph.rst | 4 ++++ 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/app/graph/main.c b/app/graph/main.c index b3b8b9a2d7..177e15a556 100644 --- a/app/graph/main.c +++ b/app/graph/main.c @@ -18,12 +18,13 @@ volatile bool force_quit; struct conn *conn; -static const char usage[] = "%s EAL_ARGS -- -s SCRIPT [-h HOST] [-p PORT] " +static const char usage[] = "%s EAL_ARGS -- -s SCRIPT [-h HOST] [-p PORT] [--enable-graph-stats] " "[--help]\n"; static struct app_params { struct conn_params conn; char *script_name; + bool enable_graph_stats; } app = { .conn = { .welcome = "\nWelcome!\n\n", @@ -37,6 +38,7 @@ static struct app_params { .msg_handle_arg = NULL, /* set later. */ }, .script_name = NULL, + .enable_graph_stats = false, }; static void @@ -53,6 +55,7 @@ app_args_parse(int argc, char **argv) { struct option lgopts[] = { {"help", 0, 0, 'H'}, + {"enable-graph-stats", 0, 0, 'g'}, }; int h_present, p_present, s_present, n_args, i; char *app_name = argv[0]; @@ -130,6 +133,12 @@ app_args_parse(int argc, char **argv) } break; + case 'g': + app.enable_graph_stats = true; + printf("WARNING! Telnet session can not be accessed with" + "--enable-graph-stats"); + break; + case 'H': default: printf(usage, app_name); @@ -141,6 +150,33 @@ app_args_parse(int argc, char **argv) return 0; } +bool +app_graph_stats_enabled(void) +{ + return app.enable_graph_stats; +} + + +bool +app_graph_exit(void) +{ + struct timeval tv; + fd_set fds; + int ret; + char c; + + FD_ZERO(&fds); + FD_SET(0, &fds); + tv.tv_sec = 0; + tv.tv_usec = 100; + ret = select(1, &fds, NULL, NULL, &tv); + if ((ret < 0 && errno == EINTR) || (ret == 1 && read(0, &c, 1) > 0)) + return true; + else + return false; + +} + int main(int argc, char **argv) { diff --git a/app/graph/module_api.h b/app/graph/module_api.h index 8417c2d3dd..a7d287f5c8 100644 --- a/app/graph/module_api.h +++ b/app/graph/module_api.h @@ -24,4 +24,7 @@ extern volatile bool force_quit; extern struct conn *conn; +bool app_graph_stats_enabled(void); +bool app_graph_exit(void); + #endif diff --git a/doc/guides/tools/graph.rst b/doc/guides/tools/graph.rst index 2c06f8e958..649e802d73 100644 --- a/doc/guides/tools/graph.rst +++ b/doc/guides/tools/graph.rst @@ -57,6 +57,10 @@ Following are the application command-line options: a mandatory parameter which will be used to create desired graph for a given use case. +* ``--enable-graph-stats`` + + Enable graph statistics printing on console. By default graph statistics are disabled. + * ``--help`` Dumps application usage