Hello,
A customer has a CGI application running on Apache used as an intermediate layer between a javascript application and .Net back-ends. It gets web requests from the javascript application and makes web request calls to the .Net tiers.
As we are losing our correlation tagging when we go through this layer, we were thinking about instrumenting this application with an agent but we don't know how we should do:
We were wondering if anyone instrumented a CGI application with dynaTrace and if they would be willing to share their feedback about it?
Thanks in advance!
Chris
Answer by Christopher A. ·
Thank you Christian for your reply: unfortunately, it looks like the intermediate layer written in C/C++ can potentially make multiple outgoing call for a single incoming web request so I don't think the 1st solution would work.
Option #2 would therefore be the only real option here but the customer is hesitant and would like to have to feedback on the overhead caused by the tool as, from my understanding, there is a new process spawned for each incoming web request and they're afraid that the dT agent initialization would take too long.
Answer by Christian S. ·
hi Christopher,
so my assumption about this CGI environment is as follows: the CGI scripts get specific (or all?) HTTP requests from the apache and creates new HTTP requests which call then into .NET. I assume for every incoming HTTP request into apache/CGI one outgoing to .NET.
so if that's the case I'm wondering if you really want to use the ADK for this, as I see (at least) two options here:
option #1 is of course a lot easier, does not require the ADK and would continue the PurePath, but would not show you insights about the CGI scripts.
option #2 would - with the help of the ADK - in addition give you insight into the CGI scripts.
so if you're not after this additional insight into the CGI scripts, option #1 would be way easier IMHO.
however, if the CGI scripts are doing more complicated stuff, then the use of the ADK might be necessary, anyway.
HTH,
Christian
Answer by Andreas G. ·
Eric: With extremely lightweight I mean that our API calls take the data our users capture and put them into a queue that gets send asynchronously to the dynatrace server. This is the same approach we use for our Java & .NET Agents. FOr Java & .NET we typically capture much more data than with the ADK as we have a lot of out-of-the-box sensors. As you know we never really have customers complain about the overhead for these technologies. As the ADK implementation typically captures less PurePath nodes the overhead of this is even lower than you would see in Java & .NET. I don't have any data on-hand right now but I will see if I can get anything from our engineering team on this
Christopher: I hope somebody else can chime in her. I am not aware of an actual implementation. Therefore I cant share any stories
Answer by Christopher A. ·
The customer would like to have more details, especially about how to instrument a CGI application and how other customer did it in the past.
Do we have examples we can communicate of other customers instrumenting their CGI application with dynaTrace?
Answer by Christopher A. ·
Thank you Andi for your reply. I will forward your response to the customer and I'll let you know if they have any further question or comment about this.
Answer by Andreas G. ·
Hi
I have not done this before. I dont share the fear of the Native ADK having too much overhead. We are using the Native ADK in many installations with heavy load - overhead is never an issue as it is extremly lightweight.
Andi
JANUARY 15, 3:00 PM GMT / 10:00 AM ET