Announcing the Windows Communication Foundation Live Service Trace Viewer





 


























by Craig McMurtry and Vittorio Bertocci


 


Announcing the …


Windows Communication Foundation


Live Service Trace Viewer  Beta I


 


·         Purpose


·         Design


·         Configuration


·         Use


 


Purpose:


 



Figure 1: The Live Service Trace Viewer


 


 


The Service Trace Viewer provided with the .NET 3.0 SDK allows the operation of Windows Communication Foundation applications to be examined after the fact


 


The Live Service Trace Viewer shows their interaction while it’s happening! 


 


As such, it can serve as a tool for diagnostics and also to make any Windows Communication Foundation demonstration come alive. 


 


A video of the Live Service Trace Viewer in action can be found here.  The Channel 9 interview with Laurence Melliol and Craig is here


 


Design:



Figure 2: Design of the Live Service Trace Viewer


 


The two primary components of the Live Service Trace Viewer are the Live Trace Listener and the Viewer


 


The Live Trace Listener:


Any Windows Communication Foundation application can be configured to use the Live Trace Listener.  The Live Trace Listener interprets Windows Communication Foundation activity and message log traces.  It incorporates a Sender that transmits the interpretations to a designated queue, and a Receiver that raises events as it reads interpretations from the queue. 


 


The Live Service Trace Viewer: 


The Live Service Trace Viewer handles the events raised by the Receiver and displays them in a user interface that incorporates a Windows Presentation Foundation control specially designed for the purpose by IdentityMine


 


This modular design provides for the possibility of using various data sources, such as trace files instead of applications configured to use the Live Trace Listener directly, as well as for creating any number of alternate Viewers. 


 


 


Configuration:


 



 


Figure 3: Configuring a Windows Communication Foundation application to log messages


 


 


 


 


1.      Install the July CTP or RC 1 release of .NET Framework 3.0. 


 


2.      Deploy the Live Service Trace Viewer:


Download and unblock this archive, extract the components, and compile the solution. 


 


3.      Configure applications to use the Live Trace Listener


a.      Reference the LiveTrace.dll assembly in the attached archive (or simply copy the assembly into the same folder as your executables). 


b.      Modify the diagnostics settings in the application’s configuration file.  That can be done automatically.  Simply select the Existing Configuration File item from the Live Service Trace Viewer’s Configure Node menu, shown in figure 3, and point the file dialog box that appears at the application’s configuration file. 


c.       Recompile the application. 


 


 


 


Use:


 



Figure 4: The Live Trace Viewer User Interface


 



Figure 5: Expanded Node View


 



Figure 6: Collapsed Node View


 



Figure 7: Grouping Nodes


 


 


 


As shown in figure 4, to the left, the Live Service Trace Viewer user interface incorporates a Node List, a Connections List, a Detail Panel, and the Viewer.   Two resizing bars are provided for adjusting the relative size of those constituent parts. 


 


The Node List


As services start listening for messages, they appear in the Node List.  Clients appear in the Node List when they first send a message.  Selecting an entry in the Node List causes information about the corresponding service or client’s endpoints to be displayed in the Detail Pane. 


 


The Connection List


When messages are transmitted between two nodes, an entry appears in the Connections List.  Selecting an entry in the Connections List causes the content of the messages transmitted between the two corresponding nodes to be displayed in the Detail Pane. 


 


The Viewer


Double-clicking an entry in the Node List causes the corresponding service or client to be displayed in the Viewer. 


 


Double-clicking items in the Viewer toggles between the expanded view of the item, shown in figure 5, to the left, and the collapsed view, shown in figure 6


 


Individual items in Viewer can be selected by left-clicking on them, and selected items can be dragged to any position. 


 


Multiple items can be selected at once by holding down the Ctrl key while selecting each item.  With multiple items selected the Group Button can be used to group the selected items, as shown in figure 7.  Grouping items together allows one to move them together.   When a group of items are selected, their grouping can be cancelled using the Ungroup Button. 


 


The Viewer can be cleared of contents using the Clear button. 


 


 


Please report any defects or request enhancements to this beta application by e-mailing Craig McMurtry & Vittorio Bertocci.  One known limitation is that this version does not support duplex contracts. 


 


 


 


 


 


 


