Pretty-print values in the PCP DynamicMeter code

Several improvements to the way values are displayed in the
PCP platform DynamicMeter implementation:
- handle the initial 'caption' setting as with regular meters,
  this required a new meter callback because we no longer have
  just a single meter caption for the DynamicMeter case
- if no label is provided for a metric in a configuration file
  use the short form metric name as a fallback
- honour the suffix setting in the configuration file
- convert metric values to the canonical units for htop (kbyte
  and seconds), and use Meter_humanUnit when it makes sense to
  do so.

Also improves the handling of fatal string error messages in a
couple of places, thanks to BenBE for the review feedback.
This commit is contained in:
Nathan Scott
2021-07-07 16:57:03 +10:00
parent 149774209b
commit 01f5b89278
8 changed files with 129 additions and 54 deletions

View File

@ -6,10 +6,8 @@
caption = MySQL I/O
recv.metric = mysql.status.bytes_received
recv.color = green
recv.label = recv
sent.metric = mysql.status.bytes_sent
sent.color = blue
sent.label = sent
[mysql_keys]
caption = MySQL keys

View File

@ -18,4 +18,3 @@ bounce.color = red
bounce.label = bnc
hold.metric = sum(postfix.queues.hold)
hold.color = yellow
hold.label = hold

View File

@ -13,10 +13,8 @@ caption = Redis mem
description = Redis memory
lua.metric = redis.used_memory_lua
lua.color = magenta
lua.label = lua:
used.metric = redis.used_memory
used.color = blue
used.label = used:
[redisclient]
caption = Redis clients

View File

@ -13,7 +13,6 @@ active.color = blue
active.label = act
syn.metric = network.tcpconn.syn_sent + network.tcpconn.syn_recv + network.tcpconn.last_ack
syn.color = cyan
syn.label = syn
wait.metric = network.tcpconn.time_wait
wait.color = red
wait.label = tim