Inline.

On Fri, Nov 11, 2022 at 5:03 AM Antony Stone <Antony.Stone@freeswitch.open.source.it> wrote:
On Wednesday 09 November 2022 at 20:23:50, Brian West wrote:

> All of this is already present in the XML CDR, each action, every step all
> time stamped down to microseconds and more accurate than setting
> variables.  Did you happen to load xml_cdr and do a call and see the
> information?

So, I have this morning had a chance to get back to this, and it turns out
that <load module="mod_xml_cdr"/> was already in modules,conf.xml and I have a
large number of large files under /var/log/freeswitch/xml_cdr from previously
placed calls.

Comments / questions:

1. Aside from the timestamp variable assignment which I have put into the
dialplan myself (the one which has already been discussed and you say is a bad
idea because of session pool swell) I do not see any timestamps anywhere in
the xml file - how do I enable these?

You found app_stamp, that's microseconds epoch
 
2. The xml file is enormous (20kbytes for a single call) and would take
considerable parsing - where do I find the options to limit what information
goes in there?

No way to limit the info, also this info is very handy for figuring out what took place after the fact.
 
3. https://freeswitch.org/confluence/display/FREESWITCH/mod_xml_cdr tells me
that this module can log to a file or using an HTTP POST.  Does this mean there
is no way to get it to write to syslog?

Syslog for CDR? Just load mod_syslog and configure it for logging.  You should use the post method with fallback and isolate the CDR processing infrastructure and not intermingle that into syslog.
 
I do nearly all logging (of everything that's running) to syslog, forward this
with no further processing to a central syslog server, and then process /
parse / aggregate / filter the data there, so as to reduce the workload on
"worker" machines which generate the logs.

Do you currently experience this 'workload' that is impacting anything?  I want to make sure you're not wasting your time trying to wax your car to get better gas mileage.
 

This also makes it easy to combine log output from different applications which
are running independently (sometimes on different machines) but whose actions
in processing one "transaction" (for want of a better word) are important to
see in sequence.


So, I still wonder what is the best way to get microsecond-resolution
timestamps for key events ("key" being defined by me) in FreeSwitch during the
processing of a call.

Any suggestions on how to do this (preferably efficiently and without longer-
term drawbacks such as session pool swell) are welcome.


Thanks,


Antony.

--
"Remember: the S in IoT stands for Security."

 - Jan-Piet Mens

                                                   Please reply to the list;
                                                         please *don't* CC me.

_________________________________________________________________________

The FreeSWITCH project is sponsored by SignalWire https://signalwire.com
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.
Build your next product on our scalable cloud platform.

Join our online community to chat in real time https://signalwire.community

Professional FreeSWITCH Services
sales@freeswitch.com
https://freeswitch.com

Official FreeSWITCH Sites
https://freeswitch.com/oss
https://freeswitch.org/confluence
https://cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
https://freeswitch.com


--

Brian West | Co-founder and Developer

Need Commercial support? email sales@freeswitch.com

FreeSWITCH Solutions | 17345 Civic Drive #2531 Brookfield, WI 53045

Email: brian@freeswitch.com

Mobile: 918-424-9378

Website: https://www.FreeSWITCH.com

https://www.facebook.com/signalwireinc?src=email https://twitter.com/freeswitch