Documentation ¶
Index ¶
- Constants
- func GetCorrelationID(ctx context.Context) 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 ¶
const CorrelationIDCtxKey = "CorrelationIDCtxKey"
CorrelationIDCtxKey is the key into the Context of the wrapped HTTP request which maps to the correlation id of the request. This correlation ID can be conveyed to external clients in order to correlate external systems with SpotHero tracing and logging.
Variables ¶
This section is empty.
Functions ¶
func GetCorrelationID ¶ added in v0.14.0
GetCorrelationID returns the correlation ID associated with the given Context. This function only produces meaningful results for Contexts associated with http.Requests 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