Documentation ¶
Index ¶
- func GetCorrelationID(r *http.Request) string
- func HTTPMiddleware(next http.Handler) http.Handler
- func SQLMiddleware(ctx context.Context, queryName, query string, args ...interface{}) (context.Context, sql.MiddlewareEnd, error)
- func TraceOutbound(r *http.Request, span opentracing.Span) error
- type Config
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetCorrelationID ¶ added in v0.14.0
GetCorrelationID returns the correlation ID associated with the given request. This function only produces meaningful results for request which have passed through tracing/HTTPMiddleware.
func HTTPMiddleware ¶ added in v0.3.0
HTTPMiddleware extracts the OpenTracing context on all incoming HTTP requests, if present. if no trace ID is present in the headers, a trace is initiated.
The following tags are placed on all incoming HTTP requests: * http.method * http.url
Outbound responses will be tagged with the following tags, if applicable: * http.status_code * error (if the status code is >= 500)
The returned HTTP Request includes the wrapped OpenTracing Span Context. Note that this middleware must be attached after writer.StatusRecorderMiddleware for HTTP response span tagging to function.
func SQLMiddleware ¶ added in v0.3.0
func SQLMiddleware(ctx context.Context, queryName, query string, args ...interface{}) (context.Context, sql.MiddlewareEnd, error)
SQLMiddleware traces requests made against SQL databases.
Span names always start with "db". If a queryName is provided (highly recommended), the span name will include the queryname in the format "db_<queryName>"
The following tags are placed on all SQL traces: * component - Always set to "tracing" * db.type - Always set to "sql" * db.statement - Always set to the query statement * error - Set to true only if an error was encountered with the query
func TraceOutbound ¶
TraceOutbound injects outbound HTTP requests with OpenTracing headers
Types ¶
type Config ¶
type Config struct { Enabled bool SamplerType string SamplerParam float64 ReporterLogSpans bool ReporterMaxQueueSize int ReporterFlushInterval time.Duration AgentHost string AgentPort int ServiceName string }
Config defines the necessary configuration for instantiating a Tracer
func (Config) ConfigureTracer ¶
ConfigureTracer instantiates and configures the OpenTracer and returns the tracer closer
func (*Config) RegisterFlags ¶
RegisterFlags registers Tracer flags with pflags