api

package
v0.0.0-...-08e63c9 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2025 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EventHandler

type EventHandler interface {
	Handle(events chan string, done chan bool, resultFile chan result.File)
}

type PodApi

type PodApi interface {
	// GetPod returns the pod from its name and namespace
	GetPod(ctx context.Context, podName, namespace string) (*v1.Pod, error)
	// GetPodsByLabelSelector returns the pods filtered by a label selector
	GetPodsByLabelSelector(ctx context.Context, namespace, labelSelector string) ([]v1.Pod, error)
}

PodApi defines the methods for working with a pod

func NewPodApi

func NewPodApi(connectionInfo kubernetes.ConnectionInfo) PodApi

NewPodApi returns new instance of PodApi

type ProfilingContainerApi

type ProfilingContainerApi interface {
	// HandleProfilingContainerLogs handles the logs of the profiling container up to obtain the result file if no error found
	HandleProfilingContainerLogs(pod *v1.Pod, containerName string, handler EventHandler, ctx context.Context) (chan bool, chan result.File, error)
	// GetRemoteFile returns the remote file from the pod's container
	GetRemoteFile(pod *v1.Pod, containerName string, remoteFile result.File, targetPodName string, target *config.TargetConfig) (string, error)
}

ProfilingContainerApi defines all methods related to the profiling container A profiling container will be used for both a profiling job (and pod) and for ephemeral container

func NewProfilingContainerApi

func NewProfilingContainerApi(connectionInfo kubernetes.ConnectionInfo) ProfilingContainerApi

NewProfilingContainerApi returns new instance of ProfilingContainerApi

type ProfilingJobApi

type ProfilingJobApi interface {
	// CreateProfilingJob creates the profiling job
	CreateProfilingJob(*v1.Pod, *config.ProfilerConfig, context.Context) (string, *batchv1.Job, error)
	// GetProfilingPod returns the created profiling pod from the profiling job
	GetProfilingPod(*config.ProfilerConfig, context.Context, time.Duration) (*v1.Pod, error)
	// GetProfilingContainerName returns the container name of the profiling pod
	GetProfilingContainerName() string
	// DeleteProfilingJob deletes the previous created profiling job
	DeleteProfilingJob(*batchv1.Job, context.Context) error
}

ProfilingJobApi defines all methods related to profiling job and the target pod to be profiled

func NewProfilingJobApi

func NewProfilingJobApi(connectionInfo kubernetes.ConnectionInfo) ProfilingJobApi

NewProfilingJobApi returns new instance of ProfilingJobApi

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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