...
Package thrift_rpc
Overview ▹
Index ▹
Constants
const (
// ParentSpanGUIDKey is the tag key used to record the relationship
// between child and parent spans.
ParentSpanGUIDKey = "parent_span_guid"
TracerPlatformValue = "go"
TracerVersionValue = "0.9.1"
TracerPlatformKey = "lightstep.tracer_platform"
TracerPlatformVersionKey = "lightstep.tracer_platform_version"
TracerVersionKey = "lightstep.tracer_version"
ComponentNameKey = "lightstep.component_name"
GUIDKey = "lightstep.guid" // <- runtime guid, not span guid
HostnameKey = "lightstep.hostname"
CommandLineKey = "lightstep.command_line"
)
func FlushLightStepTracer ¶
func FlushLightStepTracer(lsTracer ot.Tracer) error
func NewTracer ¶
func NewTracer(opts Options) ot.Tracer
NewTracer returns a new Tracer that reports spans to a LightStep collector.
type Endpoint ¶
Endpoint describes a collection or web API host/port and whether or not to use plaintext communicatation.
type Endpoint struct {
Host string `yaml:"host" usage:"host on which the endpoint is running"`
Port int `yaml:"port" usage:"port on which the endpoint is listening"`
Plaintext bool `yaml:"plaintext" usage:"whether or not to encrypt data send to the endpoint"`
}
type Options ¶
Options control how the LightStep Tracer behaves.
type Options struct {
// AccessToken is the unique API key for your LightStep project. It is
// available on your account page at https://app.lightstep.com/account
AccessToken string `yaml:"access_token" usage:"access token for reporting to LightStep"`
// Collector is the host, port, and plaintext option to use
// for the collector.
Collector Endpoint `yaml:"collector"`
// Tags are arbitrary key-value pairs that apply to all spans generated by
// this Tracer.
Tags ot.Tags
// LightStep is the host, port, and plaintext option to use
// for the LightStep web API.
LightStepAPI Endpoint `yaml:"lightstep_api"`
// MaxBufferedSpans is the maximum number of spans that will be buffered
// before sending them to a collector.
MaxBufferedSpans int `yaml:"max_buffered_spans"`
// ReportingPeriod is the maximum duration of time between sending spans
// to a collector. If zero, the default will be used.
ReportingPeriod time.Duration `yaml:"reporting_period"`
ReportTimeout time.Duration `yaml:"report_timeout"`
// DropSpanLogs turns log events on all Spans into no-ops.
DropSpanLogs bool `yaml:"drop_span_logs"`
// Set Verbose to true to enable more text logging.
Verbose bool
// In place of Flags
MaxLogMessageLen int
// MaxLogsPerSpan limits the number of logs in a single span.
MaxLogsPerSpan int `yaml:"max_logs_per_span"`
}
type Recorder ¶
Recorder buffers spans and forwards them to a LightStep collector.
type Recorder struct {
// AccessToken is the access token used for explicit trace
// collection requests.
AccessToken string
// contains filtered or unexported fields
}
func NewRecorder ¶
func NewRecorder(opts Options) *Recorder
func (*Recorder) Close ¶
func (r *Recorder) Close() error
func (*Recorder) Disable ¶
func (r *Recorder) Disable()
func (*Recorder) Flush ¶
func (r *Recorder) Flush()
func (*Recorder) RecordSpan ¶
func (r *Recorder) RecordSpan(raw basictracer.RawSpan)
ActiveGo 1.8