Hugh Waite 0577abba2a documentation: Rebuild all modified READMEs 12 years ago
..
doc a966e236f5 counters: Fix TOC in documentation 12 years ago
Makefile 90ba454289 counters: new modules for counters manipulations 15 years ago
README 0577abba2a documentation: Rebuild all modified READMEs 12 years ago
counters.c f157bd9cfb core, counters mod: fix a bunch of doxygen errors, small whitespace fix 14 years ago

README


Counters Module

Andrei Pelinescu-Onciul

iptelorg GmbH

Copyright � 2010 iptelorg GmbH
_________________________________________________________________

Table of Contents

1. Admin Guide

1. Overview
2. Parameters

2.1. script_counter
2.2. script_cnt_grp_name

3. Functions

3.1. cnt_inc([group.]name)
3.2. cnt_add([group.]name, number)
3.3. cnt_reset([group.]name)

4. counters RPC Functions

4.1. cnt.get group counter_name
4.2. cnt.reset group counter_name
4.3. cnt.grps_list
4.4. cnt.var_list group
4.5. cnt.grp_get_all
4.6. cnt.help group counter_name

List of Examples

1.1. Create a new script_counter
1.2. Set script_cnt_grp_name in the config file
1.3. cnt_inc usage
1.4. cnt_add usage
1.5. cnt_reset usage
1.6. cnt.get grp counter_name usage
1.7. cnt.reset grp name usage
1.8. cnt.grps_list usage
1.9. cnt.var_list group usage
1.10. cnt.var_list group usage
1.11. cnt.help grp name usage

Chapter 1. Admin Guide

Table of Contents

1. Overview
2. Parameters

2.1. script_counter
2.2. script_cnt_grp_name

3. Functions

3.1. cnt_inc([group.]name)
3.2. cnt_add([group.]name, number)
3.3. cnt_reset([group.]name)

4. counters RPC Functions

4.1. cnt.get group counter_name
4.2. cnt.reset group counter_name
4.3. cnt.grps_list
4.4. cnt.var_list group
4.5. cnt.grp_get_all
4.6. cnt.help group counter_name

1. Overview

This module exports counters/statistics manipulating script functions
and RPCs.

2. Parameters

2.1. script_counter
2.2. script_cnt_grp_name

2.1. script_counter

Define a new counter that can be used from the script. The declaration
might include a group in front of the counter name, separated with
'.'. It might also include a counter description string (help
message), separated from the name with a ' ' or ':'. If the group is
missing, the group defined in the script_cnt_grp_name module parameter
will be used (the default is "script"). If the description is missing,
the default is "custom script counter". The format of the declaration
is: [group.]name[( |:)description].

Example 1.1. Create a new script_counter
modparam("counters", "script_counter", "foo") # script.foo
modparam("counters", "script_counter", "test.bar") # test.bar
modparam("counters", "script_counter", "baz example counter") # script.baz
modparam("counters", "script_counter", "test.x:another example") # test.x

2.2. script_cnt_grp_name

Group name that will be used for the counters defined via the
script_counter module parameter which do not have a specified group.

Default: "script".

Example 1.2. Set script_cnt_grp_name in the config file
modparam("counters", "script_cnt_grp_name", "my_counters")

3. Functions

3.1. cnt_inc([group.]name)
3.2. cnt_add([group.]name, number)
3.3. cnt_reset([group.]name)

3.1. cnt_inc([group.]name)

Increments the counter group.name. The counter must be defined using
the script_counter module parameter. If the group name is missing, the
group specified by the script_cnt_grp_name modparam will be used.

Example 1.3. cnt_inc usage
...
modparam("counters", "script_counter", "reqs")
modparam("counters", "script_counter", "out.reqs forwarded requests")
...
route {
cnt_inc("reqs");
if (forward(uri:host, uri:port))
cnt_inc("out.reqs");
...
}

3.2. cnt_add([group.]name, number)

Adds number the counter group.name. The counter must be defined using
the script_counter module parameter. If the group name is missing, the
group specified by the script_cnt_grp_name modparam will be used.

Example 1.4. cnt_add usage
...
modparam("counters", "script_counter", "reqs10 reqs times 10")
...
route {
cnt_add("reqs10", 10);
...
}

3.3. cnt_reset([group.]name)

Resets the counter group.name. The counter must be defined using the
script_counter module parameter. If the group name is missing, the
group specified by the script_cnt_grp_name modparam will be used.

Example 1.5. cnt_reset usage
...
modparam("counters", "script_counter", "reqs")
...
route {
if (...)
cnt_reset("reqs");
...
}

4. counters RPC Functions

4.1. cnt.get group counter_name
4.2. cnt.reset group counter_name
4.3. cnt.grps_list
4.4. cnt.var_list group
4.5. cnt.grp_get_all
4.6. cnt.help group counter_name

4.1. cnt.get group counter_name

Get the value of the counter identified by group.counter_name.

Example 1.6. cnt.get grp counter_name usage
$ kamcmd cnt.get script foo

4.2. cnt.reset group counter_name

Resets the counter identified by group.counter_name.

Example 1.7. cnt.reset grp name usage
$ kamcmd cnt.reset script foo

4.3. cnt.grps_list

Lists all the declared counter groups.

Example 1.8. cnt.grps_list usage
$ kamcmd cnt.grps_list

4.4. cnt.var_list group

Lists all the names of all the counters belonging to the specified
group.

Example 1.9. cnt.var_list group usage
$ kamcmd cnt.var_list script

4.5. cnt.grp_get_all

Lists all the counter names and their values in the specified group.

Example 1.10. cnt.var_list group usage
$ kamcmd cnt.grp_get_all script

4.6. cnt.help group counter_name

Displays the counter description.

Example 1.11. cnt.help grp name usage
$ kamcmd cnt.help script foo