Recently, I've started to use Datadog. It has nice features, but I have also found some annoying lacks. One of them is no easy way to prepare a graph with a stack of different series in one graph, for example nice representation of CPU time spent in different states.
Luckily, as you can see above it can be done. You just need to change some things in JSON and have something similar to what I got below. The main point is to have all dataseries in the argument of one "q".
{
"viz": "timeseries",
"requests": [
{
"q": "avg:system.cpu.system{host:host-01}, avg:system.cpu.user{,host:host-01}, avg:system.cpu.iowait{host:host-01}, avg:system.cpu.stolen{host:host-01}, avg:system.cpu.idle{host:host-01}",
},
"type": "area"
],
"events": []
}
Kind of my extended memory with thoughts mostly on Linux and related technologies. You might also find some other stuff, a bit of SF, astronomy as well as old (quantum) chemistry posts.
Search This Blog
Thursday, January 08, 2015
Tuesday, January 06, 2015
Count processes per state per application
In previous posts (here and here) I discussed how to count thread in a given state for a give process. Recently, I had another problem - I needed to count number of processes per application per state. My previous commands wouldn't work, so I wrote an alternative version.
There is not PID and args are included in the output list as a whole. worried for number of processes.
One more thought. Dropping "
while [ 1 ]; do date; cat /proc/loadavg; ps -Leo state,args | awk ' $1 ~ /(D|R)/ {state[$0]++} \ END{ for (j in state) {printf "%s - %d\n", j, state[j]}}' | sort -k 2; echo "---"; sleep 5; done
There is not PID and args are included in the output list as a whole. worried for number of processes.
One more thought. Dropping "
$1 ~ /(D|R)/
" can be useful in case of problem with total number of processes. But then the whole command should be a bit modified, so the results are sorted by number of processes. Simplified version would look like this one:while [ 1 ]; do ps -Leo state,args | awk ' $1 ~ /(D|R)/ {state[$0]++} \ END{ for (j in state) {printf "%d - %s\n", state[j], j}}' | sort -n; echo "---"; sleep 5; done
Subscribe to:
Posts (Atom)