Will output to DebugView hinder performance

Sep 1, 2010 at 11:54 AM

I always understood DebugView has a limiting factor on the events per second and is thus affecting peformance, where Intrumented Tracing is almost limitless and the is impact on performce is almost none. ( see :  http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NTrace&DownloadId=51518 )

Will enable the DebugView affect performance in any way ?

Coordinator
Sep 3, 2010 at 1:38 AM

Absolutely, one would expect performance to degrade when DebugView is running (or any debugger capturing global debug output from the OutputDebugString() API).  Performance is probably the single most important reason why the BizTalk CAT created the Instrumentation Framework.

I am providing the real-time DebugView capability here to encourage developers to switch to the BizTalk CAT Instrumentation Framework -- and have the best of both worlds.  You can get the performance benefits of ETW and the ability to start and stop tracing on the fly, and if you need it, real-time tracing too.  Using DebugView is a bad idea on a production server due to performance impacts, but it's fine to do during development.

Thanks,
Tom

Sep 14, 2010 at 2:01 PM

Thanks for your answer.

I have been looking to Ntrace for a while as well, this uses ETW as well. The big benefit is that you can use the traceviewer utillity that offers you all the nice filter possibillities in real time.

Is it really not possible to use the TraceViewer to view live data ?. Cause i looked at this and it really look great. Even better than nTrace. But the inabillity to use traceviewer to view live data made me switch to Ntrace.....

 

Coordinator
Sep 14, 2010 at 3:39 PM

TraceView from the DDK is doing very much the same work as the Controller -- starting up an ETW trace session.  If you take one of the GUID's shown on the Controller's GUI and plug it into TraceView's Create New Log Session wizard, you should see the same data.  Behind the scenes what really matters is the GUID that is registered with ETW.  How the data actually gets into ETW, whether through NTrace or the Instrumentation Framework doesn't make a difference.

Have you tried taking one (or more) of the GUID's and plugging it into TraceView?

Thanks,
Tom

Sep 16, 2010 at 7:09 AM
Edited Sep 16, 2010 at 7:09 AM

I believe the stuff used with BizTalk needs TraceFMT to format the output in the way that you really want. If I do not use TraceFMT my ouput looks a bit garbled. This is because the formatting of the string is postponed to improve the performance. If i look with traceview (with all the nice filter & highlight stuff) i will see garbled strings.

Since Ntrace does the formatting of the string immediately it's output looks as designed in TraceView.

I really like to see the trace messages as they are supposed to be in real time. Is this in any way possible with this framework. I have looked into it and really liked the stuff. It has way better support to write stuff to etw like exceptions and stuff than Ntrace. The only thing that prevented me from using it is the garbled output in TraceView.

If i could see the treaces in real time with formatted output i will switch back immediatelyto this tool !

 

Coordinator
Sep 16, 2010 at 6:27 PM

Is your concern for dev machines or production?  As long as you're on Vista or newer, then DebugView can show formatted real-time tracing with the BizTalk CAT IF.  It's just not recommended to use the real-time DebugView mode on a production server.

That said, when you set up a trace in TraceView, I believe it asks you for a TMF file path.  Have you tried pointing it to the TMF file provided with the BizTalk CAT IF?  That's what feeds into TraceFmt, and I assume that TraceView would also be able to use it to format into readable text (when the trace data is written by the CAT IF of course).

Thanks,
Tom

Sep 17, 2010 at 1:31 PM
tfabraham wrote:

Is your concern for dev machines or production?  As long as you're on Vista or newer, then DebugView can show formatted real-time tracing with the BizTalk CAT IF.  It's just not recommended to use the real-time DebugView mode on a production server.

That said, when you set up a trace in TraceView, I believe it asks you for a TMF file path.  Have you tried pointing it to the TMF file provided with the BizTalk CAT IF?  That's what feeds into TraceFmt, and I assume that TraceView would also be able to use it to format into readable text (when the trace data is written by the CAT IF of course).

Thanks,
Tom

 Well using traceview with a format file is what i was trying to make work. But i could not make it work. Therefore I switched to Ntrace. I really like TraceView with it's nice filter options and coloring etc.

But i really could not make it work......... Do you know of a way ?

 

Coordinator
Oct 7, 2010 at 9:33 PM

I haven't tried it, but if I have a chance to try it out and find a way, I'll post an update here.