Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
flow3r firmware
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
dos
flow3r firmware
Commits
88361ab0
Commit
88361ab0
authored
Sep 7, 2023
by
moon2
Browse files
Options
Downloads
Patches
Plain Diff
ftop: think time
parent
2f000e12
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
python_payload/st3m/profiling.py
+58
-5
58 additions, 5 deletions
python_payload/st3m/profiling.py
with
58 additions
and
5 deletions
python_payload/st3m/profiling.py
+
58
−
5
View file @
88361ab0
...
...
@@ -3,9 +3,18 @@ from st3m import settings
class
ftop
:
auto_interval_ms
=
5000
# maybe this one too idk~
_auto_countdown_ms
=
0
auto_interval_ms
=
5000
_auto_countdown_ms
=
1000
# for initial report
_max_name_len
=
0
_max_delta_t_ms
=
None
_min_delta_t_ms
=
None
_avg_delta_t_ms
=
None
_max_delta_t_ms_new
=
-
99999
_min_delta_t_ms_new
=
99999
_avg_delta_t_ms_acc
=
0
_avg_delta_t_ms_div
=
0
_delta_t_ms_throwaway
=
True
report
=
""
@staticmethod
...
...
@@ -14,15 +23,51 @@ class ftop:
If enabled: Increments a timer by delta_t_ms milliseconds checks
if a new report is scheduled and if so saves it in ftop.report.
Returns True if a new report has been generated, else false.
The first report generated might be buggy.
"""
if
settings
.
onoff_debug_ftop
.
value
and
sys_kernel
.
usb_console_active
():
ftop
.
delta_t_update
(
delta_t_ms
)
ftop
.
_auto_countdown_ms
-=
delta_t_ms
if
ftop
.
_auto_countdown_ms
<=
0
:
ftop
.
_auto_countdown_ms
=
ftop
.
auto_interval_ms
ftop
.
report
=
ftop
.
make_report
()
return
True
return
False
@staticmethod
def
delta_t_update
(
delta_t_ms
):
if
ftop
.
_delta_t_ms_throwaway
:
ftop
.
_delta_t_ms_throwaway
=
False
return
if
ftop
.
_max_delta_t_ms_new
<
delta_t_ms
:
ftop
.
_max_delta_t_ms_new
=
delta_t_ms
if
ftop
.
_min_delta_t_ms_new
>
delta_t_ms
:
ftop
.
_min_delta_t_ms_new
=
delta_t_ms
if
ftop
.
_avg_delta_t_ms_acc
<
99999
:
ftop
.
_avg_delta_t_ms_acc
+=
delta_t_ms
ftop
.
_avg_delta_t_ms_div
+=
1
@staticmethod
def
delta_t_capture
():
if
ftop
.
_avg_delta_t_ms_div
==
0
:
ftop
.
_avg_delta_t_ms
=
0
else
:
ftop
.
_avg_delta_t_ms
=
ftop
.
_avg_delta_t_ms_acc
/
ftop
.
_avg_delta_t_ms_div
ftop
.
_max_delta_t_ms
=
ftop
.
_max_delta_t_ms_new
ftop
.
_min_delta_t_ms
=
ftop
.
_min_delta_t_ms_new
ftop
.
_avg_delta_t_ms_acc
=
0
ftop
.
_avg_delta_t_ms_div
=
0
ftop
.
_max_delta_t_ms_new
=
-
99999
ftop
.
_min_delta_t_ms_new
=
99999
ftop
.
_delta_t_ms_throwaway
=
True
@staticmethod
def
make_report
():
"""
...
...
@@ -54,6 +99,14 @@ class ftop:
for
task
in
snap
.
tasks
:
ftop_str
+=
"
\n
"
+
ftop
.
make_task_report
(
task
)
# do another run to remove self from cpu load measurement
ftop
.
delta_t_capture
()
ftop_str
+=
"
\n\n
[think rate]
\n
"
ftop_str
+=
"
avg:
"
+
str
(
ftop
.
_avg_delta_t_ms
)
+
"
ms
"
ftop_str
+=
"
min:
"
+
str
(
ftop
.
_min_delta_t_ms
)
+
"
ms
"
ftop_str
+=
"
max:
"
+
str
(
ftop
.
_max_delta_t_ms
)
+
"
ms
"
_
=
sys_kernel
.
scheduler_snapshot
()
return
ftop_str
...
...
@@ -100,9 +153,9 @@ class ftop:
else
:
task_str
+=
"
???
"
task_str
+=
"
|
"
aff
=
str
(
task
.
core_affinity
)
if
aff
==
"
3
"
:
aff
=
"
1+2
"
aff
=
str
(
task
.
core_affinity
-
1
)
if
aff
==
"
2
"
:
aff
=
"
0+1
"
else
:
aff
=
"
"
+
aff
task_str
+=
aff
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment