Documentation ¶
Index ¶
- Constants
- func GenNetnsPath(pid uint32) string
- func GetChildProcesses(ppid uint32) ([]uint32, error)
- func StartServer(conf *Config, reg RegisterGatherer) error
- func ToNetlinkNetemAttrs(netem *pb.Netem) netlink.NetemQdiscAttrs
- type Config
- type ContainerRuntimeInfoClient
- type ContainerdClient
- func (c ContainerdClient) ContainerKillByContainerID(ctx context.Context, containerID string) error
- func (c ContainerdClient) FormatContainerID(ctx context.Context, containerID string) (string, error)
- func (c ContainerdClient) GetPidFromContainerID(ctx context.Context, containerID string) (uint32, error)
- type ContainerdClientInterface
- type DockerClient
- type DockerClientInterface
- type RegisterGatherer
- type Response
Constants ¶
const ( // StatusOK represents OK status code StatusOK = 200 // StatusOtherError represents Error status code StatusOtherError = 1 )
Variables ¶
This section is empty.
Functions ¶
func GenNetnsPath ¶
GetNetnsPath returns network namespace path
func GetChildProcesses ¶
GetChildProcesses will return all child processes's pid. Include all generations.
func StartServer ¶
func StartServer(conf *Config, reg RegisterGatherer) error
StartServer starts chaos-daemon.
func ToNetlinkNetemAttrs ¶
func ToNetlinkNetemAttrs(netem *pb.Netem) netlink.NetemQdiscAttrs
Types ¶
type ContainerRuntimeInfoClient ¶
type ContainerRuntimeInfoClient interface { GetPidFromContainerID(ctx context.Context, containerID string) (uint32, error) ContainerKillByContainerID(ctx context.Context, containerID string) error FormatContainerID(ctx context.Context, containerID string) (string, error) }
ContainerRuntimeInfoClient represents a struct which can give you information about container runtime
func CreateContainerRuntimeInfoClient ¶
func CreateContainerRuntimeInfoClient(containerRuntime string) (ContainerRuntimeInfoClient, error)
CreateContainerRuntimeInfoClient creates a container runtime information client.
type ContainerdClient ¶
type ContainerdClient struct {
// contains filtered or unexported fields
}
ContainerdClient can get information from containerd
func (ContainerdClient) ContainerKillByContainerID ¶
func (c ContainerdClient) ContainerKillByContainerID(ctx context.Context, containerID string) error
ContainerKillByContainerID kills container according to container id
func (ContainerdClient) FormatContainerID ¶
func (c ContainerdClient) FormatContainerID(ctx context.Context, containerID string) (string, error)
FormatContainerID strips protocol prefix from the container ID
func (ContainerdClient) GetPidFromContainerID ¶
func (c ContainerdClient) GetPidFromContainerID(ctx context.Context, containerID string) (uint32, error)
GetPidFromContainerID fetches PID according to container id
type ContainerdClientInterface ¶
type ContainerdClientInterface interface {
LoadContainer(ctx context.Context, id string) (containerd.Container, error)
}
ContainerdClientInterface represents the ContainerClient, it's used to simply unit test
type DockerClient ¶
type DockerClient struct {
// contains filtered or unexported fields
}
DockerClient can get information from docker
func (DockerClient) ContainerKillByContainerID ¶
func (c DockerClient) ContainerKillByContainerID(ctx context.Context, containerID string) error
ContainerKillByContainerID kills container according to container id
func (DockerClient) FormatContainerID ¶
FormatContainerID strips protocol prefix from the container ID
func (DockerClient) GetPidFromContainerID ¶
func (c DockerClient) GetPidFromContainerID(ctx context.Context, containerID string) (uint32, error)
GetPidFromContainerID fetches PID according to container id
type DockerClientInterface ¶
type DockerClientInterface interface { ContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error) ContainerKill(ctx context.Context, containerID, signal string) error }
DockerClientInterface represents the DockerClient, it's used to simply unit test
type RegisterGatherer ¶
type RegisterGatherer interface { prometheus.Registerer prometheus.Gatherer }
RegisterGatherer combine prometheus.Registerer and prometheus.Gatherer