mirror of https://github.com/sipwise/kamailio.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
218 lines
5.5 KiB
218 lines
5.5 KiB
|
|
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
|