README.md
1 A standalone WebApp for viewing chrome://net-export
2 [NetLog](https://www.chromium.org/developers/design-documents/network-stack/netlog) dump files
3 ============
4
5 Introduction
6 ------------
7 This is a WebApp that allows someone to perform post-mortem analysis of a
8 saved NetLog dump. The initial code was taken out of Chromium.
9 The full design doc can be found
10 [here](https://docs.google.com/document/d/1Ll7T5cguj5m2DqkUTad5DWRCqtbQ3L1q9FRvTN5-Y28/edit#).
11
12 Motivation
13 ------------
14 There are a few problems with the current system of logging network events
15 within Chromium (see chrome://net-internals) that motivated the design and
16 creation of this new project:
17 - Attempting to add new and improved functionalities to network logging within
18 Chromium comes at the cost of bloating the Chromium binaries.
19 - The renderer process behind chrome://net-internals is privileged meaning it
20 can ask the browser process to do more--monitoring networking events in this
21 case. Generally, privileged UI on Chrome should be minmially complex and
22 small in size, but a large chunk of chrome://net-internals is neither leaving
23 behind a rather large attack surface.
24 - The lack of chrome://net-export on desktop as outlined in an
25 [issue](https://bugs.chromium.org/p/chromium/issues/detail?id=472706)
26
27 Workflow
28 --------------
29 To use this WebApp effectively, the first step is having a NetLog dump to use.
30 To export a NetLog dump you can capture events and load them into a file
31 using chrome://net-internals/#export (soon to be chrome://net-export).
32
33 Once you have a log file you can use this WebApp to load it for analysis.
34 To do that you need to first git clone into the catapult repository:
35
36 git clone https://github.com/catapult-project/catapult.git
37
38 Then go to the directory that contains this WebApp by using the cd command:
39
40 cd path_to_catapult/catapult/netlog_viewer
41
42 Serve the files from an HTTP localhost server with:
43
44 python -m SimpleHTTPServer 8080
45
46 Visit http://localhost:8080/index.html in your web browser to view the
47 netlog viewer. You will be able to click "Choose File" which will allow you to
48 select the file you exported earlier. From there your NetLog dump will appear
49 as a table filled with all the dump's information. Visit the other tabs to
50 view additional information! There are seven tabs that are currently fully
51 functional (Import, Events, Proxy, Timeline, DNS, Sockets, Cache).
52