Novaordis-linux: Difference between revisions
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
Linux monitoring and management functionality: | Linux monitoring and management functionality: | ||
* /proc/stat parsing. | * /proc/stat parsing. | ||
* a collector that can read arbitrary files at high rate and cache them in memory - useful for sampling individual processes: | * a [[#Statistics_Collector|collector]] that can read arbitrary files at high rate and cache them in memory - useful for sampling individual processes. | ||
==Statistics Collector== | |||
The library includes a CPU statistics collector (/proc/stat, proc/<pid>/stat, etc.) that periodically reads O/S level statistics for the entire system and for a process specified via a | |||
regular expression, and displays those statistics at stdout or writes them in a file. To stop the collection, Ctrl-C. | |||
Usage: | |||
java -jar collector.jar [--output-file=/tmp/cpu.csv] [--process-regex='<regex>'] [--sampling-interval-ms=10] | java -jar collector.jar [--output-file=/tmp/cpu.csv] [--process-regex='<regex>'] [--sampling-interval-ms=10] | ||
Example | |||
java -jar collector.jar --process-regex=' -server ' --sampling-interval-ms=50 | |||
It is possible to test the regular expression to make sure it correctly selects the process without collecting any statistics: | |||
java -jar collector.jar --process-regex='...' find | |||
=GitHub= | =GitHub= |
Revision as of 19:27, 2 March 2018
Internal
Overview
Linux monitoring and management functionality:
- /proc/stat parsing.
- a collector that can read arbitrary files at high rate and cache them in memory - useful for sampling individual processes.
Statistics Collector
The library includes a CPU statistics collector (/proc/stat, proc/<pid>/stat, etc.) that periodically reads O/S level statistics for the entire system and for a process specified via a regular expression, and displays those statistics at stdout or writes them in a file. To stop the collection, Ctrl-C.
Usage:
java -jar collector.jar [--output-file=/tmp/cpu.csv] [--process-regex='<regex>'] [--sampling-interval-ms=10]
Example
java -jar collector.jar --process-regex=' -server ' --sampling-interval-ms=50
It is possible to test the regular expression to make sure it correctly selects the process without collecting any statistics:
java -jar collector.jar --process-regex='...' find
GitHub
Maven
<dependency> <groupId>io.novaordis.linux</groupId> <artifactId>novaordis-linux</artifactId> <version>${novaordis.linux.version}</version> </dependency>