diff options
author | Alexei Starovoitov <ast@kernel.org> | 2019-02-25 17:28:42 -0500 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2019-02-27 11:22:51 -0500 |
commit | 88ad472b8a4ad2292d11835652462fd9f745245e (patch) | |
tree | 8676141fa3057f59651204c33860ec24fecf19f9 /tools/bpf/bpftool/prog.c | |
parent | b1eca86db68b48f59b9f195c8b4f8114d2a9918c (diff) |
tools/bpftool: recognize bpf_prog_info run_time_ns and run_cnt
$ bpftool p s
1: kprobe tag a56587d488d216c9 gpl run_time_ns 79786 run_cnt 8
loaded_at 2019-02-22T12:22:51-0800 uid 0
xlated 352B not jited memlock 4096B
$ bpftool --json --pretty p s
[{
"id": 1,
"type": "kprobe",
"tag": "a56587d488d216c9",
"gpl_compatible": true,
"run_time_ns": 79786,
"run_cnt": 8,
"loaded_at": 1550866971,
"uid": 0,
"bytes_xlated": 352,
"jited": false,
"bytes_memlock": 4096
}
]
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools/bpf/bpftool/prog.c')
-rw-r--r-- | tools/bpf/bpftool/prog.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c index db978c8d76a8..0c35dd543d49 100644 --- a/tools/bpf/bpftool/prog.c +++ b/tools/bpf/bpftool/prog.c | |||
@@ -214,6 +214,10 @@ static void print_prog_json(struct bpf_prog_info *info, int fd) | |||
214 | info->tag[4], info->tag[5], info->tag[6], info->tag[7]); | 214 | info->tag[4], info->tag[5], info->tag[6], info->tag[7]); |
215 | 215 | ||
216 | jsonw_bool_field(json_wtr, "gpl_compatible", info->gpl_compatible); | 216 | jsonw_bool_field(json_wtr, "gpl_compatible", info->gpl_compatible); |
217 | if (info->run_time_ns) { | ||
218 | jsonw_uint_field(json_wtr, "run_time_ns", info->run_time_ns); | ||
219 | jsonw_uint_field(json_wtr, "run_cnt", info->run_cnt); | ||
220 | } | ||
217 | 221 | ||
218 | print_dev_json(info->ifindex, info->netns_dev, info->netns_ino); | 222 | print_dev_json(info->ifindex, info->netns_dev, info->netns_ino); |
219 | 223 | ||
@@ -277,6 +281,9 @@ static void print_prog_plain(struct bpf_prog_info *info, int fd) | |||
277 | fprint_hex(stdout, info->tag, BPF_TAG_SIZE, ""); | 281 | fprint_hex(stdout, info->tag, BPF_TAG_SIZE, ""); |
278 | print_dev_plain(info->ifindex, info->netns_dev, info->netns_ino); | 282 | print_dev_plain(info->ifindex, info->netns_dev, info->netns_ino); |
279 | printf("%s", info->gpl_compatible ? " gpl" : ""); | 283 | printf("%s", info->gpl_compatible ? " gpl" : ""); |
284 | if (info->run_time_ns) | ||
285 | printf(" run_time_ns %lld run_cnt %lld", | ||
286 | info->run_time_ns, info->run_cnt); | ||
280 | printf("\n"); | 287 | printf("\n"); |
281 | 288 | ||
282 | if (info->load_time) { | 289 | if (info->load_time) { |