[PATCH] samples, bpf: Add duration option D for sampleip

From: Kang Minchul
Date: Wed Nov 16 2022 - 01:46:45 EST


Although sampleip program can handle three options,
(-F for frequency, duration, and -h for help)
currently there is no independent option for duration.

This patch adds option -D for duration like below:

$ sudo ./samples/bpf/sampleip -h
USAGE: sampleip [-F freq] [-D duration]
-F freq # sample frequency (Hertz), default 99
-D duration # sampling duration (seconds), default 5

$ sudo ./samples/bpf/sampleip -F 120
Sampling at 120 Hertz for 5 seconds. Ctrl-C also ends.
ADDR KSYM COUNT
...

$ sudo ./samples/bpf/sampleip -D 7
Sampling at 99 Hertz for 7 seconds. Ctrl-C also ends.
ADDR KSYM COUNT
...

$ sudo ./samples/bpf/sampleip -F 120 -D 7
Sampling at 120 Hertz for 7 seconds. Ctrl-C also ends.
ADDR KSYM COUNT
...

Signed-off-by: Kang Minchul <tegongkang@xxxxxxxxx>
---
samples/bpf/sampleip_user.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/samples/bpf/sampleip_user.c b/samples/bpf/sampleip_user.c
index 921c505bb567..ce6aadd496e1 100644
--- a/samples/bpf/sampleip_user.c
+++ b/samples/bpf/sampleip_user.c
@@ -28,9 +28,9 @@ static int nr_cpus;

static void usage(void)
{
- printf("USAGE: sampleip [-F freq] [duration]\n");
- printf(" -F freq # sample frequency (Hertz), default 99\n");
- printf(" duration # sampling duration (seconds), default 5\n");
+ printf("USAGE: sampleip [-F freq] [-D duration]\n");
+ printf(" -F freq # sample frequency (Hertz), default 99\n");
+ printf(" -D duration # sampling duration (seconds), default 5\n");
}

static int sampling_start(int freq, struct bpf_program *prog,
@@ -145,19 +145,20 @@ int main(int argc, char **argv)
char filename[256];

/* process arguments */
- while ((opt = getopt(argc, argv, "F:h")) != -1) {
+ while ((opt = getopt(argc, argv, "F:D:h")) != -1) {
switch (opt) {
case 'F':
freq = atoi(optarg);
break;
+ case 'D':
+ secs = atoi(optarg);
+ break;
case 'h':
default:
usage();
return 0;
}
}
- if (argc - optind == 1)
- secs = atoi(argv[optind]);
if (freq == 0 || secs == 0) {
usage();
return 1;
--
2.34.1