3 ms·
Sure but the issue with Dynatrace and similar ilk (NewRelic also) is they still attach a profiler and do have some impact. Now, I wouldn't typically care, but
by windowsworkstoo 11y ago
Sure but the issue with Dynatrace and similar ilk (NewRelic also) is they still attach a profiler and do have some impact.
Now, I wouldn't typically care, but you can get at lest 95% of the same information, including yes, stack traces, with ETW for basically free - in cost and in perf impact on Windows at least. Throw the results in a flame graph and boom, done. Windows in particular has so much great inbuilt stuff for troubleshooting perf but its hard to find and not well marketed, so these other folks make a killing selling an inferior product.
- ygra 11y agoETW is awesome! Been using PerfView for pudding for a while now. Is there a way of using ETW for Java code?
- windowsworkstoo 11y agoI don't know - can you interop with Win32 from Java on Windows? If so, possibly. I doubt Java itself would have an ETW provider for various runtime events (GC's, contentions etc).
- ygra 11y agoWell, usually via JNI/JNA. Not as pretty as P/Invoke. I guess the lack of PDBs might be an issue for resolving stack traces, even if you don't get GC events.
- grabnerandi 11y agoETW is definitely great to get started and I am sure you find a lot of hotspots with it. The benefit of APM tools such as Dynatrace (keep in mind that I am also working for them) is that they automatically tag & trace requests across thread and runtime boundaries. So - besides stack traces of individual CLRs you get a full end-to-end (browser to database) view including capturing method arguments and return values where it makes sense, e.g: SQL Query, Bind values, Web Service URLs + parameters, ... - as we hook into the profiling APIs we get some good information about GC and the impact GC has on your execution times, ... Good news is that all APM vendors provide free trial versions. So - give it try if you want to see if it gives you more than ETW!
- grabnerandi 11y agoAnd if you want to give Dynatrace a try - here is the link: http://bit.ly/dtpersonal http://bit.ly/dtpersonal. I also have a free YouTube channel with tutorials that explain how the whole thing works: http://bit.ly/dtpersonal http://bit.ly/dtpersonal (end of commercial) :-)