/FiddlerTreeviewPanel

Fiddler extension to show all the requests in a hierarchical way, with the ability to expand/collapse tree nodes

Primary LanguageC#GNU General Public License v2.0GPL-2.0

Fiddler Treeview Panel Extension

Project Description

Extension for Fiddler, to display the session information in a TreeView panel instead of the default ListBox, so it groups the information logically based on hosts, folders, etc...

Introduction

If you need to capture http traffic there are several tools out there that can help you with this task, and a really good one is Fiddler Classic. It's really flexible and, best of all, it's free. :-)

The only thing you might be a little bit annoyed with is that, when analyzing a site that performs lots of calls, you might end up with a screen like the following:

Original Fiddler view

which is a great amount of information but it's a bit complicated to locate exactly the session you're looking for (sure, you can sort the ListView and such, but that wasn't fast enough for me. :-D).

So, to address this issue I have created an extension that displays all the sessions in a TreeView, so the hosts, folders and calls are organized in a tree structure, much faster to locate what you want and to collapse entire sections of data you don't need. The results for the same captured data can be seen in the next screenshot:

TreeView extension view

To switch between the two views, a new menu entry has been created in the top level menu called TreeViewPanel where you can activate or deactivate it (shortcut CTRL + F1):

New menu option

Integration with Fiddler is not 100%, since I first created this extension to be able to locate sessions in a quicker manner. You can right-click on a session and the original Fiddler context will show up, although some options will not be usable or have any meaning. I'm sure other stuff might not work as well, but again my goal was just to make it usable enough for my own needs. ;-)

For instance coloring a session will in fact color it in the ListView, but nothing will happen in the tree. We can however reissue sessions, save them, etc...

Context menu integration

Installation

In order to install this extension you'll need to copy the compiled assembly TreeViewPanelExtension.dll into your Fiddler scripts folder, typically:

%userprofile%\AppData\Local\Programs\Fiddler\Scripts

c:\Users\[username]\AppData\Local\Programs\Fiddler\Scripts

After that, you'll need to restart Fiddler if was already running.

Improvements

One of the latest changes has been to include the session number next to the actual request, so you can get a better view of the execution flow:

Session numbers

Known issues

Right now, there are issues in the way sessions are deleted, because the only way to effectively delete a session is by choosing the ALL option from the tools menu as shown in the selected screenshot:

Delete all sessions

All the other ways to delete sessions (even from the context menu) will wipe them out from the ListView but not from the TreeView, so you might get out of sync (not a huge deal since you can re-sync by using the above option as well). The biggest roadblock is that the ListView won't fire an event when items are removed from it, so I'd need to implement an additional mechanism to fix it (btw, that's the reason there are some work-in-progress sections in the source code).

But other than that the extension is fully usable and I thought some of you might find it useful too. Of course, you're free to download the code and if you want to extend it further or have some ideas let me know. :-)

Thanks to Eric Lawrence for some suggestions, I've added double-click to expand/collapse all child nodes at once (where clicked) and to keep the selected session when losing focus off the TreeView.

You can download the compiled binaries from the releases section.

If you find it useful and have spare time you can drop me a line saying how you like the tool and such, or better yet, you can buy me a beer if you wish. 😉

Buy me a beer

Kind regards.