Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1094)

Side by Side Diff: infra/services/sysmon/system_metrics.py

Issue 2111473003: Issue 623854: Support unit annotations in ts_mon metrics (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Split off go changes to a separate CL: https://codereview.chromium.org/2125943003 Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « infra/services/sysmon/puppet_metrics.py ('k') | infra_libs/ts_mon/__init__.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import errno 5 import errno
6 import os 6 import os
7 import logging 7 import logging
8 import time 8 import time
9 9
10 import psutil 10 import psutil
11 11
12 from infra_libs import ts_mon 12 from infra_libs import ts_mon
13 13
14 14
15 cpu_count = ts_mon.GaugeMetric('dev/cpu/count', 15 cpu_count = ts_mon.GaugeMetric('dev/cpu/count',
16 description='Number of CPU cores.') 16 description='Number of CPU cores.')
17 cpu_time = ts_mon.FloatMetric('dev/cpu/time', 17 cpu_time = ts_mon.FloatMetric('dev/cpu/time',
18 description='percentage of time spent by the CPU' 18 description='percentage of time spent by the CPU'
19 ' in different states.') 19 ' in different states.')
20 20
21 disk_free = ts_mon.GaugeMetric('dev/disk/free', 21 disk_free = ts_mon.GaugeMetric('dev/disk/free',
22 description='Available bytes on disk partition.') 22 description='Available bytes on disk partition.',
23 units=ts_mon.MetricsDataUnits.BYTES)
23 disk_total = ts_mon.GaugeMetric('dev/disk/total', 24 disk_total = ts_mon.GaugeMetric('dev/disk/total',
24 description='Total bytes on disk partition.') 25 description='Total bytes on disk partition.',
26 units=ts_mon.MetricsDataUnits.BYTES)
25 27
26 # inode counts are only available on Unix. 28 # inode counts are only available on Unix.
27 if os.name == 'posix': # pragma: no cover 29 if os.name == 'posix': # pragma: no cover
28 inodes_free = ts_mon.GaugeMetric('dev/inodes/free', 30 inodes_free = ts_mon.GaugeMetric('dev/inodes/free',
29 description='Number of available inodes on ' 31 description='Number of available inodes on '
30 'disk partition (unix only).') 32 'disk partition (unix only).')
31 inodes_total = ts_mon.GaugeMetric('dev/inodes/total', 33 inodes_total = ts_mon.GaugeMetric('dev/inodes/total',
32 description='Number of possible inodes on ' 34 description='Number of possible inodes on '
33 'disk partition (unix only)') 35 'disk partition (unix only)')
34 36
35 mem_free = ts_mon.GaugeMetric('dev/mem/free', 37 mem_free = ts_mon.GaugeMetric('dev/mem/free',
36 description='Amount of memory available to a ' 38 description='Amount of memory available to a '
37 'process (in Bytes). Buffers are considered ' 39 'process (in Bytes). Buffers are considered '
38 'free memory.') 40 'free memory.',
41 units=ts_mon.MetricsDataUnits.BYTES)
39 42
40 mem_total = ts_mon.GaugeMetric('dev/mem/total', 43 mem_total = ts_mon.GaugeMetric('dev/mem/total',
41 description='Total physical memory in Bytes.') 44 description='Total physical memory in Bytes.',
45 units=ts_mon.MetricsDataUnits.BYTES)
42 46
43 START_TIME = psutil.boot_time() 47 START_TIME = psutil.boot_time()
44 net_up = ts_mon.CounterMetric('dev/net/bytes/up', start_time=START_TIME, 48 net_up = ts_mon.CounterMetric('dev/net/bytes/up', start_time=START_TIME,
45 description='Number of bytes sent on interface.') 49 description='Number of bytes sent on interface.',
50 units=ts_mon.MetricsDataUnits.BYTES)
46 net_down = ts_mon.CounterMetric('dev/net/bytes/down', start_time=START_TIME, 51 net_down = ts_mon.CounterMetric('dev/net/bytes/down', start_time=START_TIME,
47 description='Number of Bytes received on ' 52 description='Number of Bytes received on '
48 'interface.') 53 'interface.',
54 units=ts_mon.MetricsDataUnits.BYTES)
49 net_err_up = ts_mon.CounterMetric('dev/net/err/up', start_time=START_TIME, 55 net_err_up = ts_mon.CounterMetric('dev/net/err/up', start_time=START_TIME,
50 description='Total number of errors when ' 56 description='Total number of errors when '
51 'sending (per interface).') 57 'sending (per interface).')
52 net_err_down = ts_mon.CounterMetric('dev/net/err/down', start_time=START_TIME, 58 net_err_down = ts_mon.CounterMetric('dev/net/err/down', start_time=START_TIME,
53 description='Total number of errors when ' 59 description='Total number of errors when '
54 'receiving (per interface).') 60 'receiving (per interface).')
55 net_drop_up = ts_mon.CounterMetric('dev/net/drop/up', start_time=START_TIME, 61 net_drop_up = ts_mon.CounterMetric('dev/net/drop/up', start_time=START_TIME,
56 description='Total number of outgoing ' 62 description='Total number of outgoing '
57 'packets that have been dropped.') 63 'packets that have been dropped.')
58 net_drop_down = ts_mon.CounterMetric('dev/net/drop/down', start_time=START_TIME, 64 net_drop_down = ts_mon.CounterMetric('dev/net/drop/down', start_time=START_TIME,
59 description='Total number of incoming ' 65 description='Total number of incoming '
60 'packets that have been dropped.') 66 'packets that have been dropped.')
61 67
62 disk_read = ts_mon.CounterMetric('dev/disk/read', start_time=START_TIME, 68 disk_read = ts_mon.CounterMetric('dev/disk/read', start_time=START_TIME,
63 description='Number of Bytes read on disk.') 69 description='Number of Bytes read on disk.',
70 units=ts_mon.MetricsDataUnits.BYTES)
64 disk_write = ts_mon.CounterMetric('dev/disk/write', start_time=START_TIME, 71 disk_write = ts_mon.CounterMetric('dev/disk/write', start_time=START_TIME,
65 description='Number of Bytes written on ' 72 description='Number of Bytes written on '
66 'disk.') 73 'disk.',
74 units=ts_mon.MetricsDataUnits.BYTES)
67 75
68 uptime = ts_mon.GaugeMetric('dev/uptime', 76 uptime = ts_mon.GaugeMetric('dev/uptime',
69 description='Machine uptime, in seconds.') 77 description='Machine uptime, in seconds.',
78 units=ts_mon.MetricsDataUnits.SECONDS)
70 79
71 proc_count = ts_mon.GaugeMetric('dev/proc/count', 80 proc_count = ts_mon.GaugeMetric('dev/proc/count',
72 description='Number of processes currently ' 81 description='Number of processes currently '
73 'running.') 82 'running.')
74 load_average = ts_mon.FloatMetric('dev/proc/load_average', 83 load_average = ts_mon.FloatMetric('dev/proc/load_average',
75 description='Number of processes currently ' 84 description='Number of processes currently '
76 'in the system run queue.') 85 'in the system run queue.')
77 86
78 # tsmon pipeline uses backend clocks when assigning timestamps to metric points. 87 # tsmon pipeline uses backend clocks when assigning timestamps to metric points.
79 # By comparing point timestamp to the point value (i.e. time by machine's local 88 # By comparing point timestamp to the point value (i.e. time by machine's local
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 except OSError: # pragma: no cover 185 except OSError: # pragma: no cover
177 pass 186 pass
178 else: 187 else:
179 load_average.set(avg1, fields={'minutes': 1}) 188 load_average.set(avg1, fields={'minutes': 1})
180 load_average.set(avg5, fields={'minutes': 5}) 189 load_average.set(avg5, fields={'minutes': 5})
181 load_average.set(avg15, fields={'minutes': 15}) 190 load_average.set(avg15, fields={'minutes': 15})
182 191
183 192
184 def get_unix_time(): 193 def get_unix_time():
185 unix_time.set(int(time.time() * 1000)) 194 unix_time.set(int(time.time() * 1000))
OLDNEW
« no previous file with comments | « infra/services/sysmon/puppet_metrics.py ('k') | infra_libs/ts_mon/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698