["--fan_path"]='/proc/acpi/ibm/fan'
["--pulseaudio_sink"]='0'
["--interval_datetime"]=1
+ ["--interval_procs"]=1
["--interval_brightness"]=1
["--interval_weather"]=$(( 30 * 60)) # 30 minutes
["--interval_mpd"]=1
fork_watcher "$pipe" "$bin" "khatus_sensor_energy $bin"
fork_watcher "$pipe" "$bin" "khatus_sensor_devices $bin"
fork_poller "${opts['--interval_datetime']}" "$perf" "$pipe" "$bin" khatus_sensor_datetime
+ fork_poller "${opts['--interval_procs']}" "$perf" "$pipe" "$bin" "khatus_sensor_procs $bin"
fork_poller "${opts['--interval_brightness']}" "$perf" "$pipe" "$bin" "$cmd_sens_screen_brightness"
fork_poller "${opts['--interval_weather']}" "$perf" "$pipe" "$bin" "$cmd_sens_weather"
fork_poller "${opts['--interval_mpd']}" "$perf" "$pipe" "$bin" "$cmd_sens_mpd"
split(src_and_key, parts, SUBSEP)
src = parts[1]
key = parts[2]
+ val = _cache[src, key]
unused_for = cache_get_time() - _cache_atime[src, key]
if (unused_for > GC_Interval) {
print_msg_info(\
"cache_gc",
- sprintf("Deleting unused data SRC=%s KEY=%s", src, key) \
+ sprintf(\
+ "Deleting unused data SRC=%s KEY=%s VAL=%s",
+ src, key, val\
+ ) \
)
delete _cache[src, key]
}
position[++i] = ""
position[++i] = make_status_energy()
position[++i] = make_status_mem()
+ position[++i] = make_status_procs()
position[++i] = make_status_cpu()
position[++i] = make_status_disk()
position[++i] = make_status_net()
return sprintf("M=%s", status)
}
+function make_status_procs() {
+ src = "khatus_sensor_procs"
+ all = cache_get_fmt_def(src, "total_procs" , 15, "%d")
+ r = cache_get_fmt_def(src, "total_per_state" Kfs "R", 15, "%d", "0")
+ d = cache_get_fmt_def(src, "total_per_state" Kfs "D", 15, "%d", "0")
+ t = cache_get_fmt_def(src, "total_per_state" Kfs "T", 15, "%d", "0")
+ i = cache_get_fmt_def(src, "total_per_state" Kfs "I", 15, "%d", "0")
+ z = cache_get_fmt_def(src, "total_per_state" Kfs "Z", 15, "%d", "0")
+ return sprintf("P=[%s %sr %sd %st %si %sz]", all, r, d, t, i, z)
+}
+
function make_status_cpu( l, t, f) {
l_src = "khatus_sensor_loadavg"
t_src = "khatus_sensor_temperature"
--- /dev/null
+#! /usr/bin/awk -f
+
+BEGIN {
+ OFS = "|"
+ Kfs = ":"
+}
+
+{
+ pid = $1
+ state = $2
+ rss = $3
+ command_i = index($0, $4)
+ command = substr($0, command_i, length($0) - (command_i - 1))
+
+ Pids[pid] = 1
+ Total_Per_State[state]++
+ print("state" Kfs pid, state)
+ print("rss" Kfs pid, rss)
+ print("command" Kfs pid, command)
+}
+
+END {
+ print("total_procs", length(Pids))
+ for (state in Total_Per_State) {
+ print("total_per_state" Kfs state, Total_Per_State[state])
+ }
+}