From: Serge <as...@us...> - 2006-03-10 18:59:42
|
Update of /cvsroot/jungerl/jungerl/lib/lama/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6564/doc Modified Files: lama.html lama_alarm_h.html lama_syslog_h.html overview-summary.html tracer.html Log Message: Changed the format of pids send to syslog Index: lama_alarm_h.html =================================================================== RCS file: /cvsroot/jungerl/jungerl/lib/lama/doc/lama_alarm_h.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- lama_alarm_h.html 11 Jan 2006 14:33:27 -0000 1.1 +++ lama_alarm_h.html 10 Mar 2006 18:59:35 -0000 1.2 @@ -11,7 +11,7 @@ <ul><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul> <p><b>Version:</b> $Rev: 265 $ </p> -<p><b>Behaviour:</b> <a href="gen_event.html"><tt>gen_event</tt></a>.</p> +<p><b>Behaviours:</b> <a href="gen_event.html"><tt>gen_event</tt></a>.</p> <p><b>Authors:</b> Serge Aleynikov (<a href="mailto:se...@hq..."><tt>se...@hq...</tt></a>).</p> <h2><a name="description">Description</a></h2>This module implements a replacement for SASL's alarm_handler. Index: overview-summary.html =================================================================== RCS file: /cvsroot/jungerl/jungerl/lib/lama/doc/overview-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- overview-summary.html 11 Jan 2006 14:33:27 -0000 1.1 +++ overview-summary.html 10 Mar 2006 18:59:35 -0000 1.2 @@ -1,142 +1,10 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> -<title>LAMA - Log and Alarm Manager Overview - </title> +<title>The lama application</title> <link rel="stylesheet" type="text/css" href="stylesheet.css"> </head> <body bgcolor="white"> -<h1>LAMA - Log and Alarm Manager Overview - </h1> -<p>Copyright © 2003 Serge Aleynikov </p> -<p><b>Version:</b> 1.0 $Rev: 283 $ $LastChangedDate: 2005-11-07 16:27:46 -0500 (Mon, 07 Nov 2005) $ </p> -<p><b>Authors:</b> Serge Aleynikov (<a href="mailto:se...@hq..."><tt>se...@hq...</tt></a>).</p> -<p>This application implements LAMA - Log and Alarm Manager.</p> - -<h3><a name="contents">Contents</a></h3> -<ol> - <li><a href="#fs">Features</a></li> - <li><a href="#sc">Configuration Options</a></li> - <li><a href="#mc">Programming Macros</a></li> - <li><a href="#cm">Configuration Management</a></li> - <li><a href="#ex">Examples</a></li> -</ol> - - -<h3><a name="fs">Features</a></h3> - -LAMA offers the following features: -<ul> -<li>Event handler logging of all error_logger's standard reports to - syslog</li> -<li>Setting and clearing alarms that are logged to syslog</li> -<li>Defining map between alarms and SNMP traps, so that when - an alarm is set/cleared, it will cause an associated SNMP - trap to be sent to a configured SNMP manager, logged - to syslog, and displayed on screen through a standard - error_logger's report.</li> -<li>Standard macros to report errors of various priorities</li> -<li>Functions to process application configuration options</li> -<li>A module <a href="tracer.html"><code>tracer</code></a> for function call tracing</li> -</ul> -It installs two event handlers: <a href="lama_alarm_h.html"><code>lama_alarm_h</code></a> (that -replaces SASL's standard alarm_handler), and <a href="lama_syslog_h.html"><code>lama_syslog_h</code></a> (in -error_logger event manager). Both event handlers are fault tolerant -by being supervised by guarding processes (see <a href="lama_guard.html"><code>lama_guard</code></a>). -Module <a href="lama.html"><code>lama</code></a> implements the application LAMA and its supervisor. -Note that this application will not start unless SASL is started. -<p> </p> - -<h3><a name="sc">Configuration Options</a></h3> - -<dl> -<dt><code>{notify_name, NotifyName::string()}</code></dt> -<dd>NotifyName is a key from the SNMP's <code>notify.config</code> file. It - defines the host destinations for all alarms sent to an SNMP manager. - Default value is "".</dd> -<dt><code>{alarm_traps, AlarmTraps::list()}</code></dt> -<dd>A mapping between AlarmIDs and Traps. It is used to lookup a trap - when a corresponding alarm is set. <code>AlarmTraps</code> contains either - {AlarmID, Trap, Varbinds} tuples, or an atom: <code>os_mon</code> - for - setting all three OS_MON's traps (process memory / system memory / disk).</dd> -<dt><code>{syslog_host, HostName::string()}</code></dt> -<dd>Host for receiving syslog messages. Default: <i>"localhost"</i>.</dd> -<dt><code>{syslog_indent, Indent::atom()}</code></dt> -<dd>Default indent used to identify the application in log messages. - Use application:get_applicaiton/0 in applications. Default: <i>lama</i>.</dd> -<dt><code>{syslog_facility, Facility::atom()}</code></dt> -<dd>Log facility used by syslog. Default: <i>user</i>. - Posible values: user,mail,daemon,auth,syslog,lpr,news,uucp,cron,ftp,local0-7</dd> -<dt><code>{syslog_types, Types::list()}</code></dt> -<dd>Types of messages that need to be sent to syslog. Default: <code>[alert, error, warning]</code>. - By default <code>notice</code>, <code>debug</code> and <code>info</code> messages are not sent to syslog, - but printed to screen. Use this option to override the default behaviour.</dd> -<dt><code>{ignore_types, Types::list()}</code></dt> -<dd>Types of messages that will be ignored. Supported values - <code>[alert, error, warning, notice, debug, info]</code>. Default: <code>[]</code>. - If you want to completely ignore some message types, use this option. This is - convenient when you want to have some debugging information printed during - development, and don't want that verbosity in production.</dd> -<dt><code>{alarm_set_priority, Priority::atom()}</code></dt> -<dd>Syslog priority to use when sending an alarm. Default: <code>error</code></dd> -<dt><code>{alarm_cleared_priority, Priority::atom()}</code></dt> -<dd>Syslog priority to use when clearing an alarm. Default: <code>warning</code></dd> -</dl> - -<h3><a name="mc">Programming Macros</a></h3> - -<dl> -<dt><code>?ALERT(Format, Args)</code></dt> -<dd>Notify error_logger handler with an event forwarded to syslog with the <code>alert</code> priority.</dd> - -<dt><code>?ERROR(Format, Args)</code></dt> -<dd>Notify error_logger handler with an event forwarded to syslog with the <code>error</code> priority.</dd> - -<dt><code>?WARNING(Format, Args)</code></dt> -<dd>Notify error_logger handler with an event forwarded to syslog with the <code>warning</code> priority.</dd> - -<dt><code>?INFO(Format, Args)</code></dt> -<dd>Notify error_logger handler with an <code>info</code> event displayed on the terminal without standard error header.</dd> - -<dt><code>?DEBUG(Format, Args)</code></dt> -<dd>Notify error_logger handler with an <code>debug</code> event displayed on the terminal without standard error header.</dd> -</dl> - -The same macros are also available with a <code>DIST_</code> prefix that will send the event to all -known Erlang nodes.<p> </p> - -<h3><a name="cm">Configuration Management</a></h3> - -<p>Lama module exports several functions (<code>get_app_*</code>, <code>get_opt</code>, -<code>verify_config</code>) that can be used to perform type verification of configuration -options. The following guideline is suggested:</p> - -<ul> -<li>A MODULE included in an application that requires custom typed parameters exports a function - <code>get_def_options/0</code>. This function should return a list <a href="lama.html#type-typed_options"><code>lama:typed_options()</code></a> of - options parameters with their default values and expected types. E.g.: - <pre> - get_def_options() -> - %% {param_name, def_value, expected_type} - [{notify_name, "", string}, - {alarm_traps, [os_mon], fun check_altr/2}]. - </pre> -</li> -<li><p>The main application module that uses <code>application</code> behaviour calls - <code>MODULE:get_def_options/0</code>, and passes the result to <a href="lama.html#get_app_options-3"><code>lama:get_app_options/3</code></a>, - which fetches all options in the resulting list from the application's environment, and - checks their types. It returns the list of validated paramaters (<code><a href="lama.html#type-options"><code>lama:options()</code></a>)</code> -that can be passed to the application's supervisor.</p> - - <pre> - start(_, Options) -> - Params = lama:get_app_options(lama, Options, MODULE:get_def_options()), - supervisor:start_link({local, main_sup}, ?MODULE, [Params]). - </pre> -</li> -</ul> - -<h3><a name="ex">Examples</a></h3> - +<h1>The lama application</h1> </body> </html> Index: tracer.html =================================================================== RCS file: /cvsroot/jungerl/jungerl/lib/lama/doc/tracer.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tracer.html 11 Jan 2006 14:33:27 -0000 1.1 +++ tracer.html 10 Mar 2006 18:59:35 -0000 1.2 @@ -9,8 +9,8 @@ <h1>Module tracer</h1> This module implements tracing support for function calls. <ul><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul> -<p><b>Version:</b> $Rev: 265 $ - $LastChangedDate: 2005-10-21 14:56:03 -0400 (Fri, 21 Oct 2005) $</p> +<p><b>Version:</b> $Rev: 359 $ + $LastChangedDate: 2006-01-11 10:28:26 -0500 (Wed, 11 Jan 2006) $</p> <p><b>Authors:</b> Serge Aleynikov (<a href="mailto:se...@hq..."><tt>se...@hq...</tt></a>).</p> <h2><a name="description">Description</a></h2>This module implements tracing support for function calls. It is @@ -50,7 +50,7 @@ <h3><a name="tf-4">tf/4</a></h3> <p><tt>tf(M, F, Args, Flags) -> TraceList::term()</tt></p> <p>Trace a function call and return trace result. - See <a href="http://www.erlang.org/edoc/doc/kernel/doc/erlang.html#trace-3"><code>//kernel/erlang:trace/3</code></a> for description of Flags.</p> + See <a href="/home/serge/tmp/jungerl/lib/kernel/doc/erlang.html#trace-3"><code>//kernel/erlang:trace/3</code></a> for description of Flags.</p> <h3><a name="tp-3">tp/3</a></h3> <p><tt>tp(M, F, Args) -> Result::term()</tt></p> @@ -60,6 +60,6 @@ <p><tt>tp(M, F, Args, Flags::FlagList) -> Result::term()</tt> <ul><li><tt>FlagList = [Flag::atom()]</tt></li></ul></p> <p>Trace a function call and print trace result to the console. - See <a href="http://www.erlang.org/edoc/doc/kernel/doc/erlang.html#trace-3"><code>//kernel/erlang:trace/3</code></a> for description of Flags.</p> + See <a href="/home/serge/tmp/jungerl/lib/kernel/doc/erlang.html#trace-3"><code>//kernel/erlang:trace/3</code></a> for description of Flags.</p> </body> </html> Index: lama_syslog_h.html =================================================================== RCS file: /cvsroot/jungerl/jungerl/lib/lama/doc/lama_syslog_h.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- lama_syslog_h.html 11 Jan 2006 14:33:27 -0000 1.1 +++ lama_syslog_h.html 10 Mar 2006 18:59:35 -0000 1.2 @@ -9,13 +9,13 @@ <h1>Module lama_syslog_h</h1> This module implements a syslog event handler for error_logger. <ul><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul> -<p><b>Version:</b> $Rev: 283 $ - $LastChangedDate: 2005-11-07 16:27:46 -0500 (Mon, 07 Nov 2005) $ +<p><b>Version:</b> $Rev: 464 $ + $LastChangedDate: 2006-02-02 20:59:48 -0500 (Thu, 02 Feb 2006) $ `` Example message as seen in the syslog file: Mar 19 21:26:44 10.231.12.2 n@spider:test[0.45.0]: [ALERT] Test msg '''</p> -<p><b>Behaviour:</b> <a href="gen_event.html"><tt>gen_event</tt></a>.</p> +<p><b>Behaviours:</b> <a href="gen_event.html"><tt>gen_event</tt></a>.</p> <p><b>Authors:</b> Serge Aleynikov (<a href="mailto:se...@hq..."><tt>se...@hq...</tt></a>).</p> <h2><a name="description">Description</a></h2>This module implements a syslog event handler for error_logger. @@ -25,6 +25,7 @@ <tr><td valign="top"><a href="#handle_event-2">handle_event/2</a></td><td/></tr> <tr><td valign="top"><a href="#handle_info-2">handle_info/2</a></td><td/></tr> <tr><td valign="top"><a href="#init-1">init/1</a></td><td/></tr> +<tr><td valign="top"><a href="#is_string-1">is_string/1</a></td><td/></tr> <tr><td valign="top"><a href="#log-4">log/4</a></td><td/></tr> <tr><td valign="top"><a href="#start_link-1">start_link/1</a></td><td/></tr> <tr><td valign="top"><a href="#stop-0">stop/0</a></td><td>Remore alarm handler.</td></tr> @@ -54,6 +55,10 @@ <tt>init(Options) -> term() </tt> +<h3><a name="is_string-1">is_string/1</a></h3> +<tt>is_string(T) -> term() +</tt> + <h3><a name="log-4">log/4</a></h3> <tt>log(Priority, Format, Msg, Optional) -> term() </tt> Index: lama.html =================================================================== RCS file: /cvsroot/jungerl/jungerl/lib/lama/doc/lama.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- lama.html 11 Jan 2006 14:33:27 -0000 1.1 +++ lama.html 10 Mar 2006 18:59:35 -0000 1.2 @@ -9,9 +9,9 @@ <h1>Module lama</h1> This module implements LAMA - Log and Alarm Management Applicaiton. <ul><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul> -<p><b>Version:</b> $Rev: 358 $ - $LastChangedDate: 2006-01-05 20:37:25 -0500 (Thu, 05 Jan 2006) $</p> -<p><b>Behaviour:</b> <a href="application.html"><tt>application</tt></a>.</p> +<p><b>Version:</b> $Rev: 540 $ + $LastChangedDate: 2006-02-23 16:36:33 -0500 (Thu, 23 Feb 2006) $</p> +<p><b>Behaviours:</b> <a href="application.html"><tt>application</tt></a>.</p> <p><b>Authors:</b> Serge Aleynikov (<a href="mailto:se...@hq..."><tt>se...@hq...</tt></a>).</p> <h2><a name="description">Description</a></h2>This module implements LAMA - Log and Alarm Management Applicaiton. @@ -42,8 +42,11 @@ <h2><a name="index">Function Index</a></h2> <table width="100%" border="1"><tr><td valign="top"><a href="#add_alarm_trap-3">add_alarm_trap/3</a></td><td>Add an alarm to trap mapping to the internal #state.alarm_map list.</td></tr> +<tr><td valign="top"><a href="#bytestring_to_hexstring-1">bytestring_to_hexstring/1</a></td><td>Converts a byte string to a list of hexadecimal digits + (one byte will be represented as two hex digits).</td></tr> <tr><td valign="top"><a href="#check_alarm-2">check_alarm/2</a></td><td>Based on the return value of Fun set or clear an Alarm.</td></tr> <tr><td valign="top"><a href="#clear_alarm-1">clear_alarm/1</a></td><td>Clear alarm that was previously set by set_alarm/1.</td></tr> +<tr><td valign="top"><a href="#create_release_file-2">create_release_file/2</a></td><td>Create a release file given a release template file.</td></tr> <tr><td valign="top"><a href="#get_alarms-0">get_alarms/0</a></td><td>Get currently active alarms.</td></tr> <tr><td valign="top"><a href="#get_app_env-3">get_app_env/3</a></td><td>Fetch a value of the application's environment variable <code>Key</code>.</td></tr> <tr><td valign="top"><a href="#get_app_env-4">get_app_env/4</a></td><td>Fetch a value of the application's environment variable <code>Key</code>.</td></tr> @@ -58,6 +61,8 @@ <tr><td valign="top"><a href="#get_opt-2">get_opt/2</a></td><td>Fetch the Option's value from the <code>Options</code> list.</td></tr> <tr><td valign="top"><a href="#get_opt-3">get_opt/3</a></td><td>Same as get_opt/2, but instead of throwing an error, it returns a <code>Default</code> value if the <code>Opt</code> is not in the <code>Options</code> list.</td></tr> +<tr><td valign="top"><a href="#hexstring_to_bytestring-1">hexstring_to_bytestring/1</a></td><td>Converts a hex string to a list of integers.</td></tr> +<tr><td valign="top"><a href="#is_string-1">is_string/1</a></td><td>Returns true if S is a string.</td></tr> <tr><td valign="top"><a href="#os_path-1">os_path/1</a></td><td>Perform replacement of environment variable values in the OsPath.</td></tr> <tr><td valign="top"><a href="#set_alarm-1">set_alarm/1</a></td><td>Set alarm.</td></tr> <tr><td valign="top"><a href="#start-0">start/0</a></td><td>Start LAMA application.</td></tr> @@ -77,6 +82,11 @@ Same as <a href="lama_alarm_h.html#add_alarm_trap-3"><code>lama_alarm_h:add_alarm_trap/3</code></a>.</p> <p><b>See also:</b> <a href="lama_alarm_h.html#add_alarm_trap-3">lama_alarm_h:add_alarm_trap/3</a>.</p> +<h3><a name="bytestring_to_hexstring-1">bytestring_to_hexstring/1</a></h3> +<p><tt>bytestring_to_hexstring(ByteString::list()) -> string()</tt></p> +<p>Converts a byte string to a list of hexadecimal digits + (one byte will be represented as two hex digits).</p> + <h3><a name="check_alarm-2">check_alarm/2</a></h3> <p><tt>check_alarm(Fun::function(), Alarm::<a href="#type-alarm">alarm()</a>) -> ok</tt> <ul><li><tt>Fun = () -> <a href="#type-boolean">boolean()</a></tt></li><li><tt><a name="type-alarm">alarm()</a> = <a href="lama_alarm_h.html#type-alarm">lama_alarm_h:alarm()</a></tt></li></ul></p> @@ -89,6 +99,23 @@ is equivalent to <a href="lama_alarm_h.html#clear_alarm-1"><code>lama_alarm_h:clear_alarm/1</code></a>.</p> <p><b>See also:</b> <a href="#check_alarm-2">check_alarm/2</a>, <a href="lama_alarm_h.html#clear_alarm-1">lama_alarm_h:clear_alarm/1</a>.</p> +<h3><a name="create_release_file-2">create_release_file/2</a></h3> +<p><tt>create_release_file(TemplateRelFile, OutRelFile) -> ok</tt> +<ul><li><tt>TemplateRelFile = <a href="#type-filename">filename()</a></tt></li><li><tt>OutRelFile = <a href="#type-filename">filename()</a></tt></li></ul></p> +<p>Create a release file given a release template file. The + release template file should have the same structure as the + release file. This function will ensure that latest + application versions are included in the release. It will + also ensure that the latest erts version is specified in + the release file. Note that both arguments may contain the + ".rel" extension, however the actual TemplateRelFile must + have a ".rel" extension. The TemplateRelFile doesn't need + to contain application version numbers - an empty string will + do: <code>{kernel, ""}</code>. This function will populate + the version number with current version of the application. + <pre> Example: + lama:create_release_file(".drp.template.rel", "./ebin/drp.rel").</pre></p> + <h3><a name="get_alarms-0">get_alarms/0</a></h3> <p><tt>get_alarms() -> Alarms</tt> <ul><li><tt>Alarms = [Alarm::<a href="#type-alarm">alarm()</a>]</tt></li></ul></p> @@ -121,14 +148,14 @@ <p><tt>get_app_options(App::atom(), DefOptions::<a href="#type-options">options()</a>, TypedOptions::<a href="#type-typed_options">typed_options()</a>) -> Options::<a href="#type-options">options()</a></tt></p> <p>Look up TypedOptions in the environment. If not found use defaults in the DefOptions list, and if not found there, use the default - values from a TypedOption's tuple: {_Key, DefaultValue, _Type}. + value from a TypedOption's tuple: {_Key, DefaultValue, _Type}. <pre> Example: - start_application(StartOptions) -> + start_application(StartArgs) -> get_app_options(test, StartArgs, [{file, "bar", string}]), ... . - start_application([]) -> [{file, "bar"}]. - start_application([{file, "foo"}]) -> [{file, "foo"}]. + start_application([]) -> [{file, "bar"}] + start_application([{file, "foo"}]) -> [{file, "foo"}] If application's environment had {file, "zzz"}, than this tuple would've been returned instead.</pre></p> @@ -153,6 +180,14 @@ a <code>Default</code> value if the <code>Opt</code> is not in the <code>Options</code> list.</p> <p><b>See also:</b> <a href="#get_app_env-4">get_app_env/4</a>, <a href="#get_app_env-5">get_app_env/5</a>, <a href="#get_opt-2">get_opt/2</a>.</p> +<h3><a name="hexstring_to_bytestring-1">hexstring_to_bytestring/1</a></h3> +<p><tt>hexstring_to_bytestring(HexString::list()) -> list()</tt></p> +<p>Converts a hex string to a list of integers.</p> + +<h3><a name="is_string-1">is_string/1</a></h3> +<p><tt>is_string(S::term()) -> <a href="#type-boolean">boolean()</a></tt></p> +<p>Returns true if S is a string.</p> + <h3><a name="os_path-1">os_path/1</a></h3> <p><tt>os_path(OsPath::string()) -> Path::string()</tt></p> <p>Perform replacement of environment variable values in the OsPath. |