tracing

package
v0.0.0-...-0e65dd1 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2015 License: MIT Imports: 10 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Annotation

type Annotation struct {
	Name        string      `json:"name,omitempty"`
	Value       interface{} `json:"value,omitempty"`
	From        From        `json:"from,omitempty"`
	ContentType string      `json:"contentType,omitempty"`
	IsBinary    bool        `json:"isBinary, omitempty"`
}

type CallerIdentityTrace

type CallerIdentityTrace struct {
	AccountUid  string `json:"acctUid,omitempty"`
	LocationUid string `json:"locationUid, omitempty"`
	DeviceUid   string `json:"deviceUid, omitempty"`
}

type ConsoleTraceWriter

type ConsoleTraceWriter struct {
}

func (*ConsoleTraceWriter) Close

func (ctw *ConsoleTraceWriter) Close() error

func (*ConsoleTraceWriter) Write

func (ctw *ConsoleTraceWriter) Write(b []byte) (n int, err error)

type Content

type Content struct {
	Request  interface{} `json:"request,omitempty"`
	Response interface{} `json:"response,omitempty"`
	Args     interface{} `json:"args,omitempty"`
	Headers  interface{} `json:"headers,omitempty"`
}

type ContentType

type ContentType string
const (
	Json ContentType = "application/json"
)

type Dispatcher

type Dispatcher struct {
	Log logging.Logger
	// contains filtered or unexported fields
}

func (*Dispatcher) Capture

func (d *Dispatcher) Capture(message *TraceMessage)

func (*Dispatcher) DroppedMessages

func (d *Dispatcher) DroppedMessages() int64

func (*Dispatcher) PendingMessages

func (d *Dispatcher) PendingMessages() int

func (*Dispatcher) QueueSize

func (d *Dispatcher) QueueSize() int

func (*Dispatcher) Register

func (d *Dispatcher) Register(receiver TraceReceiver)

func (*Dispatcher) Start

func (d *Dispatcher) Start()

func (*Dispatcher) Stop

func (d *Dispatcher) Stop()

type From

type From string
const (
	FromPanic          From = "panic"
	FromError          From = "error"
	FromErrorRecover   From = "errorRecover" //an erorr, and we were able to continue
	FromRequestTimeout From = "reqTimeout"
	FromConnectTimeout From = "conTimeout"
	FromIOError        From = "ioError"
	FromRequestData    From = "requestData"
	FromResponseData   From = "responseData"
	FromMarshalError   From = "marshalError"
	FromUnmarshalError From = "unmarshalError"
	FromTrace          From = "trace"
	FromInfo           From = "info"
)

type Host

type Host struct {
	IPv4        string
	Port        string
	ServiceName string
}

type MessageTracer

type MessageTracer struct {
	// contains filtered or unexported fields
}

func NewMessageTracer

func NewMessageTracer(message *TraceMessage) *MessageTracer

func (*MessageTracer) Annotate

func (td *MessageTracer) Annotate(f From, k string, v interface{})

func (*MessageTracer) AnnotateBinary

func (td *MessageTracer) AnnotateBinary(f From, k string, reader io.Reader, ct string)

func (*MessageTracer) Error

func (td *MessageTracer) Error(name string, value error)

func (*MessageTracer) NewRequest

func (mt *MessageTracer) NewRequest(name string, args interface{}, headers map[string][]string) RequestTracer

func (*MessageTracer) SpanUid

func (td *MessageTracer) SpanUid() string

func (*MessageTracer) TraceUid

func (td *MessageTracer) TraceUid() string

type NopClientTracer

type NopClientTracer struct{}

func (*NopClientTracer) Annotate

func (nct *NopClientTracer) Annotate(f From, k string, v interface{})

func (*NopClientTracer) AnnotateBinary

func (nct *NopClientTracer) AnnotateBinary(f From, k string, reader io.Reader, ct string)

func (*NopClientTracer) Begin

func (nct *NopClientTracer) Begin()

func (*NopClientTracer) End

func (nct *NopClientTracer) End()

type NopTracer

type NopTracer struct{}

func (*NopTracer) Annotate

func (td *NopTracer) Annotate(f From, k string, v interface{})

func (*NopTracer) AnnotateBinary

func (not *NopTracer) AnnotateBinary(f From, k string, reader io.Reader, ct string)

func (*NopTracer) NewRequest

func (td *NopTracer) NewRequest(name string, args interface{}, headers map[string][]string) RequestTracer

type Receiver

type Receiver struct {
	ReceiverName string
	Writer       TraceMessageWriter
	Log          logging.Logger `inject:""`
}

func (*Receiver) Close

func (ft *Receiver) Close()

func (*Receiver) Name

func (ft *Receiver) Name() string

func (*Receiver) Receive

func (ft *Receiver) Receive(m *TraceMessage)

type RequestTracer

type RequestTracer interface {
	Annotate(f From, k string, v interface{})
	AnnotateBinary(f From, k string, reader io.Reader, ct string)
	Begin()
	End()
}

type TraceMessage

type TraceMessage struct {
	Duration    time.Duration `json:"duration"`
	BeganAt     time.Time     `json:"beganAt"`
	Name        string        `json:"name"`
	TraceUid    string        `json:"traceUid"`
	SpanUid     string        `json:"spanUid"`
	PrevSpanUid string        `json:"prevSpanUid,omitempty"`
	Role        string        `json:"role"`              //sender, receiver
	Outcome     string        `json:"outcome,omitempty"` //ok, error
	Content     *Content      `json:"content,omitempty"`
	Host        *Host         `json:"host"`
	Annotations []*Annotation `json:"annotations"`
}

RequestTrace

	To Consider:
 Events == Annotations
 Identity (UserId, DeviceId, AccountId, LocationId)

func NewReceiveTrace

func NewReceiveTrace(traceUid, existingSpanUid string) *TraceMessage

func NewRequestTrace

func NewRequestTrace(traceUid, prevSpanUid string) *TraceMessage

func (*TraceMessage) Annotate

func (tm *TraceMessage) Annotate(f From, k string, v interface{})

func (*TraceMessage) AnnotateBinary

func (tm *TraceMessage) AnnotateBinary(f From, k string, reader io.Reader, ct string)

func (*TraceMessage) Begin

func (tm *TraceMessage) Begin()

func (*TraceMessage) End

func (tm *TraceMessage) End()

func (*TraceMessage) Error

func (tm *TraceMessage) Error(name string, value error)

func (*TraceMessage) NewRequest

func (tm *TraceMessage) NewRequest(name string, args interface{}, headers map[string][]string) RequestTracer

func (*TraceMessage) ReceivedRequest

func (tm *TraceMessage) ReceivedRequest(requestName string, args map[string]string, headers map[string][]string)

func (*TraceMessage) RequestCompleted

func (tm *TraceMessage) RequestCompleted()

func (*TraceMessage) RequestFail

func (tm *TraceMessage) RequestFail()

type TraceMessageWriter

type TraceMessageWriter interface {
	Write(b []byte) (n int, err error)
	Close() error
}

type TraceReceiver

type TraceReceiver interface {
	Name() string
	Receive(*TraceMessage)
	Close()
}

type Tracer

type Tracer interface {
	Annotate(f From, k string, v interface{})
	AnnotateBinary(f From, k string, reader io.Reader, ct string)
	NewRequest(name string, args interface{}, headers map[string][]string) RequestTracer
}

Jump to

Keyboard shortcuts

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