tracing

package
v0.0.0-...-3e08555 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2020 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HeaderNFDebugLogging = "X-NF-Debug-Logging"
	HeaderRequestUUID    = "X-BB-CLIENT-REQUEST-UUID"
)

Variables

This section is empty.

Functions

func Configure

func Configure(tc *Config, svcName string)

Configure setups a new Tracing config

func GetLogger

func GetLogger(r *http.Request) logrus.FieldLogger

GetLogger shorthand for GetLoggerFromContext

func GetLoggerFromContext

func GetLoggerFromContext(ctx context.Context) logrus.FieldLogger

GetLoggerFromContext gets the logger from context

func Middleware

func Middleware(log logrus.FieldLogger, svcName string) func(http.Handler) http.Handler

Middleware is the tracing middleware used in router

func RequestID

func RequestID(r *http.Request) string

RequestID reads the request ID or creates a new one

func SetFinalField

func SetFinalField(r *http.Request, key string, value interface{}) logrus.FieldLogger

SetFinalField will add a field to the canonical line created at in Finish. It will add it to this line, but not every log line in between

func SetLogField

func SetLogField(r *http.Request, key string, value interface{}) logrus.FieldLogger

SetLogField will add the field to this log line and every one following

func SetLogFields

func SetLogFields(r *http.Request, fields logrus.Fields) logrus.FieldLogger

SetLogFields will add the fields to this log line and every one following

func TrackRequest

func TrackRequest(w http.ResponseWriter, r *http.Request, log logrus.FieldLogger, service string, next http.Handler)

TrackRequest tracks the request

func WrapWithSpan

func WrapWithSpan(r *http.Request, reqID, service string) (*http.Request, opentracing.Span)

func WrapWithTracer

func WrapWithTracer(r *http.Request, rt *RequestTracer) *http.Request

WrapWithTracer wraps a context with TracerContext

Types

type Config

type Config struct {
	Enabled bool   `default:"false"`
	Host    string `default:"localhost"`
	Port    string `default:"8126"`
	Tags    map[string]string
}

Config keeps the endpoint

type RequestTracer

type RequestTracer struct {
	logrus.FieldLogger

	RequestID   string
	FinalFields map[string]interface{}
	// contains filtered or unexported fields
}

func GetFromContext

func GetFromContext(ctx context.Context) *RequestTracer

GetFromContext returns the tracing context from a context.Context

func GetTracer

func GetTracer(r *http.Request) *RequestTracer

GetTracer shorthand for GetFromContext

func NewTracer

NewTracer creates a new tracer

func (*RequestTracer) Finish

func (rt *RequestTracer) Finish()

func (RequestTracer) Header

func (w RequestTracer) Header() http.Header

func (RequestTracer) Hijack

func (w RequestTracer) Hijack() (net.Conn, *bufio.ReadWriter, error)

func (RequestTracer) OriginalWriter

func (w RequestTracer) OriginalWriter() http.ResponseWriter

func (*RequestTracer) SetLogField

func (rt *RequestTracer) SetLogField(key string, value interface{}) logrus.FieldLogger

func (*RequestTracer) SetLogFields

func (rt *RequestTracer) SetLogFields(fields logrus.Fields) logrus.FieldLogger

func (*RequestTracer) Start

func (rt *RequestTracer) Start()

func (RequestTracer) Write

func (w RequestTracer) Write(in []byte) (int, error)

func (RequestTracer) WriteHeader

func (w RequestTracer) WriteHeader(code int)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL