Documentation ¶
Index ¶
- type Director
- type DirectorKey
- type DirectorsMap
- type EbpfDirector
- func (d *EbpfDirector[T]) Cleanup(pod types.NamespacedName)
- func (d *EbpfDirector[T]) GetWorkloadInstrumentations(workload *common.PodWorkload) []T
- func (d *EbpfDirector[T]) Instrument(ctx context.Context, pid int, pod types.NamespacedName, ...) error
- func (d *EbpfDirector[T]) Language() common.ProgrammingLanguage
- func (d *EbpfDirector[T]) Shutdown()
- type GoInstrumentationFactory
- type GoOtelEbpfSdk
- type InstrumentationFactory
- type OtelEbpfSdk
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Director ¶
type Director interface { Language() common.ProgrammingLanguage Instrument(ctx context.Context, pid int, podDetails types.NamespacedName, podWorkload *common.PodWorkload, appName string, containerName string) error Cleanup(podDetails types.NamespacedName) Shutdown() }
Director manages the instrumentation for a specific SDK in a specific language
type DirectorKey ¶
type DirectorKey struct { Language common.ProgrammingLanguage common.OtelSdk }
type DirectorsMap ¶
type DirectorsMap map[DirectorKey]Director
type EbpfDirector ¶
type EbpfDirector[T OtelEbpfSdk] struct { // contains filtered or unexported fields }
func NewEbpfDirector ¶
func NewEbpfDirector[T OtelEbpfSdk](language common.ProgrammingLanguage, instrumentationFactory InstrumentationFactory[T]) *EbpfDirector[T]
func (*EbpfDirector[T]) Cleanup ¶
func (d *EbpfDirector[T]) Cleanup(pod types.NamespacedName)
func (*EbpfDirector[T]) GetWorkloadInstrumentations ¶
func (d *EbpfDirector[T]) GetWorkloadInstrumentations(workload *common.PodWorkload) []T
func (*EbpfDirector[T]) Instrument ¶
func (d *EbpfDirector[T]) Instrument(ctx context.Context, pid int, pod types.NamespacedName, podWorkload *common.PodWorkload, appName string, containerName string) error
func (*EbpfDirector[T]) Language ¶
func (d *EbpfDirector[T]) Language() common.ProgrammingLanguage
func (*EbpfDirector[T]) Shutdown ¶
func (d *EbpfDirector[T]) Shutdown()
type GoInstrumentationFactory ¶
type GoInstrumentationFactory struct{}
func (*GoInstrumentationFactory) CreateEbpfInstrumentation ¶
func (g *GoInstrumentationFactory) CreateEbpfInstrumentation(ctx context.Context, pid int, serviceName string, podWorkload *common.PodWorkload, containerName string, podName string) (*GoOtelEbpfSdk, error)
type GoOtelEbpfSdk ¶
type GoOtelEbpfSdk struct {
// contains filtered or unexported fields
}
type InstrumentationFactory ¶
type InstrumentationFactory[T OtelEbpfSdk] interface { CreateEbpfInstrumentation(ctx context.Context, pid int, serviceName string, podWorkload *common.PodWorkload, containerName string, podName string) (T, error) }
users can use different eBPF otel SDKs by returning them from this function
func NewGoInstrumentationFactory ¶
func NewGoInstrumentationFactory() InstrumentationFactory[*GoOtelEbpfSdk]
Click to show internal directories.
Click to hide internal directories.