.. _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
BatteryStateelement
>,shape=box,style=filled,fillcolor="white"]; "21" [label=<
BatteryState
FLOAT32current
FLOAT32charge_level
FLOAT32battery_temperature
>,shape=box,style=filled,fillcolor="white"]; "18" [label=<
HostInformationCollection
HostInformationelement
>,shape=box,style=filled,fillcolor="white"]; "19" [label=<
HostInformation
ASCII-STRINGhostname
MemoryStatememory_state
CpuStatecpu_state
UINT64process_num
DiskStatedisk_state
NetworkStatenetwork_state
UserStateuser_state
>,shape=box,style=filled,fillcolor="white"]; "15" [label=<
CpuStateCollection
CpuStateelement
>,shape=box,style=filled,fillcolor="white"]; "16" [label=<
CpuState
UINT32jiffy_length
Cpucpus
FLOAT32load_1
FLOAT32load_5
FLOAT32load_15
>,shape=box,style=filled,fillcolor="white"]; "17" [label=<
Cpu
INT32index
UINT64total
UINT64idle
UINT64user
UINT64user_low
UINT64system
UINT64iowait
UINT64irq
UINT64softirq
UINT64steal
UINT64guest
>,shape=box,style=filled,fillcolor="white"]; "9" [label=<
NetworkStateCollection
NetworkStateelement
>,shape=box,style=filled,fillcolor="white"]; "10" [label=<
NetworkState
NetworkInterfaceControllernics
NetworkConnectionsconnections
>,shape=box,style=filled,fillcolor="white"]; "12" [label=<
NetworkConnections
Protocolprotocol
AddressFamilyfamily
UINT32num_established
UINT32num_syn_sent
UINT32num_syn_recv
UINT32num_fin_wait1
UINT32num_fin_wait2
UINT32num_time_wait
UINT32num_close
UINT32num_close_wait
UINT32num_last_ack
UINT32num_listen
UINT32num_closing
UINT32num_delete_tcb
UINT32num_idle
UINT32num_bound
UINT32num_none
>,shape=box,style=filled,fillcolor="white"]; "14" [label=<
AddressFamily
FAMILY_IPV41
FAMILY_IPV62
FAMILY_UNIX3
FAMILY_OTHER100
>,shape=box,style=filled,fillcolor="white"]; "13" [label=<
Protocol
PROTOCOL_TCP1
PROTOCOL_UDP2
PROTOCOL_OTHER100
>,shape=box,style=filled,fillcolor="white"]; "11" [label=<
NetworkInterfaceController
OCTET-VECTORname
UINT64bytes_received
UINT64bytes_sent
UINT64packets_received
UINT64packets_sent
UINT64receive_errors
UINT64send_errors
UINT64receive_drops
UINT64send_drops
>,shape=box,style=filled,fillcolor="white"]; "5" [label=<
DiskStateCollection
DiskStateelement
>,shape=box,style=filled,fillcolor="white"]; "6" [label=<
DiskState
Partitionpartitions
Devicedevices
>,shape=box,style=filled,fillcolor="white"]; "8" [label=<
Device
OCTET-VECTORname
UINT64read_count
UINT64write_count
UINT64read_bytes
UINT64write_bytes
UINT64read_time
UINT64write_time
>,shape=box,style=filled,fillcolor="white"]; "7" [label=<
Partition
OCTET-VECTORmount_point
OCTET-VECTORdevice
UINT64space_total
UINT64space_used
>,shape=box,style=filled,fillcolor="white"]; "3" [label=<
MemoryStateCollection
MemoryStateelement
>,shape=box,style=filled,fillcolor="white"]; "4" [label=<
MemoryState
FLOAT32total
FLOAT32used
UINT64usable
UINT64swap_total
UINT64swap_used
>,shape=box,style=filled,fillcolor="white"]; "1" [label=<
UserStateCollection
UserStateelement
>,shape=box,style=filled,fillcolor="white"]; "2" [label=<
UserState
UINT32logged_in_users
UINT32login_sessions
UINT32login_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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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 ` .. 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