Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bcc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
bcc
Commits
4509f09c
Commit
4509f09c
authored
8 years ago
by
Evgeny Vereshchagin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
offcputime: add the -d option
Closes #559
parent
f9886446
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
0 deletions
+7
-0
tools/offcputime.py
tools/offcputime.py
+7
-0
No files found.
tools/offcputime.py
View file @
4509f09c
...
...
@@ -61,6 +61,8 @@ stack_group.add_argument("-U", "--user-stacks-only", action="store_true",
help
=
"show stacks from user space only (no kernel space stacks)"
)
stack_group
.
add_argument
(
"-K"
,
"--kernel-stacks-only"
,
action
=
"store_true"
,
help
=
"show stacks from kernel space only (no user space stacks)"
)
parser
.
add_argument
(
"-d"
,
"--delimited"
,
action
=
"store_true"
,
help
=
"insert delimiter between kernel/user stacks"
)
parser
.
add_argument
(
"-f"
,
"--folded"
,
action
=
"store_true"
,
help
=
"output folded format"
)
parser
.
add_argument
(
"--stack-storage-size"
,
default
=
1024
,
...
...
@@ -170,6 +172,8 @@ else:
bpf_text
=
bpf_text
.
replace
(
'USER_STACK_GET'
,
user_stack_get
)
bpf_text
=
bpf_text
.
replace
(
'KERNEL_STACK_GET'
,
kernel_stack_get
)
need_delimiter
=
args
.
delimited
and
not
(
args
.
kernel_stacks_only
or
args
.
user_stacks_only
)
# check for an edge case; the code below will handle this case correctly
# but ultimately nothing will be displayed
if
args
.
kernel_threads_only
and
args
.
user_stacks_only
:
...
...
@@ -229,12 +233,15 @@ for k, v in sorted(counts.items(), key=lambda counts: counts[1].value):
kernel_stack
=
list
(
kernel_stack
)
line
=
[
k
.
name
.
decode
()]
+
\
[
b
.
sym
(
addr
,
k
.
pid
)
for
addr
in
reversed
(
user_stack
)]
+
\
(
need_delimiter
and
[
"-"
]
or
[])
+
\
[
b
.
ksym
(
addr
)
for
addr
in
reversed
(
kernel_stack
)]
print
(
"%s %d"
%
(
";"
.
join
(
line
),
v
.
value
))
else
:
# print default multi-line stack output
for
addr
in
kernel_stack
:
print
(
" %016x %s"
%
(
addr
,
b
.
ksym
(
addr
)))
if
need_delimiter
:
print
(
" --"
)
for
addr
in
user_stack
:
print
(
" %016x %s"
%
(
addr
,
b
.
sym
(
addr
,
k
.
pid
)))
print
(
" %-16s %s (%d)"
%
(
"-"
,
k
.
name
,
k
.
pid
))
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment