A Python parser and visualizer for ThrottleStop logs.
tslogs is a Python library to parse, browse, export and visualize ThrottleStop log files.
ThrottleStop is a small application designed to monitor for and correct the three main types of CPU throttling that are being used on many laptop computers.
Official Thread - here
Comprehensive Guide - here
TODO
Select the `Log File` checkbox | Click on `Options` button and Select the Folder where you want logs to be saved. |
Installing with pip
is the easiest:
# pip install tslogs # if you have the admin rights
$ pip install tslogs --user # install it in a user-site directory
Finally, a development version can be installed from GitHub
using setuptools
& pip
$ git clone https://github.com/ashutoshvarma/tslogs
$ cd tslogs
# pip install .
$ tslogs --help
usage: tslogs [-h] [--json | --plot ] [--dates START END] [--interval INTERVAL] [--smooth SMOOTH] [--output FILE] [--indent VALUE] [--quiet]
[--version]
paths paths
positional arguments:
paths One or more paths to log dir or log files.
optional arguments:
-h, --help show this help message and exit
--json, -j dump all parsed log data.
--plot, -p Plot given the logs attributes (default: None). Allowed values are {multi, c0, clock_mod, chip_mod, battery_mw,
cpu_temp, gpu_mhz, gpu_temp, vid, power}
--quiet, -q Run in silent mode
--version, -v show program's version number and exit
Filter:
--dates, -d START END
Datetime range to filter (in ISO format, yyyy-mm-dd HH:MM:SS)
Plot Options:
--interval, -I INTERVAL
Plot data frequency in seconds (default: 60)
--smooth, -S SMOOTH Span interval for smoothing the graph, if data frequency is very high using increasing this with 'interval' can
yield smooth graph (default: 2)
Output:
--output, -o FILE Output file path, default is '-' (stdout)
--indent VALUE indent value for json output, default is 4
-
This will plot
cpu_temp
,multi
(clock speed in GHz),power
(in W) andc0
from logs between time 16:00 to 16:15 in2020-07-28.txt
tslogs .\tests\logs\2020-07-28.txt -p cpu_temp multi power --smooth 2 --interval 1 -d "2020-07-28 16:00:00" "2020-07-28 16:15:00"
TODO
See parse_logs()
and LogLine
in parse.py
. For more references
see the CLI implementation in cli.py
This library is provided under the open-source MIT license.