Provided by: erlang-manpages_25.2.3+dfsg-1_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)