protocols

package
v0.0.0-...-db5c3f8 Latest Latest
Warning

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

Go to latest
Published: May 18, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package protocols provides the implementation of the network tracer protocols

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetMap

func GetMap(mgr *manager.Manager, name string) (*ebpf.Map, error)

GetMap retrieves an eBPF map by name from the provided manager

func NSTimestampToFloat

func NSTimestampToFloat(ns uint64) float64

NSTimestampToFloat converts a nanosec timestamp into a float nanosecond timestamp truncated to a fixed precision

Types

type ProtocolType

type ProtocolType uint16

ProtocolType is an enum of supported protocols

const (
	// Unknown is the default value, protocol was not detected
	Unknown ProtocolType = iota
	// HTTP protocol
	HTTP
	// HTTP2 protocol
	HTTP2
	// Kafka protocol
	Kafka
	// TLS protocol
	TLS
	// Mongo protocol
	Mongo
	// Postgres protocol
	Postgres
	// AMQP protocol
	AMQP
	// Redis protocol
	Redis
	// MySQL protocol
	MySQL
	// GRPC protocol
	GRPC
)

func (ProtocolType) String

func (p ProtocolType) String() string

String returns the string representation of the protocol

type Stack

type Stack struct {
	API         ProtocolType
	Application ProtocolType
	Encryption  ProtocolType
}

Stack is a set of protocols detected on a connection

func (*Stack) Contains

func (s *Stack) Contains(proto ProtocolType) bool

Contains returns true if the stack contains the given protocol

func (*Stack) IsUnknown

func (s *Stack) IsUnknown() bool

IsUnknown returns true if all protocol types are `Unknown`

func (*Stack) MergeWith

func (s *Stack) MergeWith(other Stack)

MergeWith merges the other stack into the current one

Directories

Path Synopsis
Package amqp provides a simple wrapper around 3rd party amqp client.
Package amqp provides a simple wrapper around 3rd party amqp client.
Package http contains the userspace portion of USM's HTTP monitoring code
Package http contains the userspace portion of USM's HTTP monitoring code
debugging
Package debugging provides a debugging view of the HTTP protocol.
Package debugging provides a debugging view of the HTTP protocol.
gotls/lookup
Package lookup provides a lookup table for the protocol package.
Package lookup provides a lookup table for the protocol package.
gotls/lookup/internal/testprogram
Package main provides a test program for generating lookup tables for TLS types
Package main provides a test program for generating lookup tables for TLS types
testutil
Package testutil provides utilities for testing the HTTP protocol.
Package testutil provides utilities for testing the HTTP protocol.
Package http2 provides a HTTP/2 implementation for the network package for supporting HTTP/2 and gRPC monitoring with USM.
Package http2 provides a HTTP/2 implementation for the network package for supporting HTTP/2 and gRPC monitoring with USM.
debugging
Package debugging provides debug-friendly representations of internal data structures
Package debugging provides debug-friendly representations of internal data structures
Package mongo provides a simple wrapper around 3rd party mongo client.
Package mongo provides a simple wrapper around 3rd party mongo client.
Package mysql provides a MySQL client to interact with a MySQL server.
Package mysql provides a MySQL client to interact with a MySQL server.
debugging
Package debugging provides debug-friendly representations of internal data structures
Package debugging provides debug-friendly representations of internal data structures
Package redis provides a Redis client to interact with a Redis server.
Package redis provides a Redis client to interact with a Redis server.
Package telemetry provides a way to collect metrics from eBPF programs.
Package telemetry provides a way to collect metrics from eBPF programs.
Package testutil provides utilities for testing the network package.
Package testutil provides utilities for testing the network package.
tls
gotls/testutil
Package testutil provides utilities for testing the TLS package.
Package testutil provides utilities for testing the TLS package.
gotls/testutil/gotls_client
Package main is a simple client for the gotls_server.
Package main is a simple client for the gotls_server.
java
Package java contains implementation for JavaTLS support.
Package java contains implementation for JavaTLS support.
nodejs
Package nodejs provides helpers to run nodejs HTTPs server.
Package nodejs provides helpers to run nodejs HTTPs server.
openssl
Package openssl provides helpers to run openssl servers and clients.
Package openssl provides helpers to run openssl servers and clients.

Jump to

Keyboard shortcuts

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