Module class_USSensorManager

US server in charge of the monitoring of the sensors available on a local host (notably the temperatures, chassis intrusion status and the operation of fans), and of reporting any abnormal situation.

Behaviours: supervisor_bridge.

Description

US server in charge of the monitoring of the sensors available on a local host (notably the temperatures, chassis intrusion status and the operation of fans), and of reporting any abnormal situation.

Data Types

atom_sensor_type()

atom_sensor_type() = atom()

Atom-based version of a raw sensor type (e.g. 'coretemp').

attribute_entry()

attribute_entry() = {attribute_name(), attribute_value()}

attribute_name()

attribute_name() = wooper:attribute_name()

attribute_value()

attribute_value() = wooper:attribute_value()

bin_string()

bin_string() = text_utils:bin_string()

classname()

classname() = wooper:classname()

instance_pid()

instance_pid() = pid()

intrusion_detected_status()

intrusion_detected_status() = boolean()

A status regarding the detection of a chassis intrusion: false if nothing detected, true if an intrusion apparently happened.

method_argument()

method_argument() = wooper:method_argument()

method_arguments()

method_arguments() = wooper:method_arguments()

method_internal_result()

method_internal_result() = wooper:method_internal_result()

method_name()

method_name() = wooper:method_name()

oneway_name()

oneway_name() = wooper:oneway_name()

oneway_return()

oneway_return() = wooper:oneway_return()

raw_sensor_id()

raw_sensor_id() = bin_string()

Full identifier of a sensor, directly as read from JSON; e.g. <<"coretemp-isa-0000">>, <<"nct6792-isa-0a20">>, <<"nvme-pci-0200">>, <<"radeon-pci-0008">>, etc.; structure is <<"RawSensorType-SensorInterface-SensorNumber">>.

raw_sensor_type()

raw_sensor_type() = ustring()

The reported type for a sensor, like "coretemp", "k10temp", "acpitz", "nvme", "radeon", etc.; many exist as they correspond to different chips (e.g. "nct6792") on motherboards.

request_name()

request_name() = wooper:request_name()

request_result()

request_result() = any()

request_result()

request_result(T) = wooper:request_result(T)

request_return()

request_return(T) = wooper:request_return(T)

requests_outcome()

requests_outcome() = wooper:requests_outcome()

sensor_category()

sensor_category() = cpu | cpu_socket | motherboard | chipset | ram | disk | battery | gpu | network | bus | unknown

sensor_id()

sensor_id() = {atom_sensor_type(), sensor_interface(), sensor_number()}

Full internal identifier of a sensor, directly deriving from a raw one. For example {coretemp, isa, <<"0a20">>}.

sensor_interface()

sensor_interface() = isa | acpi | pci | virtual | unknown | atom()

The reported hardware interface for a sensor.

sensor_number()

sensor_number() = bin_string()

Kept as a (binary) string (even if is an hexadecimal value), for clarity. For example <<"0a20">>.

user_muted_points()

user_muted_points() = [user_specified_point()] | all_points

of a given sensor User specification of measurement points to be muted for a given sensor (they shall not be taken into account, typically because they are known to report bogus values).

At least currently, this mostly applies to temperature sensors.

user_muted_sensor_measurements()

user_muted_sensor_measurements() = [{user_muted_sensor_spec(), user_muted_points()}]

User specification of sensor measurements to be muted.

At least currently, this mostly applies to temperature sensors.

Corresponds to the legit settings expected as class_USMainConfigServer:user_muted_sensor_points(); may be for example: [{nct6792, isa, "0a20"}, ["AUXTIN1"]}, {acpitz, acpi, "0"}, all_points}].

user_muted_sensor_spec()

user_muted_sensor_spec() = {atom_sensor_type(), sensor_interface(), user_sensor_number()}

User specification of a sensor whose measurements may be muted. For example {nct6792, isa, "0a20"}.

user_sensor_number()

user_sensor_number() = ustring()

For example "0a20", in {nct6792, isa, "0a20"}.

user_specified_point()

user_specified_point() = ustring()

A measurement point specified in the configuration (e.g. "AUXTIN1").

ustring()

ustring() = text_utils:ustring()

Function Index

