зеркало из https://github.com/golang/build.git
29 строки
892 B
Go
29 строки
892 B
Go
// 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 spanlog provides span and event logger interfaces.
|
|
package spanlog
|
|
|
|
// SpanLogger is something that has the CreateSpan method, which
|
|
// creates a event spanning some duration which will eventually be
|
|
// logged and visualized.
|
|
type Logger interface {
|
|
// CreateSpan logs the start of an event.
|
|
// optText is 0 or 1 strings.
|
|
CreateSpan(event string, optText ...string) Span
|
|
}
|
|
|
|
// Span is a handle that can eventually be closed.
|
|
// Typical usage:
|
|
//
|
|
// sp := sl.CreateSpan("slow_operation")
|
|
// result, err := doSlowOperation()
|
|
// sp.Done(err)
|
|
// // do something with result, err
|
|
type Span interface {
|
|
// Done marks a span as done.
|
|
// The err is returned unmodified for convenience at callsites.
|
|
Done(err error) error
|
|
}
|