Description

When querying Kamailio 5.1 for statistics via JSON, we get back a string like this (shortened):

kamailio:~# curl -X POST -d '{ "jsonrpc": "2.0", "method": "stats.get_statistics", "params": ["all"],"id": 1 }' http://172.20.21.3:15060/jsonrpc
{
	"jsonrpc":	"2.0",
	"result":	["core:bad_URIs_rcvd = 0", "core:bad_msg_hdr = 0", "core:drop_replies = 0", "core:drop_requests = 4", "core:err_replies = 0", "core:err_requests = 0", "core:fwd_replies = 2252", "core:fwd_requests = 16153", "core:rcv_replies = 393994", "core:rcv_replies_18x = 0"],
	"id":	1
}

We want to graph some of the values returned by the statistics module. But the format makes it a bit hard. I would expect the format to be like this:

{
	"jsonrpc":	"2.0",
	"result":	{"core:bad_URIs_rcvd" : 0, "core:bad_msg_hdr" : 0, "core:drop_replies" : 0, "core:drop_requests" : 4, "core:err_replies" : 0, "core:err_requests" : 0, "core:fwd_replies" : 2252, "core:fwd_requests" : 16153, "core:rcv_replies" : 393994, "core:rcv_replies_18x" : 0},
	"id":	1
}

With a result like this, one could access the result["core:bad_URIs_rcvd"] item. The way it is returned now, one has to iterate through all values and to a string comparison for the desired item.

Is there a reason, why the output is as it is?

Additional Information

version: kamailio 5.1.4 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 4.7.2
Debian Wheezy Linux hostname 3.2.0-5-amd64 #1 SMP Debian 3.2.96-3 x86_64 GNU/Linux


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.