tracing

package
v0.34.0 Latest Latest
Warning

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

Go to latest
Published: May 18, 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)

func GetLogger

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

func GetLoggerFromContext

func GetLoggerFromContext(ctx context.Context) logrus.FieldLogger

func Middleware

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

func RequestID

func RequestID(r *http.Request) string

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)

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

Types

type Config

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

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

func GetTracer

func GetTracer(r *http.Request) *RequestTracer

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