Comments (36)

  1. Pervasive Tools, a couple more tools [Via: James Avery ] VS 2005 trick for obtaining the public key…

  2. Patrizio says:

    Craig McMurtry y Vittorio Bertocci acaban de publicar el beta 1 de su Live Service Trace Viewer , una

  3. Patrizio says:

    The link for the Live Service Trace Viewer in action is broken!

  4. Check out this blog entry from Craig Mcmurtry on the Live Service Trace Viewer. This is a WPF app that

  5. WCF Guy says:

    Yepp… the link doen’t work… :-(

  6. El Bruno says:

    Great Tool !!!

    Congratulations, I’ll post a reference in my Blog

  7. El Bruno says:

    Buenas, esta vez estoy alucinado. Mis amigos Gustavo y Martin se acordarán de hace unos años cuando creamos

  8. CraigMcMurtry says:

    Thanks for pointing out the broken link–fixed now.  

  9. TSchissler says:

    It seems the tool doen’t work when you dont have installed MSMQ?

  10. Sorry to be a pain, but i have tried the samples on two different machines, exactly as you do in the video (i watched both videos) and neither produce anything in the trace viewer.

    Beyond download and comiling your samples, do i have to do anything else? I have RC1.

    Look very cool.. just need to get it working as it could help me right now.

  11. stevenR2 says:

    Well, i saw the private$ stuff which looked awfully like an MSMQ queue, but it isn’t mentioned anywhere and i can’t think why it would be needed as such.

  12. Patrizio says:

    Same problem here, I tried to run over some WCF applications I made but no nodes in the viewer. I had no time to do a deeper research about the cause of the problem but I will retry tonight.

  13. If you are trying to do real time monitoring in WCF check out Live Trace Viewer. Craig Mcmurtry and Vittorio

  14. Si quieres ver como los mensajes fluyen durante la ejecución de tu aplicación escrita con

  15. Dah says:

    I installed MSMQ, it still can’t get to work..

  16. Some people are still questioning my thoughts about what’s so good about GUI, WCF and such. Take a look

  17. El Bruno says:

    Buenas, esta vez estoy alucinado. Mis amigos Gustavo y Martin se acordarán de hace unos años

  18. FranL says:

    Very interesting. I have made a new section about WCF Tools (http://www.netfxguide.com/guide/wcf_tools.aspx) in NetFXGuide.com and yours is taking full place at the moment. There is a form on the page to post new resources if you like.

    Best,

    Francesco

  19. Jan Schuster says:

    Thank you!!!

    Very nice, but it works only on systems with en-US culture. The problem are the hard coded consts in LiveTraceListener.cs. System.Thead.CurrentThread.CurrentCulture solve this problem.

    Best Jan

  20. Craig McMurtry and Vitorrio Bertocci just came out with a new tool that allows you to examine web services

  21. I used Craig’s service tracing tool for the first time today and I have to say that it looks pretty cool…

  22. Today we released an updated version of the DinnerNow sample on CodePlex. The new version includes several

  23. Today we’ve released an updated version of DinnerNow , it’s the v1.2. Most of the fixes and improvements

  24. Today we’ve released an updated version of DinnerNow, it’s the v1.2. Most of the fixes and improvements…

  25. An updated version of Dinner Now is now available – (version 1.2) http://www.CodePlex.com/DinnerNow The

  26. DinnerNow is an application I expect to be spending a fair bit of time mulling over in March as I will

  27. Two more stops made and one more to go on the first tour of Bob & Chris’ MSDN Roadshow! Portland,

  28. Muy buenas de nuevo, siento haber estado desaparecido una temporada, pero como mi madre dice "En

  29. Muy buenas de nuevo, siento haber estado desaparecido una temporada, pero como mi madre dice "En

  30. I Love C# says:

    לגמרי במקרה נתקלתי בכלי הזה והוא גדול…. אני ממליץ בחום להוריד ולבדוק אותו. לאתר , לסרט .

  31. 1.ManagedServicesEngine(MSE)http://www.codeplex.com/servicesengine

    2.WCFLiveServiceTraceVi…