var DebugUseAfterFinish …
const debugRequestsPath …
const debugEventsPath …
var AuthRequest …
func init() { … }
func NewContext(ctx context.Context, tr Trace) context.Context { … }
func FromContext(ctx context.Context) (tr Trace, ok bool) { … }
func Traces(w http.ResponseWriter, req *http.Request) { … }
func Events(w http.ResponseWriter, req *http.Request) { … }
func Render(w io.Writer, req *http.Request, sensitive bool) { … }
func parseArgs(req *http.Request) (fam string, b int, ok bool) { … }
func lookupBucket(fam string, b int) *traceBucket { … }
type contextKeyT …
var contextKey …
type Trace …
type lazySprintf …
func (l *lazySprintf) String() string { … }
func New(family, title string) Trace { … }
func (tr *trace) Finish() { … }
const bucketsPerFamily …
const tracesPerBucket …
const maxActiveTraces …
const maxEventsPerTrace …
const numHistogramBuckets …
var activeMu …
var activeTraces …
var completedMu …
var completedTraces …
type traceSet …
func (ts *traceSet) Len() int { … }
func (ts *traceSet) Add(tr *trace) { … }
func (ts *traceSet) Remove(tr *trace) { … }
func (ts *traceSet) FirstN(n int) traceList { … }
func getActiveTraces(fam string) traceList { … }
func getFamily(fam string, allocNew bool) *family { … }
func allocFamily(fam string) *family { … }
type family …
func newFamily() *family { … }
type traceBucket …
func (b *traceBucket) Add(tr *trace) { … }
func (b *traceBucket) Copy(tracedOnly bool) traceList { … }
func (b *traceBucket) Empty() bool { … }
type cond …
type minCond …
func (m minCond) match(t *trace) bool { … }
func (m minCond) String() string { … }
type errorCond …
func (e errorCond) match(t *trace) bool { … }
func (e errorCond) String() string { … }
type traceList …
func (trl traceList) Free() { … }
func (trl traceList) Len() int { … }
func (trl traceList) Less(i, j int) bool { … }
func (trl traceList) Swap(i, j int) { … }
type event …
func (e event) WhenString() string { … }
type discarded …
func (d *discarded) String() string { … }
type trace …
func (tr *trace) reset() { … }
func (tr *trace) delta(t time.Time) (time.Duration, bool) { … }
func (tr *trace) addEvent(x interface{ … }
func (tr *trace) LazyLog(x fmt.Stringer, sensitive bool) { … }
func (tr *trace) LazyPrintf(format string, a ...interface{ … }
func (tr *trace) SetError() { … }
func (tr *trace) SetRecycler(f func(interface{ … }
func (tr *trace) SetTraceInfo(traceID, spanID uint64) { … }
func (tr *trace) SetMaxEvents(m int) { … }
func (tr *trace) ref() { … }
func (tr *trace) unref() { … }
func (tr *trace) When() string { … }
func (tr *trace) ElapsedTime() string { … }
func (tr *trace) Events() []event { … }
var traceFreeList …
func newTrace() *trace { … }
func freeTrace(tr *trace) { … }
func elapsed(d time.Duration) string { … }
var pageTmplCache …
var pageTmplOnce …
func pageTmpl() *template.Template { … }
const pageHTML …