| // Copyright 2020 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // Package traceviewer provides definitions of the JSON data structures |
| // used by the Chrome trace viewer. |
| // |
| // The official description of the format is in this file: |
| // https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview |
| package traceviewer |
| |
| type Data struct { |
| Events []*Event `json:"traceEvents"` |
| Frames map[string]Frame `json:"stackFrames"` |
| TimeUnit string `json:"displayTimeUnit"` |
| } |
| |
| type Event struct { |
| Name string `json:"name,omitempty"` |
| Phase string `json:"ph"` |
| Scope string `json:"s,omitempty"` |
| Time float64 `json:"ts"` |
| Dur float64 `json:"dur,omitempty"` |
| PID uint64 `json:"pid"` |
| TID uint64 `json:"tid"` |
| ID uint64 `json:"id,omitempty"` |
| BindPoint string `json:"bp,omitempty"` |
| Stack int `json:"sf,omitempty"` |
| EndStack int `json:"esf,omitempty"` |
| Arg interface{} `json:"args,omitempty"` |
| Cname string `json:"cname,omitempty"` |
| Category string `json:"cat,omitempty"` |
| } |
| |
| type Frame struct { |
| Name string `json:"name"` |
| Parent int `json:"parent,omitempty"` |
| } |