[sr-dev] [kamailio/kamailio] dialog: extract/dump a large amount (#2269)

Julien Chavanton notifications at github.com
Wed Apr 1 01:14:04 CEST 2020


### Description

The commands available to extract dialog information `dlg.profile_list` and `dlg.list`
Are not fast enough to output a large amount of dialogs.

After doing some benchmark the time is spent in in `rpc->struct_add`, `rpc->add etc`, etc.
it appears to be slowing down linearly.

### Possible Solutions

I made a quick POC to verify what I can get if I output to file instead and I got blazing fast performance, this is good news since it means that iterating over the hash table etc. is super fast.

https://github.com/jchavanton/kamailio/commit/f28c5a6b6364d79ee35acb5be439e57612ad67ed

```
 dialog: outputing large amount of dialogs to file

Test:
1) injecting 100K dialogs with voip_perf

2) confirmation that we have 100K+ dialogs
kamcmd dlg.profile_get_size outbound_call
100879

3) execute the quickly hacked modifications to output to /tmp/dialogs.txt
kamctl rpc dlg.profile_list outbound_call

3.1) verify how long it took
2020-03-31T22:28:18.398916476Z 12(31) : dialog [dialog.c:2174]: internal_rpc_profile_print_dlgs(): profile->lock
2020-03-31T22:28:18.554379411Z 12(31) : dialog [dialog.c:2190]: internal_rpc_profile_print_dlgs(): profile->lock release
// command took less then 20ms

3.2) verify the content of the output
wc   /tmp/dialogs.txt
  124355   117324 20547037 /tmp/dialogs.txt

Note about the content
// not everything is outputed in this quick hack but we can imagine that the impact will be very low.
call-id[uV.YzlhIZd1inE8SYDAlzmOLG12tYqVS]from[sip:voip_perf at 147.75.65.247]to[sip:12060412757 at 52.42.112.21]h_entry[6207]h_id[44579]ref[2]contact[sip:voip_perf at 147.75.65.247:5072;transport=udp]cseq[19528]
```


### Additional Information

I am thinking about adding commands to output to file in `json` and/or `csv`




-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2269
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20200331/3ed8c9e8/attachment.html>


More information about the sr-dev mailing list