bltk (1) - Linux Manuals

bltk: tool kit is used to measure battery life and performance under


bltk - tool kit is used to measure battery life and performance under different workloads on Linux.


bltk [-hVvaNAcCBXswiIRDPGOYZyQzxul] [-t sec] [-r results_dir] [-m {0,1}] [-U path] [-g setup] [-J pid] [-T time] [-F file] [-W app] [-L title] [-K comment] [-e app] [-E app] [-p percent] [-d percent] [-o {0,1,2}] [-q file] [-b percent] [-f command] [-k num]


The BLTK can be used with various workloads to simulate different types of laptop usage. The following workloads are currently implemented:
Idle workload
collect statistics only (mostly used to measure battery life)
Developer workload
simulates code development in Linux environment
Reader workload
simulates text reading on laptop (mostly used to measure battery life)
Playback workload
simulates laptop entertaining usage (produces constant average load on the system)
3d game workload
simulates 3D-gaming on laptop (Unreal Tournament demo is used to create this workload)
Office Activity workload
simulates laptop usage for different office activities (based on office suit)

When started, test collects platform/OS initial info and if it's OK prompts user to unplug AC adapter. After cable unplugged, workload started. During the workload execution test harness collects various system information (e.g. CPU load, battery drain, display state, CPU frequency, etc...). After battery completely discharged user should plug the AC cable back and boot the system. When it is done the results are available.

There are several tools for result evaluation. They allow creating report file for test run, to gather results into a table for system comparison, and to draw graphs for different purposes.

Results - after the battery dies and the system booted back, the results are available. They are stored in 'bltk/<wokload_name>.results' directory (or in the directory, specified in -r option). If target directory already exist the tool will add numeric extension to its name (.001, .002 e.t.c.) The results consist of the following files (see below for detailed description):

In this file 'bltk' command with arguments are stored
infoi<N>.log (info1.log, info2.log, ...)
Here initial system info is stored. Another two files (info1.log, info2.log) contains system info after AC adapter was unplugged, and on 5% battery capacity remained. They are used to check whether any changes occurred during test execution.
Statistics generated by bltk harness are stored here. One statistic line generated per 1 minute (or per number of seconds, specified in -t option).
When -k 1 is used, the system information is stored under this directory. The numbers at the end of directory name have the following meanings:
initial system info
system info after AC adapter was unplugged
system info on 5% battery capacity remained
this file contains version information
the file contains info about workload
There are stored any error messages
Contains warnings
Strings generated by USR1, USR2 signals from workload. String format is the same as in the 'stat.log' file.
when test fails


-h, --help
Help; display a help message and then exits.
-V, --version
Version; display version number and then exits.
-v, --verbose
-a, --ac-ignore
ignore ac adapter state check (on/off)
-N, --time-stat-ignore
disable time statistics
-A, --ac-stat-ignore
disable ac adapter statistics
-c, --cpu-stat-ignore
disable cpu load statistics
-C, --cpu-add-stat-ignore
disable cpu additional statistics
-B, --bat-stat-ignore
disable battery statistics
-X, --disp-stat-ignore
Disable display state statistics
-H, --hd-stat-ignore
disable hard drive state statistics
-t seconds, --report-time seconds
frequency of report line generation in seconds
-r results_dir, --results results_dir
name of results directory
-s, --stat-ignore
disable all statistics
-w, --work-stat-ignore
disable workload statistics
-m {0,1}, --stat-memory {0,1}
dump statistics directly on disk or keep in memory, if statistics are kept in memory, it will be dumpedon disk at low battery capacity, or at the test end
memory (by default)
-i, --idle-test
idle test
-I, --idle
idle workload
-R, --reader
reader workload
-D, --developer
developer workload
playback workload
-G, --game
3D-gaming workload
-O, --office
office productivity workload
-U path, --user path
user-specified workload (path to executable)
-g routine, --user-init routine
setup routines for user-specified workload
-Y, --discharging
battery discharge mode
-Z, --charging
battery charge mode
-J pid, --jobs pid
make jobs number
-T seconds, --time seconds
workload time
-F, --file
workload file
-W, --prog
workload program         name of player (player workload, default 'mplayer')
        name of web-browser (reader workload, default 'firefox')
-L, --title
title of web-browser document
-M, --manufacturer
enable time and cpu load statistics only
-S, --show
demo/debug mode, one iteration only
-n, --show-num
demo/debug mode, 'show-num' iteration
-j, --show-cnt
demo/debug mode, 'show-cnt' sub iteration
-T seconds, --show-time seconds
demo/debug mode, debug time
-K comment, --comment comment
user comment for report
-e application, --init-prog application
run program before test starting
-E application, --init-prog-su application
run program as root before test starting
-y, --yes
auto 'yes' answer to all questions
-Q, --debug
debug workload (see cpu-load and disp-load below)
-p percent, --cpu-load percent
debug workload, the time cpu loaded in percent
-d percent, --disp-load percent
Debug workload, the time display on in percent
-o {0,1,2}, --output {0,1,2}
direct workload output:
file and console
/dev/null, other - console
-z, --debug-vars
debug option
-q file, --debug-vars-file file
debug option - debug variables file
-x, --dpms
debug option - try to use display power management
-u, --spy
debug option - try to find out unexpected system activity
-l, --simul-laptop
debug option, laptop simulation
-b percent, --bat-sync percent
debug option, battery critical capacity, default 5%
-f command, --user-field command
the output of user-specified command being added to statistics Example:         -f "cat /proc/acpi/thermal_zone/TZ01/temperature | awk '{print 2}'"
-k num, --stat-system num
debug option, save system files, default 0


bltk -I or --idle
idle workload running
bltk -R or --reader
reader workload running
bltk -D or --developer
developer workload running
bltk -O or --office
office workload running
bltk -P or --player
player workload running
bltk -G or --game
game workload running
bltk -i or --idle-test -T 60 -t 1
idle test running for 60 seconds, stats interval 1 second


Konstantin Karasyov   <konstantin.a.karasyov [at]>
Vladimir Lebedev      <vladimir.p.lebedev [at]>


bltk.conf(5), bltk_report(1)