oracular (3) alarm_handler.3erl.gz

Provided by: erlang-manpages_25.3.2.12+dfsg-1ubuntu2_all bug

NAME

       alarm_handler - An Alarm Handling Process

DESCRIPTION

       The  alarm  handler process is a gen_event event manager process that receives alarms in the system. This
       process is not intended to be a complete alarm handler. It defines a place to which alarms can  be  sent.
       One  simple event handler is installed in the alarm handler at startup, but users are encouraged to write
       and install their own handlers.

       The simple event handler sends all alarms as info reports to the error logger, and saves all in  a  list.
       This  list can be passed to a user-defined event handler, which can be installed later. The list can grow
       large if many alarms are generated. This is a good reason to install a better user-defined handler.

       Functions are provided to set and clear alarms. The alarm format is defined by the user. For example,  an
       event handler for SNMP can be defined, together with an alarm Management Information Base (MIB).

       The alarm handler is part of the SASL application.

       When writing new event handlers for the alarm handler, the following events must be handled:

         {set_alarm, {AlarmId, AlarmDescr}}:
           This event is generated by alarm_handler:set_alarm({AlarmId, AlarmDecsr}).

         {clear_alarm, AlarmId}:
           This event is generated by alarm_handler:clear_alarm(AlarmId).

       The   default   simple   handler   is   called   alarm_handler   and  it  can  be  exchanged  by  calling
       gen_event:swap_handler/3 as  gen_event:swap_handler(alarm_handler,  {alarm_handler,  swap},  {NewHandler,
       Args}). NewHandler:init({Args, {alarm_handler, Alarms}}) is called. For more details, see gen_event(3erl)
       in STDLIB.

EXPORTS

       clear_alarm(AlarmId) -> void()

              Types:

                 AlarmId = term()

              Sends event clear_alarm to all event handlers.

              When receiving this event, the default simple handler clears the latest  received  alarm  with  id
              AlarmId.

       get_alarms() -> [alarm()]

              Returns  a  list  of  all active alarms. This function can only be used when the simple handler is
              installed.

       set_alarm(alarm())

              Types:

                 alarm() = {AlarmId, AlarmDescription}
                 AlarmId = term()
                 AlarmDescription = term()

              Sends event set_alarm to all event handlers.

              When receiving this event, the default simple handler stores the  alarm.  AlarmId  identifies  the
              alarm and is used when the alarm is cleared.

SEE ALSO

       error_logger(3erl), gen_event(3erl)