Groups | Blog | Home
all groups > visual studio .net enterprise tools > january 2005 >

visual studio .net enterprise tools : EIF Distributed Request Tracing


PV
1/19/2005 1:56:12 PM
Does distributed request tracing work in Enterprise Instrumentation
Framework (EIF)? I don't see any examples. It certainly isn't working for
the example that I cooked up.

I started with the RequestTracing sample that ships with EIF. I then added
a .Net Remoting call to a simple Test remotable object. Within my
Test.HelloWorld method, I added a TraceMessageEvent.Raise("Hello from
Test.HelloWorld").

When I run this and look into the event log, the TraceMessageEvents from the
RequestTracing assembly are nicely encapsulated by the RequestTracing
source. However, the TraceMessageEvent from the HelloWorld method is
originating from "Application (Test)" source.

Does RequestTracing even work for distributed applications?

PV
1/19/2005 3:59:58 PM
I found it. I did not have the
RequestTracing.RequestTraceTest.GenerateTraceEvents event source in my
remoting service's EnterpriseInstrumentation.config file. This could have
been made a lot more clear in the documentation.

[quoted text, click to view]

PV
1/19/2005 4:12:00 PM
By the way, EIF Request Tracing does not work for web service calls.
Couldn't this be accomplished by sending Request Trace information in the
SOAP Headers (similar to how it embeds Request Trace information in the
LogicalCallContext for remoting)?

It is a major limitation to not have "Request" Tracing across web service
requests. Its also confusing - for those in the web world, a "request" is
most typically a request for a web resource.

[quoted text, click to view]

mikehayt_ NO[at]SPAM online.microsoft.com
1/21/2005 12:59:34 AM
Sorry that it wasnt clear.

Something else that isnt clear - if the EI.config's <instrumentedApp> mode
attribute is set to "debug", then new EventSources/RequestEventSources
encountered are automatically added into the EI.config file and bound to
the defaultSoftwareElementFilter/defaultRequestFilter. The EI.config is
resaved out with the additional entries (assuming the instrumented process
can write to the EI.config file).

Yes, you're right about the WebService calls and the soap headers. I have
some sample code to do this that I'll attach (you'll probably need a
non-web based newsgroup reader to see the attachment, or email me
directly). Its a soap extension so all that's need to add the ability to
flow request contexts across web service calls is some entries into the
.config files of the calling/called code.

Hope this helps

Mike
--

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
--------------------
|
| By the way, EIF Request Tracing does not work for web service calls.
| Couldn't this be accomplished by sending Request Trace information in the
| SOAP Headers (similar to how it embeds Request Trace information in the
| LogicalCallContext for remoting)?
|
| It is a major limitation to not have "Request" Tracing across web service
| requests. Its also confusing - for those in the web world, a "request" is
| most typically a request for a web resource.
|
[quoted text, click to view]
| > I found it. I did not have the
| > RequestTracing.RequestTraceTest.GenerateTraceEvents event source in my
| > remoting service's EnterpriseInstrumentation.config file. This could
have
| > been made a lot more clear in the documentation.
| >
[quoted text, click to view]
| > > Does distributed request tracing work in Enterprise Instrumentation
| > > Framework (EIF)? I don't see any examples. It certainly isn't
working
| > for
| > > the example that I cooked up.
| > >
| > > I started with the RequestTracing sample that ships with EIF. I then
| > added
| > > a .Net Remoting call to a simple Test remotable object. Within my
| > > Test.HelloWorld method, I added a TraceMessageEvent.Raise("Hello from
| > > Test.HelloWorld").
| > >
| > > When I run this and look into the event log, the TraceMessageEvents
from
| > the
| > > RequestTracing assembly are nicely encapsulated by the RequestTracing
| > > source. However, the TraceMessageEvent from the HelloWorld method is
| > > originating from "Application (Test)" source.
| > >
| > > Does RequestTracing even work for distributed applications?
| > >
| > >
| >
| >
|
|
AddThis Social Bookmark Button