Not documented
Low-level information of the CPU utilization for a single system with potentially multiple cores.
This message is currently designed closely along the information available in the Linux proc filesystem. So it is probably only directly useful for Linux systems.
Code author: Jens-Christian Seele <jseele@techfak.uni-bielefeld.de>
Code author: Johannes Wienke <jwienke@techfak.uni-bielefeld.de>
Type : | ASCII-STRING |
---|
Name of the host being monitored.
Type : | rst.devices.generic.MemoryState |
---|
Information about the memory usage.
Type : | rst.devices.generic.CpuState |
---|
Information about the CPU usage.
message HostInformation {
/**
* Name of the host being monitored.
*/
optional string hostname = 1;
/**
* Information about the memory usage.
*/
optional MemoryState memory_state = 2;
/**
* Information about the CPU usage.
*/
optional CpuState cpu_state = 3;
}
Low-level information of the CPU utilization for a single system with potentially multiple cores.
This message is currently designed closely along the information available in the Linux proc filesystem. So it is probably only directly useful for Linux systems.
Code author: Jens-Christian Seele <jseele@techfak.uni-bielefeld.de>
Code author: Johannes Wienke <jwienke@techfak.uni-bielefeld.de>
Type : | UINT32 |
---|
Unit: microsecond
The length of one measurement tick for the individual CPU counters.
Type : | array of rst.devices.generic.CpuState.Cpu |
---|
An entry for each (virtualized) CPU or core of a multicore system.
Type : | FLOAT32 |
---|
Unit: number
Constraint: value>=0
Load average for one minute as defined by the linux kernel, e.g. in man proc: The first three fields in this file are load average figures giving the number of jobs in the run queue (state R) or waiting for disk I/O (state D) averaged over 1, 5, and 15 minutes
Type : | FLOAT32 |
---|
Unit: number
Constraint: value>=0
Load average for 5 minutes as defined by the linux kernel, e.g. in man proc: The first three fields in this file are load average figures giving the number of jobs in the run queue (state R) or waiting for disk I/O (state D) averaged over 1, 5, and 15 minutes
Type : | FLOAT32 |
---|
Unit: number
Constraint: value>=0
Load average for 15 minute as defined by the linux kernel, e.g. in man proc: The first three fields in this file are load average figures giving the number of jobs in the run queue (state R) or waiting for disk I/O (state D) averaged over 1, 5, and 15 minutes
message CpuState {
/**
* The length of one measurement tick for the individual CPU counters.
*/
// @unit(microsecond)
optional uint32 jiffy_length = 10;
/**
* Measurements for a single CPU in the system.
*
* The supported detailed fields for each CPU vary with different Kernel
* versions. In oder to calculate at least a valid load of the CPU,
* minimally total and idle need to be given. Hence, they are required
* fields. Ideally, @ref .idle + all other detail fields should sum up to
* the total value.
*
* With each new measurement all counters must fulfill the condition
* new value >= previous value. I.e. these are ever-increasing numbers and
* differences need to be calculated to find out the current system
* statistics.
*
* All values are measured in abstract ticks of a fixed length. This length
* is specified @ref CpuState.jiffy_length.
*/
message Cpu {
/**
* Identifier for the respective CPU or core in a multicore system.
*/
// @unit(number)
required int32 index = 1;
/**
* Total time spent by this CPU so far in any mode including idle.
*/
// @unit(number)
required uint64 total = 100;
/**
* Time spent idle.
*/
// @unit(number)
required uint64 idle = 5;
/**
* Time spent in user mode.
*/
// @unit(number)
optional uint64 user = 2;
/**
* Time spent in user mode with nice (low) priority.
*/
// @unit(number)
optional uint64 user_low = 3;
/**
* Time spent in system mode.
*/
// @unit(number)
optional uint64 system = 4;
/**
* Time spent waiting for IO to complete.
*/
// @unit(number)
optional uint64 iowait = 6;
/**
* Time spent servicing interrupts.
*/
// @unit(number)
optional uint64 irq = 7;
/**
* Time spent servicing softirqs.
*/
// @unit(number)
optional uint64 softirq = 8;
/**
* Time spent in another operating system in case of a virtualized system.
*/
// @unit(number)
optional uint64 steal = 9;
/**
* Time spent running a virtualized guest.
*/
// @unit(number)
optional uint64 guest = 10;
}
/**
* An entry for each (virtualized) CPU or core of a multicore system.
*/
repeated Cpu cpus = 20;
/**
* Load average for one minute as defined by the linux kernel, e.g. in
* man proc:
* The first three fields in this file are load average figures giving the
* number of jobs in the run queue (state R) or waiting for disk I/O
* (state D) averaged over 1, 5, and 15 minutes
*/
// @unit(number)
// @constraint(value>=0)
optional float load_1 = 40;
/**
* Load average for 5 minutes as defined by the linux kernel, e.g. in
* man proc:
* The first three fields in this file are load average figures giving the
* number of jobs in the run queue (state R) or waiting for disk I/O
* (state D) averaged over 1, 5, and 15 minutes
*/
// @unit(number)
// @constraint(value>=0)
optional float load_5 = 41;
/**
* Load average for 15 minute as defined by the linux kernel, e.g. in
* man proc:
* The first three fields in this file are load average figures giving the
* number of jobs in the run queue (state R) or waiting for disk I/O
* (state D) averaged over 1, 5, and 15 minutes
*/
// @unit(number)
// @constraint(value>=0)
optional float load_15 = 42;
}
Measurements for a single CPU in the system.
The supported detailed fields for each CPU vary with different Kernel versions. In oder to calculate at least a valid load of the CPU, minimally total and idle need to be given. Hence, they are required fields. Ideally, idle + all other detail fields should sum up to the total value.
With each new measurement all counters must fulfill the condition new value >= previous value. I.e. these are ever-increasing numbers and differences need to be calculated to find out the current system statistics.
All values are measured in abstract ticks of a fixed length. This length is specified <Could not resolve reference to CpuState.jiffy_length> .
Type : | INT32 |
---|
Unit: number
Identifier for the respective CPU or core in a multicore system.
Type : | UINT64 |
---|
Unit: number
Total time spent by this CPU so far in any mode including idle.
Type : | UINT64 |
---|
Unit: number
Time spent idle.
Type : | UINT64 |
---|
Unit: number
Time spent in user mode.
Type : | UINT64 |
---|
Unit: number
Time spent in user mode with nice (low) priority.
Type : | UINT64 |
---|
Unit: number
Time spent in system mode.
Type : | UINT64 |
---|
Unit: number
Time spent waiting for IO to complete.
Type : | UINT64 |
---|
Unit: number
Time spent servicing interrupts.
Type : | UINT64 |
---|
Unit: number
Time spent servicing softirqs.
Type : | UINT64 |
---|
Unit: number
Time spent in another operating system in case of a virtualized system.
Type : | UINT64 |
---|
Unit: number
Time spent running a virtualized guest.
message Cpu {
/**
* Identifier for the respective CPU or core in a multicore system.
*/
// @unit(number)
required int32 index = 1;
/**
* Total time spent by this CPU so far in any mode including idle.
*/
// @unit(number)
required uint64 total = 100;
/**
* Time spent idle.
*/
// @unit(number)
required uint64 idle = 5;
/**
* Time spent in user mode.
*/
// @unit(number)
optional uint64 user = 2;
/**
* Time spent in user mode with nice (low) priority.
*/
// @unit(number)
optional uint64 user_low = 3;
/**
* Time spent in system mode.
*/
// @unit(number)
optional uint64 system = 4;
/**
* Time spent waiting for IO to complete.
*/
// @unit(number)
optional uint64 iowait = 6;
/**
* Time spent servicing interrupts.
*/
// @unit(number)
optional uint64 irq = 7;
/**
* Time spent servicing softirqs.
*/
// @unit(number)
optional uint64 softirq = 8;
/**
* Time spent in another operating system in case of a virtualized system.
*/
// @unit(number)
optional uint64 steal = 9;
/**
* Time spent running a virtualized guest.
*/
// @unit(number)
optional uint64 guest = 10;
}
Usage information about the system memory of a processing node.
Code author: Jens-Christian Seele <jseele@techfak.uni-bielefeld.de>
Code author: Johannes Wienke <jwienke@techfak.uni-bielefeld.de>
Code author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
Type : | FLOAT32 |
---|
Unit: byte
Constraint: value>=0
The total amount of system memory available.
Type : | FLOAT32 |
---|
Unit: byte
Constraint: 0<=value<=.total
The currently used amount of memory.
message MemoryState {
/**
* The total amount of system memory available.
*/
// @unit(byte)
// @constraint(value>=0)
optional float total = 2;
/**
* The currently used amount of memory.
*/
// @unit(byte)
// @constraint(0<=value<=.total)
optional float used = 3;
}
Enter search terms or a module, class or function name.