.. _package-rst-devices-generic:
=============================
Package rst.devices.generic
=============================
This package collects device-independent data types.
It is only intended for data types which do not make sense outside
the context of a specific device. Try to use generic data types
instead, if possible.
Messages
========
.. container:: mess4ge-multi
.. container:: mess4ge-graph
.. digraph:: message_graph
fontname="Arial";
fontsize=11;
stylesheet="../_static/graphs.css";
node [fontsize=11,fontname="Arial"]
edge [fontsize=11,fontname="Arial"]
"20" [label=<
| BatteryStateCollection |
|
BatteryState | element |
>,shape=box,style=filled,fillcolor="white"];
"21" [label=< | BatteryState |
|
FLOAT32 | current |
FLOAT32 | charge_level |
FLOAT32 | battery_temperature |
>,shape=box,style=filled,fillcolor="white"];
"18" [label=< | HostInformationCollection |
|
HostInformation | element |
>,shape=box,style=filled,fillcolor="white"];
"19" [label=< | HostInformation |
|
ASCII-STRING | hostname |
MemoryState | memory_state |
CpuState | cpu_state |
UINT64 | process_num |
DiskState | disk_state |
NetworkState | network_state |
UserState | user_state |
>,shape=box,style=filled,fillcolor="white"];
"15" [label=< | CpuStateCollection |
|
CpuState | element |
>,shape=box,style=filled,fillcolor="white"];
"16" [label=< | CpuState |
|
UINT32 | jiffy_length |
Cpu | cpus |
FLOAT32 | load_1 |
FLOAT32 | load_5 |
FLOAT32 | load_15 |
>,shape=box,style=filled,fillcolor="white"];
"17" [label=< | Cpu |
|
INT32 | index |
UINT64 | total |
UINT64 | idle |
UINT64 | user |
UINT64 | user_low |
UINT64 | system |
UINT64 | iowait |
UINT64 | irq |
UINT64 | softirq |
UINT64 | steal |
UINT64 | guest |
>,shape=box,style=filled,fillcolor="white"];
"9" [label=< | NetworkStateCollection |
|
NetworkState | element |
>,shape=box,style=filled,fillcolor="white"];
"10" [label=< | NetworkState |
|
NetworkInterfaceController | nics |
NetworkConnections | connections |
>,shape=box,style=filled,fillcolor="white"];
"12" [label=< | NetworkConnections |
|
Protocol | protocol |
AddressFamily | family |
UINT32 | num_established |
UINT32 | num_syn_sent |
UINT32 | num_syn_recv |
UINT32 | num_fin_wait1 |
UINT32 | num_fin_wait2 |
UINT32 | num_time_wait |
UINT32 | num_close |
UINT32 | num_close_wait |
UINT32 | num_last_ack |
UINT32 | num_listen |
UINT32 | num_closing |
UINT32 | num_delete_tcb |
UINT32 | num_idle |
UINT32 | num_bound |
UINT32 | num_none |
>,shape=box,style=filled,fillcolor="white"];
"14" [label=< | AddressFamily |
|
FAMILY_IPV4 | 1 |
FAMILY_IPV6 | 2 |
FAMILY_UNIX | 3 |
FAMILY_OTHER | 100 |
>,shape=box,style=filled,fillcolor="white"];
"13" [label=< | Protocol |
|
PROTOCOL_TCP | 1 |
PROTOCOL_UDP | 2 |
PROTOCOL_OTHER | 100 |
>,shape=box,style=filled,fillcolor="white"];
"11" [label=< | NetworkInterfaceController |
|
OCTET-VECTOR | name |
UINT64 | bytes_received |
UINT64 | bytes_sent |
UINT64 | packets_received |
UINT64 | packets_sent |
UINT64 | receive_errors |
UINT64 | send_errors |
UINT64 | receive_drops |
UINT64 | send_drops |
>,shape=box,style=filled,fillcolor="white"];
"5" [label=< | DiskStateCollection |
|
DiskState | element |
>,shape=box,style=filled,fillcolor="white"];
"6" [label=< | DiskState |
|
Partition | partitions |
Device | devices |
>,shape=box,style=filled,fillcolor="white"];
"8" [label=< | Device |
|
OCTET-VECTOR | name |
UINT64 | read_count |
UINT64 | write_count |
UINT64 | read_bytes |
UINT64 | write_bytes |
UINT64 | read_time |
UINT64 | write_time |
>,shape=box,style=filled,fillcolor="white"];
"7" [label=< | Partition |
|
OCTET-VECTOR | mount_point |
OCTET-VECTOR | device |
UINT64 | space_total |
UINT64 | space_used |
>,shape=box,style=filled,fillcolor="white"];
"3" [label=< | MemoryStateCollection |
|
MemoryState | element |
>,shape=box,style=filled,fillcolor="white"];
"4" [label=< | MemoryState |
|
FLOAT32 | total |
FLOAT32 | used |
UINT64 | usable |
UINT64 | swap_total |
UINT64 | swap_used |
>,shape=box,style=filled,fillcolor="white"];
"1" [label=< | UserStateCollection |
|
UserState | element |
>,shape=box,style=filled,fillcolor="white"];
"2" [label=< | UserState |
|
UINT32 | logged_in_users |
UINT32 | login_sessions |
UINT32 | login_hosts |
>,shape=box,style=filled,fillcolor="white"];
"20":element -> "21"[];
"18":element -> "19"[];
"19":user_state -> "2"[];
"19":network_state -> "10"[];
"19":disk_state -> "6"[];
"19":cpu_state -> "16"[];
"19":memory_state -> "4"[];
"15":element -> "16"[];
"16" -> "17"[dir=both,arrowtail=odiamond];
"16":cpus -> "17"[];
"9":element -> "10"[];
"10" -> "12"[dir=both,arrowtail=odiamond];
"10" -> "11"[dir=both,arrowtail=odiamond];
"10":connections -> "12"[];
"10":nics -> "11"[];
"12" -> "14"[dir=both,arrowtail=odiamond];
"12" -> "13"[dir=both,arrowtail=odiamond];
"12":family -> "14"[];
"12":protocol -> "13"[];
"5":element -> "6"[];
"6" -> "8"[dir=both,arrowtail=odiamond];
"6" -> "7"[dir=both,arrowtail=odiamond];
"6":devices -> "8"[];
"6":partitions -> "7"[];
"3":element -> "4"[];
"1":element -> "2"[];
.. container:: mess4ge-list
.. container:: messages
* :ref:`UserStateCollection `
* :ref:`MemoryStateCollection `
* :ref:`DiskStateCollection `
* :ref:`NetworkStateCollection `
* :ref:`CpuStateCollection `
* :ref:`HostInformationCollection `
* :ref:`BatteryStateCollection `
* :ref:`HostInformation `
* :ref:`UserState `
* :ref:`NetworkState `
* :ref:`DiskState `
* :ref:`CpuState `
* :ref:`MemoryState `
* :ref:`BatteryState `
.. container:: clearer
clearer: should be made invisible via css
.. _message-rst-devices-generic-userstatecollection:
Message UserStateCollection
---------------------------
.. container:: message-rst-devices-generic-userstatecollection-multi
.. container:: message-rst-devices-generic-userstatecollection-documentation
.. py:class:: rst.devices.generic.UserStateCollection
Collection of :py:class:`UserState ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.devices.generic.UserState`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-devices-generic-userstatecollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/UserStateCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/UserStateCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-devices-generic-memorystatecollection:
Message MemoryStateCollection
-----------------------------
.. container:: message-rst-devices-generic-memorystatecollection-multi
.. container:: message-rst-devices-generic-memorystatecollection-documentation
.. py:class:: rst.devices.generic.MemoryStateCollection
Collection of :py:class:`MemoryState ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.devices.generic.MemoryState`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-devices-generic-memorystatecollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/MemoryStateCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/MemoryStateCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-devices-generic-diskstatecollection:
Message DiskStateCollection
---------------------------
.. container:: message-rst-devices-generic-diskstatecollection-multi
.. container:: message-rst-devices-generic-diskstatecollection-documentation
.. py:class:: rst.devices.generic.DiskStateCollection
Collection of :py:class:`DiskState ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.devices.generic.DiskState`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-devices-generic-diskstatecollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/DiskStateCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/DiskStateCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-devices-generic-networkstatecollection:
Message NetworkStateCollection
------------------------------
.. container:: message-rst-devices-generic-networkstatecollection-multi
.. container:: message-rst-devices-generic-networkstatecollection-documentation
.. py:class:: rst.devices.generic.NetworkStateCollection
Collection of :py:class:`NetworkState ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.devices.generic.NetworkState`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-devices-generic-networkstatecollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/NetworkStateCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/NetworkStateCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-devices-generic-cpustatecollection:
Message CpuStateCollection
--------------------------
.. container:: message-rst-devices-generic-cpustatecollection-multi
.. container:: message-rst-devices-generic-cpustatecollection-documentation
.. py:class:: rst.devices.generic.CpuStateCollection
Collection of :py:class:`CpuState ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.devices.generic.CpuState`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-devices-generic-cpustatecollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/CpuStateCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/CpuStateCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-devices-generic-hostinformationcollection:
Message HostInformationCollection
---------------------------------
.. container:: message-rst-devices-generic-hostinformationcollection-multi
.. container:: message-rst-devices-generic-hostinformationcollection-documentation
.. py:class:: rst.devices.generic.HostInformationCollection
Collection of :py:class:`HostInformation ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.devices.generic.HostInformation`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-devices-generic-hostinformationcollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/HostInformationCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/HostInformationCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-devices-generic-batterystatecollection:
Message BatteryStateCollection
------------------------------
.. container:: message-rst-devices-generic-batterystatecollection-multi
.. container:: message-rst-devices-generic-batterystatecollection-documentation
.. py:class:: rst.devices.generic.BatteryStateCollection
Collection of :py:class:`BatteryState ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.devices.generic.BatteryState`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-devices-generic-batterystatecollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/BatteryStateCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/BatteryStateCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-devices-generic-hostinformation:
Message HostInformation
-----------------------
.. container:: message-rst-devices-generic-hostinformation-multi
.. container:: message-rst-devices-generic-hostinformation-documentation
.. py:class:: rst.devices.generic.HostInformation
Combines monitoring information about a single processing node into a single
message.
.. codeauthor:: Jens-Christian Seele
.. codeauthor:: Johannes Wienke
@create_collection
.. py:attribute:: hostname
:type: :py:class:`ASCII-STRING`
Name of the host being monitored.
.. py:attribute:: memory_state
:type: :py:class:`rst.devices.generic.MemoryState`
Information about the memory usage.
.. py:attribute:: cpu_state
:type: :py:class:`rst.devices.generic.CpuState`
Information about the CPU usage.
.. py:attribute:: process_num
:type: :py:class:`UINT64`
The number of processes currently being executed on the system.
.. py:attribute:: disk_state
:type: :py:class:`rst.devices.generic.DiskState`
Information about storage devices.
.. py:attribute:: network_state
:type: :py:class:`rst.devices.generic.NetworkState`
Information about network devices and connections.
.. py:attribute:: user_state
:type: :py:class:`rst.devices.generic.UserState`
Information about logged-in users.
.. container:: message-rst-devices-generic-hostinformation-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/HostInformation.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/HostInformation.proto
:lines: 21-58
:language: protobuf
:emphasize-lines: 6-6,11-11,16-16,21-21,26-26,31-31,36-36
.. _message-rst-devices-generic-userstate:
Message UserState
-----------------
.. container:: message-rst-devices-generic-userstate-multi
.. container:: message-rst-devices-generic-userstate-documentation
.. py:class:: rst.devices.generic.UserState
Information about the currently logged-in users on a processing node.
.. codeauthor:: Johannes Wienke
@create_collection
.. py:attribute:: logged_in_users
:type: :py:class:`UINT32`
Number of currently logged-in users distinguished by their user name.
.. py:attribute:: login_sessions
:type: :py:class:`UINT32`
Number of sessions associated to logged-in users. On Linux this relates
to terminals used by a user.
.. py:attribute:: login_hosts
:type: :py:class:`UINT32`
Number of distinct hosts from which users are logged in on the described
processing node.
.. container:: message-rst-devices-generic-userstate-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/UserState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/UserState.proto
:lines: 13-32
:language: protobuf
:emphasize-lines: 6-6,12-12,18-18
.. _message-rst-devices-generic-networkstate:
Message NetworkState
--------------------
.. container:: message-rst-devices-generic-networkstate-multi
.. container:: message-rst-devices-generic-networkstate-documentation
.. py:class:: rst.devices.generic.NetworkState
Information about the available persistent storage devices in a processing
node and their usage statistics.
.. codeauthor:: Johannes Wienke
@create_collection
.. py:attribute:: nics
:type: array of :py:class:`rst.devices.generic.NetworkState.NetworkInterfaceController`
List of statistic messages for all NICs of the processing node. Order is
not important.
.. py:attribute:: connections
:type: array of :py:class:`rst.devices.generic.NetworkState.NetworkConnections`
Numbers of network connections indexed by the combined key (protocol,
address family). Order is not important. Keys must be unique.
.. container:: message-rst-devices-generic-networkstate-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/NetworkState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/NetworkState.proto
:lines: 14-243
:language: protobuf
:emphasize-lines: 71-71,228-228
.. _message-rst-devices-generic-networkstate-networkinterfacecontroller:
Message NetworkInterfaceController
----------------------------------
.. container:: message-rst-devices-generic-networkstate-networkinterfacecontroller-multi
.. container:: message-rst-devices-generic-networkstate-networkinterfacecontroller-documentation
.. py:class:: rst.devices.generic.NetworkState.NetworkInterfaceController
Represents statistics for a single Network Interface Controller (NIC).
.. codeauthor:: Johannes Wienke
.. py:attribute:: name
:type: :py:class:`OCTET-VECTOR`
Name of the NIC as represented by the OS.
.. py:attribute:: bytes_received
:type: :py:class:`UINT64`
**Unit**: byte
Number of bytes received by the NIC so far. Might wrap in case of an
overflow.
.. py:attribute:: bytes_sent
:type: :py:class:`UINT64`
**Unit**: byte
Number of bytes sent by the NIC so far. Might wrap in case of an
overflow.
.. py:attribute:: packets_received
:type: :py:class:`UINT64`
Number of packets received by the NIC. Might wrap in case of an
overflow.
.. py:attribute:: packets_sent
:type: :py:class:`UINT64`
Number of packets sent by the NIC. Might wrap in case of an
overflow.
.. py:attribute:: receive_errors
:type: :py:class:`UINT64`
Number of errors while receiving packets since the start of the
device. Might wrap in case of an overflow.
.. py:attribute:: send_errors
:type: :py:class:`UINT64`
Number of errors while sending packets since the start of the
device. Might wrap in case of an overflow.
.. py:attribute:: receive_drops
:type: :py:class:`UINT64`
Number of dropped packets that should have been received since the
start of the device. Might wrap in case of an overflow.
.. py:attribute:: send_drops
:type: :py:class:`UINT64`
Number of dropped packets that should have been sent since the start
of the device. Might wrap in case of an overflow.
.. container:: message-rst-devices-generic-networkstate-networkinterfacecontroller-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/NetworkState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/NetworkState.proto
:lines: 21-78
:language: protobuf
:emphasize-lines: 6-6,13-13,20-20,26-26,32-32,38-38,44-44,50-50,56-56
.. _message-rst-devices-generic-networkstate-networkconnections:
Message NetworkConnections
--------------------------
.. container:: message-rst-devices-generic-networkstate-networkconnections-multi
.. container:: message-rst-devices-generic-networkstate-networkconnections-documentation
.. py:class:: rst.devices.generic.NetworkState.NetworkConnections
Number of network connections for a combination of address family and
protocol and separated by the different connection states. In case a
combination of protocol and address family does not allow to distinguish
different connection states, all connections will end up in the :py:attr:`num_none ` field.
The list of connection states has been taken from python psutil.
.. codeauthor:: Johannes Wienke
.. py:attribute:: protocol
:type: :py:class:`rst.devices.generic.NetworkState.NetworkConnections.Protocol`
Protocol of the network connection counters expressed in this
message.
.. py:attribute:: family
:type: :py:class:`rst.devices.generic.NetworkState.NetworkConnections.AddressFamily`
Address family of the network connection counters expressed in this
message.
.. py:attribute:: num_established
:type: :py:class:`UINT32`
Number of connections in the ESTABLISHED state.
.. py:attribute:: num_syn_sent
:type: :py:class:`UINT32`
Number of connections in the SYN_SENT state.
.. py:attribute:: num_syn_recv
:type: :py:class:`UINT32`
Number of connections in the SYN_RECV state.
.. py:attribute:: num_fin_wait1
:type: :py:class:`UINT32`
Number of connections in the FIN_WAIT1 state.
.. py:attribute:: num_fin_wait2
:type: :py:class:`UINT32`
Number of connections in the FIN_WAIT2 state.
.. py:attribute:: num_time_wait
:type: :py:class:`UINT32`
Number of connections in the TIME_WAIT state.
.. py:attribute:: num_close
:type: :py:class:`UINT32`
Number of connections in the CLOSE state.
.. py:attribute:: num_close_wait
:type: :py:class:`UINT32`
Number of connections in the CLOSE_WAIT state.
.. py:attribute:: num_last_ack
:type: :py:class:`UINT32`
Number of connections in the LAST_ACK state.
.. py:attribute:: num_listen
:type: :py:class:`UINT32`
Number of connections in the LISTEN state.
.. py:attribute:: num_closing
:type: :py:class:`UINT32`
Number of connections in the CLOSING state.
.. py:attribute:: num_delete_tcb
:type: :py:class:`UINT32`
Number of connections in the DELETE_TCB state (windows).
.. py:attribute:: num_idle
:type: :py:class:`UINT32`
Number of connections in the IDLE state (solaris).
.. py:attribute:: num_bound
:type: :py:class:`UINT32`
Number of connections in the BOUND state (solaris).
.. py:attribute:: num_none
:type: :py:class:`UINT32`
Number of connections in any other or unknown state.
.. container:: message-rst-devices-generic-networkstate-networkconnections-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/NetworkState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/NetworkState.proto
:lines: 97-235
:language: protobuf
:emphasize-lines: 56-56,62-62,67-67,72-72,77-77,82-82,87-87,92-92,97-97,102-102,107-107,112-112,117-117,122-122,127-127,132-132,137-137
.. _message-rst-devices-generic-networkstate-networkconnections-protocol:
Message Protocol
----------------
.. container:: message-rst-devices-generic-networkstate-networkconnections-protocol-multi
.. container:: message-rst-devices-generic-networkstate-networkconnections-protocol-documentation
.. py:class:: rst.devices.generic.NetworkState.NetworkConnections.Protocol
Available OSI transport layer protocols for network connections.
.. py:attribute:: PROTOCOL_TCP
= 1
The Transmission Control Protocol (TCP).
.. py:attribute:: PROTOCOL_UDP
= 2
The User Datagram Protocol (UDP).
.. py:attribute:: PROTOCOL_OTHER
= 100
Any other protocol. Might also be used in case TCP and UDP
cannot be distinguished.
.. container:: message-rst-devices-generic-networkstate-networkconnections-protocol-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/NetworkState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/NetworkState.proto
:lines: 102-119
:language: protobuf
:emphasize-lines: 6-6,11-11,17-17
.. _message-rst-devices-generic-networkstate-networkconnections-addressfamily:
Message AddressFamily
---------------------
.. container:: message-rst-devices-generic-networkstate-networkconnections-addressfamily-multi
.. container:: message-rst-devices-generic-networkstate-networkconnections-addressfamily-documentation
.. py:class:: rst.devices.generic.NetworkState.NetworkConnections.AddressFamily
Possible network address families used to establish a network
connection.
.. py:attribute:: FAMILY_IPV4
= 1
Internet Protocol version 4 (IPv4).
.. py:attribute:: FAMILY_IPV6
= 2
Internet Protocol version 6 (IPv6).
.. py:attribute:: FAMILY_UNIX
= 3
Unix domain sockets.
.. py:attribute:: FAMILY_OTHER
= 100
Any other address family.
.. container:: message-rst-devices-generic-networkstate-networkconnections-addressfamily-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/NetworkState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/NetworkState.proto
:lines: 125-146
:language: protobuf
:emphasize-lines: 6-6,11-11,16-16,21-21
.. _message-rst-devices-generic-diskstate:
Message DiskState
-----------------
.. container:: message-rst-devices-generic-diskstate-multi
.. container:: message-rst-devices-generic-diskstate-documentation
.. py:class:: rst.devices.generic.DiskState
Information about the available persistent storage devices in a processing
node and their usage statistics.
.. codeauthor:: Johannes Wienke
@create_collection
.. py:attribute:: partitions
:type: array of :py:class:`rst.devices.generic.DiskState.Partition`
The available partitions of the processing node. Order is not important.
.. py:attribute:: devices
:type: array of :py:class:`rst.devices.generic.DiskState.Device`
Collection of statistics for physical storage devices. Order is not
important.
.. container:: message-rst-devices-generic-diskstate-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/DiskState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/DiskState.proto
:lines: 14-120
:language: protobuf
:emphasize-lines: 42-42,105-105
.. _message-rst-devices-generic-diskstate-partition:
Message Partition
-----------------
.. container:: message-rst-devices-generic-diskstate-partition-multi
.. container:: message-rst-devices-generic-diskstate-partition-documentation
.. py:class:: rst.devices.generic.DiskState.Partition
Representation of file system partition and related size information.
Due to things like LVM, a partition may reside on multiple physical
storage devices and device names might even be unrelated.
.. codeauthor:: Johannes Wienke
.. py:attribute:: mount_point
:type: :py:class:`OCTET-VECTOR`
The path (Unix) or drive letter under which the partition is
accessible in the node's file system.
.. py:attribute:: device
:type: :py:class:`OCTET-VECTOR`
Name of the physical storage device on which this partition resides.
Due to the reasons mentioned in the message comment, this name may
or may not match one of the names given in the devices section.
.. py:attribute:: space_total
:type: :py:class:`UINT64`
**Unit**: byte
Total available space on the partition.
.. py:attribute:: space_used
:type: :py:class:`UINT64`
**Unit**: byte
Used space on the partition.
.. container:: message-rst-devices-generic-diskstate-partition-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/DiskState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/DiskState.proto
:lines: 23-50
:language: protobuf
:emphasize-lines: 7-7,14-14,20-20,26-26
.. _message-rst-devices-generic-diskstate-device:
Message Device
--------------
.. container:: message-rst-devices-generic-diskstate-device-multi
.. container:: message-rst-devices-generic-diskstate-device-documentation
.. py:class:: rst.devices.generic.DiskState.Device
Represents a physical storage device and statistics regarding read and
write access for that device. The exact definition of what a storage
device is, may be OS-specific due to the availability of the respective
counters for the operating system. Therefore, the device can be
unrelated to physical hard disks.
.. codeauthor:: Johannes Wienke
.. py:attribute:: name
:type: :py:class:`OCTET-VECTOR`
Name of the device as represented by the OS.
.. py:attribute:: read_count
:type: :py:class:`UINT64`
Number of reads performed on this device so far. Might wrap in case
of an overflow.
.. py:attribute:: write_count
:type: :py:class:`UINT64`
Number of writes performed on this device so far. Might wrap in case
of an overflow.
.. py:attribute:: read_bytes
:type: :py:class:`UINT64`
**Unit**: byte
Number of bytes read from the device so far. Might wrap in case of
an overflow.
.. py:attribute:: write_bytes
:type: :py:class:`UINT64`
**Unit**: byte
Number of bytes written to the device so far. Might wrap in case of
an overflow.
.. py:attribute:: read_time
:type: :py:class:`UINT64`
**Unit**: msec
Time spent reading from the device. Might wrap in case of an
overflow.
.. py:attribute:: write_time
:type: :py:class:`UINT64`
**Unit**: msec
Time spent writing to the device. Might wrap in case of an overflow.
.. container:: message-rst-devices-generic-diskstate-device-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/DiskState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/DiskState.proto
:lines: 66-112
:language: protobuf
:emphasize-lines: 6-6,12-12,18-18,25-25,32-32,39-39,45-45
.. _message-rst-devices-generic-cpustate:
Message CpuState
----------------
.. container:: message-rst-devices-generic-cpustate-multi
.. container:: message-rst-devices-generic-cpustate-documentation
.. py:class:: rst.devices.generic.CpuState
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.
.. codeauthor:: Jens-Christian Seele
.. codeauthor:: Johannes Wienke
@create_collection
.. py:attribute:: jiffy_length
:type: :py:class:`UINT32`
**Unit**: microsecond
The length of one measurement tick for the individual CPU counters.
.. py:attribute:: cpus
:type: array of :py:class:`rst.devices.generic.CpuState.Cpu`
An entry for each (virtualized) CPU or core of a multicore system.
.. py:attribute:: load_1
:type: :py:class:`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
.. py:attribute:: load_5
:type: :py:class:`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
.. py:attribute:: load_15
:type: :py:class:`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
.. container:: message-rst-devices-generic-cpustate-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/CpuState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/CpuState.proto
:lines: 19-152
:language: protobuf
:emphasize-lines: 7-7,99-99,110-110,121-121,132-132
.. _message-rst-devices-generic-cpustate-cpu:
Message Cpu
-----------
.. container:: message-rst-devices-generic-cpustate-cpu-multi
.. container:: message-rst-devices-generic-cpustate-cpu-documentation
.. py:class:: rst.devices.generic.CpuState.Cpu
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, :py:attr:`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 .
.. py:attribute:: index
:type: :py:class:`INT32`
**Unit**: number
Identifier for the respective CPU or core in a multicore system.
.. py:attribute:: total
:type: :py:class:`UINT64`
**Unit**: number
Total time spent by this CPU so far in any mode including idle.
.. py:attribute:: idle
:type: :py:class:`UINT64`
**Unit**: number
Time spent idle.
.. py:attribute:: user
:type: :py:class:`UINT64`
**Unit**: number
Time spent in user mode.
.. py:attribute:: user_low
:type: :py:class:`UINT64`
**Unit**: number
Time spent in user mode with nice (low) priority.
.. py:attribute:: system
:type: :py:class:`UINT64`
**Unit**: number
Time spent in system mode.
.. py:attribute:: iowait
:type: :py:class:`UINT64`
**Unit**: number
Time spent waiting for IO to complete.
.. py:attribute:: irq
:type: :py:class:`UINT64`
**Unit**: number
Time spent servicing interrupts.
.. py:attribute:: softirq
:type: :py:class:`UINT64`
**Unit**: number
Time spent servicing softirqs.
.. py:attribute:: steal
:type: :py:class:`UINT64`
**Unit**: number
Time spent in another operating system in case of a virtualized system.
.. py:attribute:: guest
:type: :py:class:`UINT64`
**Unit**: number
Time spent running a virtualized guest.
.. container:: message-rst-devices-generic-cpustate-cpu-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/CpuState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/CpuState.proto
:lines: 44-112
:language: protobuf
:emphasize-lines: 7-7,13-13,19-19,25-25,31-31,37-37,43-43,49-49,55-55,61-61,67-67
.. _message-rst-devices-generic-memorystate:
Message MemoryState
-------------------
.. container:: message-rst-devices-generic-memorystate-multi
.. container:: message-rst-devices-generic-memorystate-documentation
.. py:class:: rst.devices.generic.MemoryState
Usage information about the system memory of a processing node.
.. codeauthor:: Jens-Christian Seele
.. codeauthor:: Johannes Wienke
.. codeauthor:: Jan Moringen
@create_collection
.. py:attribute:: total
:type: :py:class:`FLOAT32`
**Unit**: byte
**Constraint**: ``value>=0``
The total amount of system memory available.
.. py:attribute:: used
:type: :py:class:`FLOAT32`
**Unit**: byte
**Constraint**: ``0<=value<=.total``
The currently used amount of memory. This includes everything including
cached memory etc. Stated the other way around, :py:attr:`total ` -
must result in the amount of memory currently being completely unused.
.. py:attribute:: usable
:type: :py:class:`UINT64`
**Unit**: byte
**Constraint**: ``0<=value<=.total``
The amount of working memory that can be used by processes without
swapping, either because it is directly free or it can be reclaimed.
.. py:attribute:: swap_total
:type: :py:class:`UINT64`
**Unit**: byte
**Constraint**: ``value>=0``
The amount of swap space available.
.. py:attribute:: swap_used
:type: :py:class:`UINT64`
**Unit**: byte
**Constraint**: ``0<=value<=.swap_total``
The amount of swap space currently being used.
.. container:: message-rst-devices-generic-memorystate-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/MemoryState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/MemoryState.proto
:lines: 15-55
:language: protobuf
:emphasize-lines: 8-8,17-17,25-25,32-32,39-39
.. _message-rst-devices-generic-batterystate:
Message BatteryState
--------------------
.. container:: message-rst-devices-generic-batterystate-multi
.. container:: message-rst-devices-generic-batterystate-documentation
.. py:class:: rst.devices.generic.BatteryState
Provides information about the state of a single battery.
.. codeauthor:: Jens-Christian Seele
@create_collection
.. py:attribute:: current
:type: :py:class:`FLOAT32`
**Unit**: ampere
Indicates the electrical current draining or charging the battery at the
moment.
Negative currents indicate discharging of the battery, positive ones
indicate an attached charger.
.. py:attribute:: charge_level
:type: :py:class:`FLOAT32`
**Unit**: number
**Constraint**: ``0<=value<=1``
Indicates the current charging level of the battery, where 1 means full
and 0 indicates completely empty.
.. py:attribute:: battery_temperature
:type: :py:class:`FLOAT32`
**Unit**: degree-celsius
The temperature of the battery.
.. container:: message-rst-devices-generic-batterystate-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/BatteryState.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/devices/generic/BatteryState.proto
:lines: 13-39
:language: protobuf
:emphasize-lines: 11-11,19-19,25-25