annotate lib/standardservice/scalessetup.py @ 1727:23e6154e6c11

file moves
author drewp@bigasterisk.com
date Tue, 20 Jun 2023 23:26:24 -0700
parents 12ed824faa6c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
587
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
1 import time
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
2 from greplin import scales
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
3 from twisted.internet import task
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
4 import psutil
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
5
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
6 def gatherProcessStats():
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
7 procStats = scales.collection('/process',
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
8 scales.DoubleStat('time'),
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
9 scales.DoubleStat('cpuPercent'),
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
10 scales.DoubleStat('memMb'),
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
11 )
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
12 proc = psutil.Process()
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
13 lastCpu = [0.]
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
14 def updateTimeStat():
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
15 now = time.time()
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
16 procStats.time = round(now, 3)
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
17 if now - lastCpu[0] > 3:
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
18 procStats.cpuPercent = round(proc.cpu_percent(), 6) # (since last call)
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
19 lastCpu[0] = now
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
20 procStats.memMb = round(proc.memory_info().rss / 1024 / 1024, 6)
12ed824faa6c new scalessetup
drewp@bigasterisk.com
parents:
diff changeset
21 task.LoopingCall(updateTimeStat).start(.1)