We have a Client/Server Application and I’d like to profile both of them to create Metrics like “The average Login Time was xx ms with xxx being max, x being min and a total of xx Logins since yyyy” and so on.
I know the Equatec and ANTS profilers (which I both like a lot). But I think they dont provide the functionality I’d need.
Of course, I could write the necessary functions myself, but I think as ANTS or Equatec can do that on their own pretty good, there must be some way to use that functionality.
What I need:
-
Collect as much data about function calls as possible, while still maintaining a reasonable performance
-
Scaling would be good like in (de)selecting code paths I do not want to monitor
-
Saving all collected Data in a Database, either a local one or a remote SQL DB
-
If the tool could create graphs like ANTS on its own, that would be cool, but raw Data would suffice
-
Code is written in C# 3.5 (Server and Client<->Server communications) and C++ (Client GUI). It would be good to monitor the C++ code as well (C# is embedded as COM Objects), but for the time being, monitoring C# would be enough
This does not have to come for free, but having a trial for testing is a must.
Profilers are more code/function centric and have a large performance impact. Plus it will be impossible to roll out the profiler with your code to your users.
I think you should look at using a logging framework like log4net for your code and then configure the logging to save the results into a database which you can use to analyse the performance figures.