28 Jan 2021 10:55 AM - last edited on 10 Jun 2021 04:10 AM by MaciejNeumann
How would you define a custom process for a .NET DLL which isn't detected by OneAgent? The DLL makes external API calls to a 3rd party vendor. I would like to monitor this process and capture transactional metrics as well.
Solved! Go to Solution.
Can you please elaborate describe more in detail what you need to achieve and what is the situation?
You can define a custom service (there is no such thing as custom process in Dynatrace) on a particular .NET class and method (or several methods/classes).
If you want to somehow monitor a custom .NET process that is currently not instrumented, then I belive it's due to process monitoring rules for .NET. There are some built-in rules preventing instrumentation of unknown .NET so the instrumentation does not interfere with core system binaries in .NET.
See more on that topic here: https://www.dynatrace.com/support/help/how-to-use-dynatrace/process-groups/configuration/set-up-proc...
We are running Trizetto Facets on multiple hosts. The main process, a .NET process, CerComHost is recognized by DT but we are not getting any transactional data in DT. From my understanding, since this is a 3rd party product, only the basic .NET metrics are obtained. This process makes a call to a Sybase database, yet DT doesn't see the calls to the database like you would with other services or processes. I've come to accept this might be impossible for this process, however we have application extensions, running under the CerComHost process, which are DLLs developed by our development staff. I was hoping to be able to instrument these DLLs as they make an API call to an external vendor and seeing transactional data would be very helpful.
Does the dll runs as a dotnet process? Can you spot the process in the UI?
When checking the CerComHost process, does the cpu breakdown about methods show anything?
Does the process start with svhost?
28 Jan 2021 06:10 PM - last edited on 13 Jun 2022 02:18 AM by MaciejNeumann
I do not see the DLLs running in the UI which is what prompted the "custom" question. I do see DLL services for other applications, just not this one.
They are extensions to the CerComHost process. The CPU breakdown does provide a lot more depth after adding API detection rules, but no transaction details. I will continue down this road as well for more methods pertaining to the CerComHost. I did add a custom process rule but not sure if this will work.
I'm not sure about the svhost, but will ask. Trizetto is now Cognizant.
So in your case, you really do need a custom service defined to get the "starting point" for transactions.
The application likely does not use any of the .NET frameworks/technologies dynatrace recognizes, thus services are not created.
Since it's a 3rd party product, the best approach here is to look at the method hotspots (cpu breakdown) and identify classes and methods where to put the custom services so tracing can start from those. Don't forget that .NET processes have to be restarted after definitions.
You won't get any relations to calling services in this case (backtraces from custom services won't work). This would require changes in the application code (using oneagent sdk).
I am in the same situation for yet another Trizetto Facets project. I can see an IIS process, "svchost.exe" which is called by a .NET process on the end user's client - ceraexe0.exe.