addKeyValueToAttribute/4
addToAttribute/3
appendToAttribute/3
concatToAttribute/3
decrementAttribute/2
deleteFromAttribute/3
executeConstOneway/2
executeConstOneway/3
executeConstOnewayAs/3
executeConstOnewayAs/4
executeConstRequest/2
executeConstRequest/3
executeConstRequestAs/3
executeConstRequestAs/4
executeOneway/2
executeOneway/3
executeOnewayAs/3
executeOnewayAs/4
executeRequest/2
executeRequest/3
executeRequestAs/3
executeRequestAs/4
getAttribute/2
getAttributes/2
getMaybeAttribute/2
hasAttribute/2
incrementAttribute/2
init/1Callback to initialise this supervisor bridge, typically in answer to start_link/0 being executed.
intrusion_status_to_string/1Returns a textual description of the specified intrusion detection status.
is_wooper_debug/0
popFromAttribute/2
removeAttribute/2
setAttribute/3
setAttributes/2
start_link/0Starts and links a supervision bridge for the sensor management.
subtractFromAttribute/3
swapInAttribute/3
terminate/2Callback to terminate this supervisor bridge.
toggleAttribute/2
wooper_destruct/1
wooper_effective_method_execution/4
wooper_execute_method/3
wooper_execute_method_as/4
wooper_get_class_specific_attributes/0
wooper_handle_local_oneway_execution/3
wooper_handle_local_request_execution/3
wooper_handle_remote_oneway_execution/3
wooper_handle_remote_request_execution/4
wooper_main_loop/1

Function Details

addKeyValueToAttribute/4

addKeyValueToAttribute(State::wooper:state(), AttributeName::attribute_name(), Key::table:key(), Value::table:value()) -> wooper:state()

addToAttribute/3

addToAttribute(State::wooper:state(), AttributeName::attribute_name(), Value::attribute_value()) -> wooper:state()

appendToAttribute/3

appendToAttribute(State::wooper:state(), AttributeName::attribute_name(), Element::attribute_value()) -> wooper:state()

concatToAttribute/3

concatToAttribute(State::wooper:state(), AttributeName::attribute_name(), List::attribute_value()) -> wooper:state()

decrementAttribute/2

decrementAttribute(State::wooper:state(), AttributeName::attribute_name()) -> wooper:state()

deleteFromAttribute/3

deleteFromAttribute(State::wooper:state(), AttributeName::attribute_name(), Element::attribute_value()) -> wooper:state()

executeConstOneway/2

executeConstOneway(State::wooper:state(), OnewayAtom::oneway_name()) -> void()

executeConstOneway/3

executeConstOneway(State::wooper:state(), OnewayAtom::oneway_name(), ArgumentList::method_arguments()) -> void()

executeConstOnewayAs/3

executeConstOnewayAs(State::wooper:state(), Classname::classname(), OnewayAtom::oneway_name()) -> void()

executeConstOnewayAs/4

executeConstOnewayAs(State::wooper:state(), Classname::classname(), OnewayAtom::oneway_name(), ArgumentList::method_arguments()) -> void()

executeConstRequest/2

executeConstRequest(State::wooper:state(), RequestAtom::request_name()) -> method_internal_result()

executeConstRequest/3

executeConstRequest(State::wooper:state(), RequestAtom::request_name(), ArgumentList::method_arguments()) -> method_internal_result()

executeConstRequestAs/3

executeConstRequestAs(State::wooper:state(), ParentClassname::classname(), RequestAtom::request_name()) -> method_internal_result()

executeConstRequestAs/4

executeConstRequestAs(State::wooper:state(), Classname::classname(), RequestAtom::request_name(), ArgumentList::method_arguments()) -> method_internal_result()

executeOneway/2

executeOneway(State::wooper:state(), OnewayAtom::oneway_name()) -> wooper:state()

executeOneway/3

executeOneway(State::wooper:state(), OnewayAtom::oneway_name(), ArgumentList::method_arguments()) -> wooper:state()

executeOnewayAs/3

executeOnewayAs(State::wooper:state(), ParentClassname::classname(), OnewayAtom::oneway_name()) -> wooper:state()

executeOnewayAs/4

executeOnewayAs(State::wooper:state(), Classname::classname(), OnewayAtom::oneway_name(), ArgumentList::method_arguments()) -> wooper:state()

executeRequest/2

executeRequest(State::wooper:state(), RequestAtom::request_name()) -> {wooper:state(), method_internal_result()}

executeRequest/3

executeRequest(State::wooper:state(), RequestAtom::request_name(), ArgumentList::method_arguments()) -> {wooper:state(), method_internal_result()}

executeRequestAs/3

executeRequestAs(State::wooper:state(), ParentClassname::classname(), RequestAtom::request_name()) -> {wooper:state(), method_internal_result()}

