trace

package
v0.19.59 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var EventHandlerRegistry = concurrenz.CopyOnWriteSlice[EventHandler]{}

Functions

func AddTraceEventHandler added in v0.19.28

func AddTraceEventHandler(handler EventHandler)

func NewPipeToggleMatchers

func NewPipeToggleMatchers(request *trace_pb.TogglePipeTracesRequest) (*PipeToggleMatchers, *ToggleResult)

func RemoveTraceEventHandler added in v0.19.28

func RemoveTraceEventHandler(handler EventHandler)

Types

type ChannelPeekHandler

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

func NewChannelPeekHandler

func NewChannelPeekHandler(appId string, ch channel.Channel, controller Controller, eventSink EventHandler) *ChannelPeekHandler

func (*ChannelPeekHandler) Close

func (handler *ChannelPeekHandler) Close(ch channel.Channel)

func (*ChannelPeekHandler) Connect

func (*ChannelPeekHandler) Connect(ch channel.Channel, remoteAddress string)

func (*ChannelPeekHandler) DisableTracing

func (handler *ChannelPeekHandler) DisableTracing(sourceType SourceType, matcher SourceMatcher, resultChan chan<- ToggleApplyResult)

func (*ChannelPeekHandler) EnableTracing

func (handler *ChannelPeekHandler) EnableTracing(sourceType SourceType, matcher SourceMatcher, resultChan chan<- ToggleApplyResult)

func (*ChannelPeekHandler) IsEnabled

func (handler *ChannelPeekHandler) IsEnabled() bool

func (*ChannelPeekHandler) Rx

func (handler *ChannelPeekHandler) Rx(msg *channel.Message, ch channel.Channel)

func (*ChannelPeekHandler) ToggleTracing

func (handler *ChannelPeekHandler) ToggleTracing(sourceType SourceType, matcher SourceMatcher, enable bool, resultChan chan<- ToggleApplyResult)

func (*ChannelPeekHandler) Tx

func (handler *ChannelPeekHandler) Tx(msg *channel.Message, ch channel.Channel)

type Controller

type Controller interface {
	EnableTracing(sourceType SourceType, matcher SourceMatcher, resultChan chan<- ToggleApplyResult)
	DisableTracing(sourceType SourceType, matcher SourceMatcher, resultChan chan<- ToggleApplyResult)
	AddSource(source Source)
	RemoveSource(source Source)
}

func NewController

func NewController(closeNotify <-chan struct{}) Controller

type DispatchWrapper added in v0.12.1

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

func (*DispatchWrapper) Accept added in v0.12.1

func (dispatchWrapper *DispatchWrapper) Accept(event *trace_pb.ChannelMessage)

type EventHandler

type EventHandler interface {
	Accept(event *trace_pb.ChannelMessage)
}

EventHandler is for types wishing to receive trace messages

func NewChannelSink

func NewChannelSink(ch channel.Channel) EventHandler

func NewDispatchWrapper added in v0.12.1

func NewDispatchWrapper(delegate func(event event.Event)) EventHandler

type Filter

type Filter interface {
	Accept(event *trace_pb.ChannelMessage) bool
}

func NewAllowAllFilter

func NewAllowAllFilter() Filter

func NewExcludeFilter

func NewExcludeFilter(excludedContentTypes []int32) Filter

func NewIncludeFilter

func NewIncludeFilter(includedContentTypes []int32) Filter

type PipeToggleMatchers

type PipeToggleMatchers struct {
	AppMatcher  SourceMatcher
	PipeMatcher SourceMatcher
}

type Source

type Source interface {
	EnableTracing(sourceType SourceType, matcher SourceMatcher, resultChan chan<- ToggleApplyResult)
	DisableTracing(sourceType SourceType, matcher SourceMatcher, resultChan chan<- ToggleApplyResult)
}

type SourceMatcher

type SourceMatcher interface {
	Matches(source string) bool
}

func NewSourceMatcher

func NewSourceMatcher(regex *regexp.Regexp) SourceMatcher

type SourceType

type SourceType int
const (
	SourceTypePipe SourceType = iota
)

type ToggleApplyResult

type ToggleApplyResult interface {
	IsMatched() bool
	GetMessage() string
	Append(result *ToggleResult, verbosity ToggleVerbosity)
}

type ToggleApplyResultImpl

type ToggleApplyResultImpl struct {
	Matched bool
	Message string
}

func (*ToggleApplyResultImpl) Append

func (applyResult *ToggleApplyResultImpl) Append(result *ToggleResult, verbosity ToggleVerbosity)

func (*ToggleApplyResultImpl) GetMessage

func (applyResult *ToggleApplyResultImpl) GetMessage() string

func (*ToggleApplyResultImpl) IsMatched

func (applyResult *ToggleApplyResultImpl) IsMatched() bool

type ToggleResult

type ToggleResult struct {
	Success bool
	Message *strings.Builder
}

func (*ToggleResult) Append

func (result *ToggleResult) Append(msg string)

type ToggleVerbosity

type ToggleVerbosity int
const (
	ToggleVerbosityNone ToggleVerbosity = iota
	ToggleVerbosityMatches
	ToggleVerbosityMisses
	ToggleVerbosityAll
)

func GetVerbosity

func GetVerbosity(verbosity trace_pb.TraceToggleVerbosity) ToggleVerbosity

func (ToggleVerbosity) Show

func (val ToggleVerbosity) Show(matched bool) bool

type XgressPeekHandler

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

func NewXgressPeekHandler

func NewXgressPeekHandler(appId *identity.TokenId, controller Controller, eventSink EventHandler) *XgressPeekHandler

func (*XgressPeekHandler) Close

func (handler *XgressPeekHandler) Close(x *xgress.Xgress)

func (*XgressPeekHandler) DisableTracing

func (handler *XgressPeekHandler) DisableTracing(sourceType SourceType, matcher SourceMatcher, resultChan chan<- ToggleApplyResult)

func (*XgressPeekHandler) EnableTracing

func (handler *XgressPeekHandler) EnableTracing(sourceType SourceType, matcher SourceMatcher, resultChan chan<- ToggleApplyResult)

func (*XgressPeekHandler) IsEnabled

func (handler *XgressPeekHandler) IsEnabled() bool

func (*XgressPeekHandler) Rx

func (handler *XgressPeekHandler) Rx(x *xgress.Xgress, payload *xgress.Payload)

func (*XgressPeekHandler) ToggleTracing

func (handler *XgressPeekHandler) ToggleTracing(sourceType SourceType, matcher SourceMatcher, enable bool, resultChan chan<- ToggleApplyResult)

func (*XgressPeekHandler) Tx

func (handler *XgressPeekHandler) Tx(x *xgress.Xgress, payload *xgress.Payload)

Jump to

Keyboard shortcuts

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