Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 48 additions & 4 deletions content/docs/self.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,22 +31,66 @@ Running the command <tt>argusctl status</tt> will display information about the

Most interesting are the percent idle (the above argus is doing very little work and quite idle), and the monrate, the number of tests argus is doing per second. These are both given as 1, 5, and 15 minute averages.

## argusctl self

Running the command <tt>argusctl self</tt> will display additional information about the running argus:

<pre> 200 OK
cpurate: 0.004958954098553818
cpurate15: 0.0051087599999999995
cpurate5: 0.005105664717112987
currfd: 14
darpgraphdrops: 0
darpgraphqueue: 0
goroutines: 142
idlerate: 0.9950410459014464
idlerate15: 0.9948912400000002
idlerate5: 0.9948943352828871
mem.alloc: 17047992
mem.stack: 2260992
mem.sys: 44194832
monrate: 37.304954657802796
monrate15: 37.140000000000015
monrate5: 37.135964140187056
notifies: 0
objects: 726
pingidle: 8
pingqueue: 16
resolvdrops: 0
resolvidle: 2
resolvqueries: 160
resolvqueue: 0
resolvtimeouts: 0
runs: 13274
runsexpress: 2440
runsprio: 10613
schedqueue: 0
services: 303
uptime: 350
workdefer: 0
workdeferexpress: 0
workdeferprio: 2230
workidle: 112
workqueue: 0
workqueueexpress: 0
workqueueprio: 0
</pre>

## Service Self ...

Argus also exports various data to itself as a Service, so you can do testing and graphing. Some useful examples:

<pre> Group "Myself" {
graph: yes
Service Self/idle {
Service Self/idlerate {
title: Percent Idle
calc: ave-rate
scale: 0.01
expr: x * 100
# let someone know when it is time to upgrade h/w
minvalue: 20
messagedn: time to buy faster server
}

Service Self/tested {
Service Self/monrate {
title: Monitoring Rate
ylabel: tests per second
calc: ave-rate
Expand Down