Documentation
¶
Overview ¶
Package acceptor provides marshaling structs for Instana serverless acceptor API
Index ¶
- type AWSContainerLimits
- type DockerData
- type ECSContainerData
- type ECSTaskData
- type GoProcessData
- type MemoryStats
- type Metrics
- type PluginPayload
- func NewDockerPluginPayload(entityID string, data DockerData) PluginPayload
- func NewECSContainerPluginPayload(entityID string, data ECSContainerData) PluginPayload
- func NewECSTaskPluginPayload(entityID string, data ECSTaskData) PluginPayload
- func NewGoProcessPluginPayload(data GoProcessData) PluginPayload
- func NewProcessPluginPayload(entityID string, data ProcessData) PluginPayload
- type ProcessData
- type RuntimeInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSContainerLimits ¶
AWSContainerLimits is used to send container limits (CPU, memory) to the acceptor plugin
type DockerData ¶
type DockerData struct {
ID string `json:"Id"`
Command string `json:"Command"`
CreatedAt time.Time `json:"Created"`
StartedAt time.Time `json:"Started"`
Image string `json:"Image"`
Labels aws.ContainerLabels `json:"Labels,omitempty"`
Ports string `json:"Ports,omitempty"`
PortBindings string `json:"PortBindings,omitempty"`
Names []string `json:"Names,omitempty"`
NetworkMode string `json:"NetworkMode,omitempty"`
StorageDriver string `json:"StorageDriver,omitempty"`
DockerVersion string `json:"docker_version,omitempty"`
DockerAPIVersion string `json:"docker_api_version,omitempty"`
Memory int `json:"Memory"`
}
DockerData is a representation of a Docker container for com.instana.plugin.docker plugin
type ECSContainerData ¶
type ECSContainerData struct {
Runtime string `json:"runtime"`
Instrumented bool `json:"instrumented,omitempty"`
DockerID string `json:"dockerId"`
DockerName string `json:"dockerName"`
ContainerName string `json:"containerName"`
Image string `json:"image"`
ImageID string `json:"imageId"`
TaskARN string `json:"taskArn"`
TaskDefinition string `json:"taskDefinition"`
TaskDefinitionVersion string `json:"taskDefinitionVersion"`
ClusterARN string `json:"clusterArn"`
DesiredStatus string `json:"desiredStatus"`
KnownStatus string `json:"knownStatus"`
Limits AWSContainerLimits `json:"limits"`
CreatedAt time.Time `json:"createdAt"`
StartedAt time.Time `json:"startedAt"`
Type string `json:"type"`
}
ECSContainerData is a representation of an ECS container for com.instana.plugin.aws.ecs.container plugin
type ECSTaskData ¶
type ECSTaskData struct {
TaskARN string `json:"taskArn"`
ClusterARN string `json:"clusterArn"`
AvailabilityZone string `json:"availabilityZone,omitempty"`
TaskDefinition string `json:"taskDefinition"`
TaskDefinitionVersion string `json:"taskDefinitionVersion"`
DesiredStatus string `json:"desiredStatus"`
KnownStatus string `json:"knownStatus"`
Limits AWSContainerLimits `json:"limits"`
PullStartedAt time.Time `json:"pullStartedAt"`
PullStoppedAt time.Time `json:"pullStoppedAt"`
}
ECSTaskData is a representation of an ECS task for com.instana.plugin.aws.ecs.task plugin
type GoProcessData ¶
type GoProcessData struct {
PID int `json:"pid"`
Snapshot *RuntimeInfo `json:"snapshot,omitempty"`
Metrics Metrics `json:"metrics"`
}
GoProcessData is a representation of a Go process for com.instana.plugin.golang plugin
type MemoryStats ¶
type MemoryStats struct {
Alloc uint64 `json:"alloc"`
TotalAlloc uint64 `json:"total_alloc"`
Sys uint64 `json:"sys"`
Lookups uint64 `json:"lookups"`
Mallocs uint64 `json:"mallocs"`
Frees uint64 `json:"frees"`
HeapAlloc uint64 `json:"heap_alloc"`
HeapSys uint64 `json:"heap_sys"`
HeapIdle uint64 `json:"heap_idle"`
HeapInuse uint64 `json:"heap_in_use"`
HeapReleased uint64 `json:"heap_released"`
HeapObjects uint64 `json:"heap_objects"`
PauseTotalNs uint64 `json:"pause_total_ns"`
PauseNs uint64 `json:"pause_ns"`
NumGC uint32 `json:"num_gc"`
GCCPUFraction float64 `json:"gc_cpu_fraction"`
}
MemoryStats represents Go runtime memory stats to be sent to com.insana.plugin.golang
type Metrics ¶
type Metrics struct {
CgoCall int64 `json:"cgo_call"`
Goroutine int `json:"goroutine"`
MemoryStats `json:"memory"`
}
Metrics represents Go process metrics to be sent to com.insana.plugin.golang
type PluginPayload ¶
type PluginPayload struct {
Name string `json:"name"`
EntityID string `json:"entityId"`
Data interface{} `json:"data"`
}
PluginPayload represents the Instana acceptor message envelope containing plugin name and entity ID
func NewDockerPluginPayload ¶
func NewDockerPluginPayload(entityID string, data DockerData) PluginPayload
NewDockerPluginPayload returns payload for the Docker plugin of Instana acceptor
func NewECSContainerPluginPayload ¶
func NewECSContainerPluginPayload(entityID string, data ECSContainerData) PluginPayload
NewECSContainerPluginPayload returns payload for the ECS container plugin of Instana acceptor
func NewECSTaskPluginPayload ¶
func NewECSTaskPluginPayload(entityID string, data ECSTaskData) PluginPayload
NewECSTaskPluginPayload returns payload for the ECS task plugin of Instana acceptor
func NewGoProcessPluginPayload ¶
func NewGoProcessPluginPayload(data GoProcessData) PluginPayload
NewGoProcessPluginPayload returns payload for the Go process plugin of Instana acceptor
func NewProcessPluginPayload ¶
func NewProcessPluginPayload(entityID string, data ProcessData) PluginPayload
NewProcessPluginPayload returns payload for the process plugin of Instana acceptor
type ProcessData ¶
type ProcessData struct {
PID int `json:"pid"`
Exec string `json:"exec"`
Args []string `json:"args,omitempty"`
Env map[string]string `json:"env,omitempty"`
User string `json:"user,omitempty"`
Group string `json:"group,omitempty"`
ContainerID string `json:"container,omitempty"`
ContainerPid int `json:"containerPid,string,omitempty"`
ContainerType string `json:"containerType,omitempty"`
Start int64 `json:"start"`
HostName string `json:"com.instana.plugin.host.name"`
HostPID int `json:"com.instana.plugin.host.pid,string"`
}
ProcessData is a representation of a running process for com.instana.plugin.process plugin