tracing

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 22, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package tracing parse http header

Index

Constants

View Source
const (
	SampleDataDogUserReject = "-1"
	SampleDataDogAutoReject = "0"
	SampleDataDogAutoKeep   = "1"
	SampleDataDogUserKeep   = "2"

	SampleW3CKeep   = "1"
	SampleW3CReject = "0"
)
View Source
const (
	OpProbeUnknown     = "ebpf.unknown"
	OpSyscallRead      = "syscall.read"
	OpSyscallWrite     = "syscall.write"
	OpSycallSendto     = "syscall.sendto"
	OpSyscallRecvfrom  = "syscall.recvfrom"
	OpSyscallWritev    = "syscall.writev"
	OpSyscallReadv     = "syscall.readv"
	OpSyscallSendfile  = "syscall.sendfile"
	OpSyscallClose     = "syscall.close"
	OpUserFuncSSLRead  = "user.ssl_read"
	OpUserFuncSSLWrite = "user.ssl_write"

	SvcSyscall = "syscall"
)
View Source
const (
	PUnknown = iota
	PSyscallWrite
	PSyscallRead
	PSyscallSendto
	PSyscallRecvfrom
	PSyscallWritev
	PSyscallReadv
	PSyscallSendfile

	PSyacallClose

	PUsrSSLRead
	PUsrSSLWrite
)

Variables

Functions

func DecTraceOrSpanid2ID64

func DecTraceOrSpanid2ID64(s string) spanid.ID64

func FormatSpanID

func FormatSpanID(i uint64, base16 bool) string

func HexSpanid2ID64

func HexSpanid2ID64(s string) spanid.ID64

func HexTraceid2ID128

func HexTraceid2ID128(s string) spanid.ID128

Types

type ProcSvcInfo

type ProcSvcInfo struct {
	Name       string
	Service    string
	AllowTrace bool
}

type ProcessFilter

type ProcessFilter struct {
	SvcAssignEnv []string
	RuleEnv      []string

	RuleProcessName map[string]bool
	RulePath        map[string]bool

	Pid2ProcInfo map[int]*ProcSvcInfo
	PidDeleted   *lru.Cache
	AnyProcess   bool
	Disable      bool
	sync.RWMutex
}

func NewProcessFilter

func NewProcessFilter(svcAssignEnv []string, ruleEnv []string, ruleProcessName map[string]bool,
	anyProcess, disable bool,
) *ProcessFilter

func (*ProcessFilter) Delete

func (p *ProcessFilter) Delete(pid int)

func (*ProcessFilter) Filter

func (p *ProcessFilter) Filter(pid int, name, path string, env map[string]string) bool

func (*ProcessFilter) GetProcInfo

func (p *ProcessFilter) GetProcInfo(pid int) (*ProcSvcInfo, bool)

type TraceInfo

type TraceInfo struct {
	Host string

	Method  string
	Path    string
	Version string

	ThrTraceid spanid.ID64

	ESpanType string

	TraceID      spanid.ID128
	ParentSpanID spanid.ID64
	HexEncode    bool
	HaveTracID   bool

	PidTid uint64

	ASpanSampled bool

	Headers map[string]string

	Param       string
	TaskComm    string
	ProcessName string
	Service     string
	AllowTrace  bool

	TS int64
}

func ParseHTTP1xHeader

func ParseHTTP1xHeader(payload []byte, ts int64, conv2dd bool) (*TraceInfo, bool)

Jump to

Keyboard shortcuts

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