executeRequestAs/4

executeRequestAs(State::wooper:state(), Classname::classname(), RequestAtom::request_name(), ArgumentList::method_arguments()) -> {wooper:state(), method_internal_result()}

getAttribute/2

getAttribute(State::wooper:state(), AttributeName::attribute_name()) -> attribute_value()

getAttributes/2

getAttributes(State::wooper:state(), AttributeNameList::[attribute_name()]) -> [attribute_value()]

getMaybeAttribute/2

getMaybeAttribute(State::wooper:state(), AttributeName::attribute_name()) -> maybe(attribute_value())

hasAttribute/2

hasAttribute(State::wooper:state(), AttributeName::attribute_name()) -> boolean()

incrementAttribute/2

incrementAttribute(State::wooper:state(), AttributeName::attribute_name()) -> wooper:state()

init/1

init(Args::list()) -> {ok, pid(), State::term()} | ignore | {error, Error::term()}

Callback to initialise this supervisor bridge, typically in answer to start_link/0 being executed.

intrusion_status_to_string/1

intrusion_status_to_string(IntrusStatus::intrusion_detected_status()) -> ustring()

Returns a textual description of the specified intrusion detection status.

is_wooper_debug/0

is_wooper_debug() -> boolean()

popFromAttribute/2

popFromAttribute(State::wooper:state(), AttributeName::attribute_name()) -> {wooper:state(), attribute_value()}

removeAttribute/2

removeAttribute(State::wooper:state(), AttributeName::attribute_name()) -> wooper:state()

setAttribute/3

setAttribute(State::wooper:state(), AttributeName::attribute_name(), AttributeValue::attribute_value()) -> wooper:state()

setAttributes/2

setAttributes(State::wooper:state(), ListOfAttributePairs::[attribute_entry()]) -> wooper:state()

start_link/0

start_link() -> term()

Starts and links a supervision bridge for the sensor management.

Note: typically spawned as a supervised child of the US-Main root supervisor (see us_main_sup:init/1), hence generally triggered by the application initialisation.

subtractFromAttribute/3

subtractFromAttribute(State::wooper:state(), AttributeName::attribute_name(), Value::attribute_value()) -> wooper:state()

swapInAttribute/3

swapInAttribute(State::wooper:state(), AttributeName::attribute_name(), NewAttributeValue::attribute_value()) -> {wooper:state(), attribute_value()}

terminate/2

terminate(Reason::shutdown | term(), State::term()) -> void()

Callback to terminate this supervisor bridge.

toggleAttribute/2

toggleAttribute(State::wooper:state(), BooleanAttributeName::attribute_name()) -> wooper:state()

wooper_destruct/1

wooper_destruct(State::wooper:state()) -> wooper:state()

wooper_effective_method_execution/4

wooper_effective_method_execution(SelectedModule::module(), MethodAtom::method_name(), State::wooper:state(), Parameters::method_arguments()) -> {wooper:state(), method_internal_result()}

wooper_execute_method/3

wooper_execute_method(MethodAtom::method_name(), Parameters::method_arguments(), State::wooper:state()) -> {wooper:state(), method_internal_result()}

wooper_execute_method_as/4

wooper_execute_method_as(ParentClassname::classname(), MethodAtom::method_name(), Parameters::method_arguments(), State::wooper:state()) -> {wooper:state(), method_internal_result()}

wooper_get_class_specific_attributes/0

wooper_get_class_specific_attributes() -> [wooper_info:attribute_spec()]

wooper_handle_local_oneway_execution/3

wooper_handle_local_oneway_execution(OnewayAtom::method_name(), State::wooper:state(), ArgumentList::method_arguments()) -> wooper:state()

wooper_handle_local_request_execution/3

wooper_handle_local_request_execution(RequestAtom::method_name(), State::wooper:state(), ArgumentList::method_arguments()) -> {wooper:state(), method_internal_result()}

wooper_handle_remote_oneway_execution/3

wooper_handle_remote_oneway_execution(OnewayAtom::method_name(), State::wooper:state(), ArgumentList::method_arguments()) -> wooper:state()

wooper_handle_remote_request_execution/4

wooper_handle_remote_request_execution(RequestAtom::method_name(), State::wooper:state(), ArgumentList::method_arguments(), CallerPid::pid()) -> wooper:state()

wooper_main_loop/1

wooper_main_loop(State::wooper:state()) -> deleted


Generated by EDoc