@@ -14,6 +14,7 @@ probe the system and reports on its overall configuration.
14
14
15
15
Image: [ Midjourney] ( https://midjourney.com/ ) , [ CC BY-NC 4.0] ( https://creativecommons.org/licenses/by-nc/4.0/legalcode )
16
16
17
+
17
18
## Subcommands
18
19
19
20
Sonar has two subcommands, ` ps ` and ` sysinfo ` . Both collect information about the system and print
@@ -35,6 +36,7 @@ Options:
35
36
-V, --version Print version
36
37
```
37
38
39
+
38
40
## Versions and release procedures
39
41
40
42
### Version numbers
@@ -51,6 +53,7 @@ itself changes. For example, v0.8.0 both added fields and stopped printing fiel
51
53
The bugfix version is updated for changes that do not alter the output format per se but that might
52
54
affect the output nevertheless, ie, most changes not covered by changes to the minor version number.
53
55
56
+
54
57
### Release branches, uplifts and backports
55
58
56
59
The following branching scheme is new with v0.12.x.
@@ -87,15 +90,18 @@ With the branches come some additional rules for how to move patches around:
87
90
88
91
Version in progress, no changes as of yet.
89
92
93
+
90
94
### Changes in v0.12.x (on ` release_0_12 ` )
91
95
92
96
** System load data introduced** . Added the ` load ` field which is printed with one of the records
93
97
per sonar invocation. (v0.12.0)
94
98
99
+
95
100
### Changes in v0.11.x
96
101
97
102
** Better ` ps ` data** . More data points. (v0.11.0)
98
103
104
+
99
105
### Changes in v0.10.x
100
106
101
107
** Less output** . Removed the ` cores ` and ` memtotalkib ` fields, as they are supplied by `sonar
@@ -105,6 +111,7 @@ sysinfo`. (v0.10.0)
105
111
--batchless`) has changed from being the pid of the process below the session leader to being the
106
112
more conventional process group id. In most situations this won't make a difference. (v0.10.1)
107
113
114
+
108
115
### Changes in v0.9.x
109
116
110
117
** Sysinfo introduced** . The ` sonar sysinfo ` subcommand was introduced to extract information about
@@ -113,6 +120,7 @@ the system itself.
113
120
** More help when information is missing** . The user name field now includes the UID if the user
114
121
name can't be obtained from system databases but the UID is known. (v0.9.0)
115
122
123
+
116
124
### Changes in v0.8.x
117
125
118
126
** Better ` ps ` data** . More clarifications, more data points. (v0.8.0)
@@ -121,6 +129,7 @@ name can't be obtained from system databases but the UID is known. (v0.9.0)
121
129
122
130
** Less ` ps ` output** . Fields that hold default values are not printed. (v0.8.0)
123
131
132
+
124
133
### Changes in v0.7.x
125
134
126
135
** Improved ` ps ` process filtering.** The filters used in previous versions (minimum CPU
@@ -144,6 +153,7 @@ of fields and the use of default values.
144
153
simply-created sonar data, process it and present it in specialized ways, removing those burdens
145
154
from sonar.
146
155
156
+
147
157
### Changes in v0.6.0
148
158
149
159
** This tool focuses on how resources are used** . What is actually running. Its
@@ -242,17 +252,20 @@ The base-45 digits of the value `897` are (in little-endian order) 42 and 19, an
242
252
this value is thus ` &J ` . As the initial character is from a different character set, no explicit
243
253
separator is needed in the array - the initial digit acts as a separator.
244
254
255
+
245
256
### Version 0.11.0 ` ps ` output format
246
257
247
258
Version 0.11.0 adds one field:
248
259
249
260
` ppid ` (optional, default "0"): The parent process ID of the job, a positive integer.
250
261
262
+
251
263
### Version 0.10.0 ` ps ` output format
252
264
253
265
The fields ` cores ` and ` memtotalkib ` were removed, as they were unused by all clients and are
254
266
supplied by ` sonar sysinfo ` for clients that need that information.
255
267
268
+
256
269
### Version 0.9.0 ` ps ` output format
257
270
258
271
Version 0.9.0 documents that the ` user ` field * in previous versions* could have the value
@@ -263,6 +276,7 @@ Version 0.9.0 extends the encoding of the `user` field: it can now (also) have t
263
276
` _noinfo_<uid> ` where ` <uid> ` is the user ID, if user information was unobtainable for any reason
264
277
but we have a UID. Clients could be able to handle both this encoding and the older encoding.
265
278
279
+
266
280
### Version 0.8.0 ` ps ` output format
267
281
268
282
Fields with default values (zero in most cases, or the empty set of GPUs) are not printed.
@@ -278,6 +292,7 @@ a nonnegative integer, with 0 meaning "no data available".
278
292
Version 0.8.0 also clarifies that the existing ` cpukib ` field reports virtual data+stack memory, not
279
293
resident memory nor virtual total memory.
280
294
295
+
281
296
### Version 0.7.0 ` ps ` output format
282
297
283
298
Each field has the syntax ` name=value ` where the names are defined below. Fields are separated by
@@ -413,6 +428,7 @@ VMs) once every 24 hours, and to aggregate the information in some database.
413
428
414
429
The ` sysinfo ` subcommand currently has no options.
415
430
431
+
416
432
### Version 0.9.0 ` sysinfo ` format
417
433
418
434
The JSON structure has these fields:
@@ -429,6 +445,7 @@ Numeric fields that are zero may or may not be omitted by the producer.
429
445
430
446
Note the v0.9.0 ` sysinfo ` output does not carry a version number.
431
447
448
+
432
449
## Collect and analyze results
433
450
434
451
Sonar data are used by two other tools:
@@ -439,6 +456,7 @@ Sonar data are used by two other tools:
439
456
provides dashboards, interactive and batch queries, and reporting of system activity, policy violations,
440
457
hung jobs, and more.
441
458
459
+
442
460
## Authors
443
461
444
462
- [ Radovan Bast] ( https://bast.fr )
@@ -497,6 +515,7 @@ of processes.
497
515
498
516
Optionally, ` sonar ` will use a lockfile to avoid a pile-up of processes.
499
517
518
+
500
519
## Dependencies and updates
501
520
502
521
Sonar runs everywhere and all the time, and even though it currently runs without privileges it
@@ -514,6 +533,7 @@ attack. There are some rules:
514
533
515
534
There is a useful discussion of these matters [ here] ( https://research.swtch.com/deps ) .
516
535
536
+
517
537
## How we run sonar on a cluster
518
538
519
539
We let cron execute the following script every 5 minutes on every compute node:
0 commit comments