<!-- Copyright 2015 The Chromium Authors. All rights reserved.
     Use of this source code is governed by a BSD-style license that can be
     found in the LICENSE file.
-->
[![Build Status](https://travis-ci.org/google/trace-viewer.svg?branch=master)](https://travis-ci.org/google/trace-viewer)

![Trace Viewer Logo](https://raw.githubusercontent.com/google/trace-viewer/master/tracing/images/trace-viewer-circle-blue.png)

Trace-Viewer is the javascript frontend for Chrome [about:tracing](http://dev.chromium.org/developers/how-tos/trace-event-profiling-tool) and [Android
systrace](http://developer.android.com/tools/help/systrace.html).

It provides rich analysis and visualization capabilities for many types of trace
files. Its particularly good at viewing linux kernel traces (aka [ftrace](https://www.kernel.org/doc/Documentation/trace/ftrace.txt)) and Chrome's
[trace_event format](https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview). Trace viewer can be [embedded](https://github.com/google/trace-viewer/wiki/Embedding) as a component in your own code, or used from a plain checkout to turn trace files into standalone, emailable HTML files from the commandline:

    ./tracing/trace2html my_trace.json --output=my_trace.html && open my_trace.html

Its easy to [extend trace viewer](https://github.com/google/trace-viewer/wiki/ExtendingAndCustomizing) to support your favorite trace format, or add domain specific visualizations to the UI to simplify drilling down into complex data.

Contributing, quick version
===========================================================================
We welcome contributions! To hack on this code, from toplevel:
  ./tracing/run_dev_server

In any browser, navigate to
  http://localhost:8003/

To run all python unittests:
  ./tracing/run_py_tests

To run all tracing unittests in d8 environment:
 ./tracing/run_d8_tests

To run all the unittests, you can also do:

 ./tracing/run_tests

Make sure tests pass before sending us changelist. **We use rietveld for codereview**. For more details, esp on rietveld, [read our contributing guide](https://github.com/google/trace-viewer/wiki/Contributing) or check out the [trace viewer wiki](https://github.com/google/trace-viewer/wiki).

Contact Us
===========================================================================
Join our Google Groups:
* [trace-viewer](https://groups.google.com/forum/#!forum/trace-viewer)
* [trace-viewer-bugs](https://groups.google.com/forum/#!forum/trace-viewer-bugs)
* [tracing@chromium.org](https://groups.google.com/a/chromium.org/forum/#!forum/tracing) (for c++ backend code)