Documentation

Overview

    Trace is a tool for viewing trace files.

    Trace files can be generated with:

    - runtime/trace.Start
    - net/http/pprof package
    - go test -trace
    

    Example usage: Generate a trace file with 'go test':

    go test -trace trace.out pkg
    

    View the trace in a web browser:

    go tool trace trace.out
    

    Generate a pprof-like profile from the trace:

    go tool trace -pprof=TYPE trace.out > TYPE.pprof
    

    Supported profile types are:

    - net: network blocking profile
    - sync: synchronization blocking profile
    - syscall: syscall blocking profile
    - sched: scheduler latency profile
    

    Then, you can use the pprof tool to analyze the profile:

    go tool pprof TYPE.pprof
    

    Note that while the various profiles available when launching 'go tool trace' work on every browser, the trace viewer itself (the 'view trace' page) comes from the Chrome/Chromium project and is only actively tested on that browser.