Sample ETW trace for WCF

You can see How do I collect an ETL trace for WF/WCF? for the commands or you can download the sample trace from here. Open the trace using the following command line or File –> Open and load the manifest from the Framework folder or launch the following from the command line.  SvcPerf.exe wcf.etl %windir%\Microsoft.Net\Framework\v4.0.30319\Microsoft.Windows.ApplicationServer.Applications.45.man…

0

Introducing SvcPerf - An End-to-End trace Analysis tool for WCF

Standardizing on ETW In 4.5 we introduced ETW tracing for WCF. In the past couple of months we have been trying to establish some common tools that can be used to debug and analyze ETW traces from WCF. We have a large number of tools that allow ETW analysis and the one aspect we wanted…

0

Efficient Buffer management – Reduced LOH allocation

BufferPools http://kennyw.com/indigo/51 I’m going to talk about the internals of WCF Bufferpooling as it stands today. Kenny and Andrew already have a posts on bufferpooling that cover them at a higher level. Here I dive into how the bufferPool was optimized further for working with the large object heap. This didn’t make it into .NET…

0

Debugging Assembly loading

Does a referenced assembly get loaded if no types in the assembly are “not used”? The term used is is very subjective. For a developer it would mean that you probably never created an instance or called a method on it. But this does not cover the whole story. You can instead consider what are…

0

Checkin #199390

Here is something for you performance guys. This was a hard one to crack but. Let me know what you think of this and how you would like to see this evolve. It will be a while before this is actually available.     Thanks to Wenlong for driving this all the way and for…

0

How to throttle callbacks or completions?

WCF enables throttling execution of operations but not their completions. This becomes and issue when a large number of outstanding operations complete almost simultaneously causing the callback on the client to be overwhelmed with completions.  Generally we don’t expect the client to issue of infinite number of pending operations but if you do end up…

0

ServiceHosts & executing Operations from a crash/hang dump

Incase you are not sure of how to debug managed code with with a crash/hang dump, then you most likely need to read this first. Once you have SOS and mscordacwks(.net 3.5 and up)  loaded you first dump the heap to find out if you have any services hosts at all. We quickly find the…

0

How to optimize Message Copy using CreateBufferedCopy?

Problem Statement Some broker implementations require creating a copy the message forwarding it over to the backend. The broker also might slightly modify things like addressing headers etc. on the message for proper message routing within the DMZ. The problem is that we see a very high CPU cost in creating this copy message and…

0

Router Implementation – Message Forwarding – Copy/Pass through

For greater flexibility our router can be something like a pass through router. If we are just calling a backend service then we can use a generic contract to receive and forward messages to the back end service as shown below. Here we create a copy of the message to consume locally on the broker…

0