I was having to look at performance issue of Javascript today, so I downloaded the trusty fielder2 to help me. If you are like me, you will have heard of fiddler but may not have had reason/time to use it.
I view fiddler as big tool in your toolbox. The kind of weapon you save for the end of level baddie.
Most of the time you don’t need to use it, although it wouldn’t hurt. Usually I use fiddler if something isn’t working properly or there are some performance issues.
What does fiddler do?
Fiddler is used for Web Debbugging. Next question what is web debugging? When you have installed Fiddler and started it, it will then show you all the HTTP/HTTPS calls to and from your internet browsers (IE, Chrome, Firefox, etc). This enables you to see all the traffic going to and from your computer.
This can be interesting to see what calls your Chrome extensions are making all the time. Not only can you see they are making calls out to websites/services but you can see/inspect what data they are passing and what is being returned.
What is Fiddler used for
There are number of things you can use fiddler and the fiddler website has a good summary
Recently I have used fiddler for performance testing. I used fiddler to look at what OData and WCF calls were being made from a form load in CRM and seeing the performance of these calls. I used fiddler to optimize slow calls and work out where I could combine/cache some Odata calls to reduce the number of them.
I also used fiddler to see what data was being passed and received to a WCF service to try and work out why it wasn’t working.
Getting Started with Fiddler
The first thing you need to do is download fiddler (actually fiddler 2), you can find it by going to the link below. The great news is Fiddler is freeware.
http://www.telerik.com/download/fiddler/fiddler2
Easy tutorial and overview
http://www.asjava.com/tools/fiddler-tutorial-how-to-use-fiddler/
There is also a very good set of article on telerik (creators of fiddler) called, Getting Started with Fiddler
http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureFiddler
One more general introduction/tutorial
http://www.mehdi-khalili.com/fiddler-in-action/part-1
Fiddler and CRM
If you are new to Fiddler and want to use it with CRM, then your first stop should be the excellent tutorial written by CRM MVP Scott Durow. This is a link to part 1 but it has 4 parts and is excellent and it’s super hero themed, awesome
http://develop1.net/public/post/Fiddler2-The-tool-that-gives-you-Superpowers-Part-1.aspx
Scott’s tutorial is excellent but I will add a few screens
Hosk’s Very quick start
Open fiddler and you will see this screen, it will start showing all the HTTP traffic action from the browsers you have open. If you have a few tabs open it will probably be quite busy
you will see fiddler will start to track all http traffic coming in and out of your computer, which can be interesting to see what those plugins and extensions are doing
Pick your target
You probably don’t want to see all the traffic so I use the Any Process button which is a cross hair.
Press the button and hold, the the cross now says pick a target, which is cool because you feel like a secret agent.
Don’t forget to hold onto the mouse button (I know you did just a single click, so go back and do it again properly) then drag the cursor to your CRM browser. Interestly I have found if I use IE it filters to only that IE page but if I choose chrome I still get the other traffic from the other tabs, so I usually use IE when I am using fiddler.
What this does is only capture the http data going to and from that particular Internet browser.
I then usually click the X and choose remove all the previously logged data. Now reload the form/target you want to track and you will see only the http traffic generated.
Left Window general – right window stats and detailed information on a selected row
CRM online
If you want capture traffic from a CRM online version then you need to capture https data
http://docs.telerik.com/fiddler/configure-fiddler/tasks/decrypthttps
The reason this is different is because (I think) it has to decrypt the https packages
Tools –> Fiddler Options –> HTTPS tab
shows fiddler 01-02 on how to set it up
Now you can see all the traffic. Go to Contact, choose the target and then load the page. You will see all the web traffic for the contact form.
If you select one (or more) rows you can then view the data for those row(s) in the right menu. This can enable you to view timeline (e.g. how long it took), statistics will show you information like bytes received and sent, clock duration.
If you open the contact form you will see the line
GET /services/v1/geocodeservice/geocodeservice.asmx/Geocode?query=%227165%20Brock%20Lane%0DRenton%2C%20WA%2061795%0DU.S.%22&mapBounds=%2260.239811169998916%2C
I believe this is getting information for the map on the form.
I click on the row, went to inspector and you can then view all the details of the soap message
There are lots of other great things you can do with fiddler, which are covered in Scott Durow’s excellent blog series, so if you want to use fiddler with CRM then you should start there.
Other CRM and Fiddler blogs
http://mscrm-njl.blogspot.de/2013/06/how-to-use-fiddler-to-debug-crm-2011.html
http://blog.sonomapartners.com/2012/01/fiddling-with-crm.html
http://woodsworkblog.wordpress.com/2013/11/07/crm-2013-diagnosing-access-is-denied-using-fiddler/