[SR-Users] Strange behavior with $shtinc

Brooks Bridges bbridges at o1.com
Thu May 31 22:07:18 CEST 2018


Apologies if the initial report was unclear.  The issue isn't with the actual counts (which appear to be accurate), but that we are intermittently ending up with 2 keys in the same entry instead of one per entry.

This makes parsing the data very difficult, and I cannot determine a reason it would be doing this instead of putting each one in its own entry like it appears to do for almost all of the values until it has run for a while.

Brooks Bridges | Engineering Manager
O1 Communications
4359 Town Center Boulevard, Suite 217
El Dorado Hills, California 95762
office: 916.235.2097 | main: 888.444.1111, Option 2
email: bbridges at o1.com<mailto:bbridges at o1.com> | web: www.o1.com<http://www.o1.com/>

From: Daniel-Constantin Mierla [mailto:miconda at gmail.com]
Sent: Thursday, May 31, 2018 12:52
To: Kamailio (SER) - Users Mailing List; Brooks Bridges
Subject: Re: [SR-Users] Strange behavior with $shtinc


Did you monitor the values of those statistics over the time? If yes, was there a moment when the value evolved unexpected?

Cheers,
Daniel

On 31.05.18 19:30, Brooks Bridges wrote:
Let me preface this with the statement that as best I can tell from docs and code, this function is supposed to be 100% atomic and this shouldn't be able to happen.  I also have not found anything in the module's github commit logs that would indicate this behavior has changed from previous versions.

That being said, I appear to have run into an oddity where intermittently I'm getting 2 slots being put in the same entry, which results in trying to parse the output for graphing and reporting not working quite right.  The mechanism I'm using is a very simple counter mechanism to record statistics about calls.  As an example, I am using the following mechanism:

$var(z) = $shtinc(callstats=>$avp(realm),cps_exceeded);
or
$var(z) = $shtinc(callstats=>$avp(realm),sessions_exceeded);

This typically results in something like this:

{
        entry: 4335
        size: 1
        slot: {
                {
                        name: realm1,total_requests
                        value: 2365034
                        type: int
                }
        }
}
{
        entry: 4532
        size: 1
        slot: {
                {
                        name: realm2,cps_exceeded
                        value: 30
                        type: int
                }
        }
}
And so on...  However, one or more of them sometimes end up like this:

{
        entry: 4646
        size: 2
        slot: {
                {
                        name: realm1,total_requests
                        value: 15958026
                        type: int
                }
                {
                        name: realm2,cps_exceeded
                        value: 6432103
                        type: int
                }
        }
}

Thanks in advance for your help and/or suggestions!

Brooks Bridges | Engineering Manager
O1 Communications
4359 Town Center Boulevard, Suite 217
El Dorado Hills, California 95762
office: 916.235.2097 | main: 888.444.1111, Option 2
email: bbridges at o1.com<mailto:bbridges at o1.com> | web: www.o1.com<http://www.o1.com/>





_______________________________________________

Kamailio (SER) - Users Mailing List

sr-users at lists.kamailio.org<mailto:sr-users at lists.kamailio.org>

https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users



--

Daniel-Constantin Mierla -- www.asipto.com<http://www.asipto.com>

www.twitter.com/miconda<http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda<http://www.linkedin.com/in/miconda>

Kamailio World Conference -- www.kamailioworld.com<http://www.kamailioworld.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20180531/b7934ae7/attachment.html>


More information about the sr-users mailing list