instrumentation

package
v1.58.0 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2023 License: Apache-2.0, BSD-3-Clause, Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package instrumentation holds code commonly used between all instrumentation declinations (currently httpsec/grpcsec).

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 added in v1.43.1

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 SetStringTags added in v1.45.0

func SetStringTags(span TagSetter, tags map[string]string)

SetStringTags fills the span tags using the key/value pairs of strings found in `tags`

func SetTags

func SetTags(span TagSetter, tags map[string]interface{})

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

Types

type ContextKey added in v1.48.0

type ContextKey struct{}

ContextKey is used as a key to store operations in the request's context (gRPC/HTTP)

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. See httpsec/http.go and grpcsec/grpc.go.

func (*SecurityEventsHolder) AddSecurityEvents

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

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

func (*SecurityEventsHolder) ClearEvents added in v1.45.0

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 added in v1.43.1

type TagSetter interface {
	SetTag(string, interface{})
}

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. See httpsec/http.go and grpcsec/grpc.go.

func NewTagsHolder

func NewTagsHolder() TagsHolder

NewTagsHolder returns a new instance of a TagsHolder struct.

func (*TagsHolder) AddTag

func (m *TagsHolder) AddTag(k string, v interface{})

AddTag adds the key/value pair to the tags map

func (*TagsHolder) Tags

func (m *TagsHolder) Tags() map[string]interface{}

Tags returns the tags map

Directories

Path Synopsis
Package grpcsec is the gRPC instrumentation API and contract for AppSec defining an abstract run-time representation of gRPC handlers.
Package grpcsec is the gRPC instrumentation API and contract for AppSec defining an abstract run-time representation of gRPC handlers.
Package httpsec defines is the HTTP instrumentation API and contract for AppSec.
Package httpsec defines is the HTTP instrumentation API and contract for AppSec.

Jump to

Keyboard shortcuts

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