We are using AppDynamics to instrument a client-server application (Java Swing client, C backend server). The client communicates over a (proprietary) request-response protocol with a dedicated server process. We have successfully used the C SDK to track these requests are business transactions. Now we would like to see a metric of concurrent sessions. What's the best way to implement this? Would it require using Analytics to periodically run an ADQL query on "distinct session ids"?
... View more
I'm beginning to use the C SDK and have verified that my C applications can communicate with the controller and post business transactions. However, the application I wish to instrument is a simple HTTP server that is unable to create an appd_bt_handle from within the forked child process (appd_bt_begin() returns 0x0).
I noticed the following mesage in the api_user.log:
2017-06-01 16:52:00.495 UTC ERROR 376 [api_user] Error: const void* appd_bt_begin_with_app_context(const char*, const char*, const char*): Cannot call agent functions from child processes
What is the best approach for generating business transactions for a forked child process, such as a web server? A workaround would be to perform the appd_sdk_init() from within the child process (i.e., the HTTP request handler), but that adds a few seconds to the response time, which is unacceptable.
... View more