trace

package
v1.59.4 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2024 License: Apache-2.0, BSD-3-Clause, Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package trace provides functions to annotate trace spans with AppSec related information.

Index

Constants

View Source
const BlockedRequestTag = "appsec.blocked"

BlockedRequestTag used to convey whether a request is blocked

Variables

This section is empty.

Functions

func SetAppSecEnabledTags

func SetAppSecEnabledTags(span TagSetter)

SetAppSecEnabledTags sets the AppSec-specific span tags that are expected to be in the web service entry span (span of type `web`) when AppSec is enabled.

func SetEventSpanTags

func SetEventSpanTags(span TagSetter, events []any) error

SetEventSpanTags sets the security event span tags into the service entry span.

func SetTags

func SetTags[V any](span TagSetter, tags map[string]V)

SetTags fills the span tags using the key/value pairs found in `tags`

Types

type NoopTagSetter

type NoopTagSetter struct{}

NoopTagSetter is a TagSetter that does nothing. Useful when no tracer Span is available, but a TagSetter is assumed.

func (NoopTagSetter) SetTag

func (NoopTagSetter) SetTag(string, any)

type SecurityEventsHolder

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

SecurityEventsHolder is a wrapper around a thread safe security events slice. The purpose of this struct is to be used by composition in an Operation to allow said operation to handle security events addition/retrieval.

func (*SecurityEventsHolder) AddSecurityEvents

func (s *SecurityEventsHolder) AddSecurityEvents(events []any)

AddSecurityEvents adds the security events to the collected events list. Thread safe.

func (*SecurityEventsHolder) ClearEvents

func (s *SecurityEventsHolder) ClearEvents()

ClearEvents clears the list of stored events

func (*SecurityEventsHolder) Events

func (s *SecurityEventsHolder) Events() []any

Events returns the list of stored events.

type TagSetter

type TagSetter interface {
	SetTag(string, any)
}

TagSetter is the interface needed to set a span tag.

type TagsHolder

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

TagsHolder wraps a map holding tags. The purpose of this struct is to be used by composition in an Operation to allow said operation to handle tags addition/retrieval.

func NewTagsHolder

func NewTagsHolder() TagsHolder

NewTagsHolder returns a new instance of a TagsHolder struct.

func (*TagsHolder) AddSerializableTag

func (m *TagsHolder) AddSerializableTag(k string, v any)

AddSerializableTag adds the key/value pair to the tags map. Value is serialized as JSON.

func (*TagsHolder) SetTag

func (m *TagsHolder) SetTag(k string, v any)

SetTag adds the key/value pair to the tags map

func (*TagsHolder) Tags

func (m *TagsHolder) Tags() map[string]any

Tags returns a copy of the aggregated tags map (normal and serialized)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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