Statistics Module


Table of Contents

1. Admin Guide
1.1. Overview
1.2. Dependencies
1.2.1. OpenSIPS Modules
1.2.2. External Libraries or Applications
1.3. Exported Parameters
1.3.1. variable (string)
1.4. Exported Functions
1.4.1. update_stat(variable,value)
1.4.2. reset_stat(variable)
1.5. Exported pseudo-variables
1.5.1. $stat
2. Contributors
2.1. By Commit Statistics
2.2. By Commit Activity
3. Documentation
3.1. Contributors

List of Tables

2.1. Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)
2.2. Most recently active contributors(1) to this module

List of Examples

1.1. variable example
1.2. update_stat usage
1.3. reset_stat usage
1.4. $stat usage

Chapter 1. Admin Guide

1.1. Overview

The Statistics module is a wrapper over the internal statistics manager, allowing the script writer to dynamically define and use of statistic variables.

By bringing the statistics support into the script, it takes advantage of the script flexibility in defining logics, making possible implementation of any kind of statistic scenario.

1.2. Dependencies

1.2.1. OpenSIPS Modules

The following modules must be loaded before this module:

  • No dependencies on other OpenSIPS modules.

1.2.2. External Libraries or Applications

The following libraries or applications must be installed before running OpenSIPS with this module loaded:

  • None.

1.3. Exported Parameters

1.3.1. variable (string)

Name of a new statistic variable. The name may be followed by additional flag which describe the variable behavior:

  • no_reset : variable cannot be reset.

Example 1.1. variable example

modparam("statistics", "variable", "register_counter")
modparam("statistics", "variable", "active_calls/no_reset")

1.4. Exported Functions

1.4.1.  update_stat(variable,value)

Updates the value of the statistic variable with the new value.

Meaning of the parameters is as follows:

  • variable - variable to be updated (it can be a string or a pseudovariable);

  • value - value to update with; it may be also negative.

This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, FAILURE_ROUTE and ONREPLY_ROUTE.

Example 1.2. update_stat usage

...
update_stat("register_counter", "+1");
...
$var(a_calls) = "active_calls";
update_stat("$var(a_calls)", "-1");
...

1.4.2.  reset_stat(variable)

Resets to zero the value of the statistic variable.

Meaning of the parameters is as follows:

  • variable - variable to be reset-ed (it can be a string or a pseudovariable).

This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, FAILURE_ROUTE and ONREPLY_ROUTE.

Example 1.3. reset_stat usage

...
reset_stat("register_counter");
...
$var(reg_counter) = "register_counter";
update_stat("$var(reg_counter)");
...

1.5. Exported pseudo-variables

1.5.1. $stat

Allows to get and reset core and modules exported statistics. The pseudo-variable receives as parameter the name of the statistic that it want to get or reset.

Example 1.4. $stat usage

...
xlog("SHM used size = $stat(used_size) \n");
...
$stat(err_requests) = 0;
...
			

Chapter 2. Contributors

2.1. By Commit Statistics

Table 2.1. Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)

 NameDevScoreCommitsLines ++Lines --
1. Bogdan-Andrei Iancu (@bogdan-iancu)33201022203
2. Daniel-Constantin Mierla (@miconda)1192218
3. Liviu Chircu (@liviuchircu)861135
4. Razvan Crainea (@razvancrainea)75910
5. Vlad Paiu (@vladpaiu)521441
6. Anca Vamanu421416
7. Henning Westerholt (@henningw)4244
8. Ovidiu Sas (@ovidiusas)31152
9. Konstantin Bokarius3125
10. Julián Moreno Patiño3111

All remaining contributors: Edson Gellert Schubert.

(1) DevScore = author_commits + author_lines_added / (project_lines_added / project_commits) + author_lines_deleted / (project_lines_deleted / project_commits)

(2) including any documentation-related commits, excluding merge commits. Regarding imported patches/code, we do our best to count the work on behalf of the proper owner, as per the "fix_authors" and "mod_renames" arrays in opensips/doc/build-contrib.sh. If you identify any patches/commits which do not get properly attributed to you, please submit a pull request which extends "fix_authors" and/or "mod_renames".

(3) ignoring whitespace edits, renamed files and auto-generated files

2.2. By Commit Activity

Table 2.2. Most recently active contributors(1) to this module

 NameCommit Activity
1. Bogdan-Andrei Iancu (@bogdan-iancu)Mar 2006 - Jun 2018
2. Liviu Chircu (@liviuchircu)Mar 2014 - Jun 2018
3. Razvan Crainea (@razvancrainea)Feb 2012 - Nov 2016
4. Julián Moreno PatiñoFeb 2016 - Feb 2016
5. Vlad Paiu (@vladpaiu)Jul 2010 - Feb 2011
6. Anca VamanuOct 2007 - Sep 2009
7. Ovidiu Sas (@ovidiusas)Jun 2008 - Jun 2008
8. Daniel-Constantin Mierla (@miconda)Nov 2006 - Mar 2008
9. Konstantin BokariusMar 2008 - Mar 2008
10. Edson Gellert SchubertFeb 2008 - Feb 2008

All remaining contributors: Henning Westerholt (@henningw).

(1) including any documentation-related commits, excluding merge commits

Chapter 3. Documentation

3.1. Contributors

Last edited by: Bogdan-Andrei Iancu (@bogdan-iancu), Liviu Chircu (@liviuchircu), Razvan Crainea (@razvancrainea), Vlad Paiu (@vladpaiu), Ovidiu Sas (@ovidiusas), Daniel-Constantin Mierla (@miconda), Konstantin Bokarius, Edson Gellert Schubert.

doc copyrights:

Copyright © 2006 Voice Sistem SRL