Documentation ¶
Index ¶
- func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
- func NewQueryable(store *store.Store, agentIDFunc func() string) metricQueryable
- type API
- type AgentInfo
- type AgentStatus
- type CPUUsage
- type ComplexityRoot
- type Config
- type Container
- type Containers
- type DirectiveRoot
- type Fact
- type LabelInput
- type MemoryUsage
- type MetricInput
- type Pagination
- type Process
- type Query
- type QueryResolver
- type Resolver
- type ResolverRoot
- type Service
- type SwapUsage
- type Tag
- type Topinfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewExecutableSchema ¶
func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
func NewQueryable ¶
NewQueryable returns a metricQueryable that only do queries on the main agent.
Types ¶
type API ¶
type API struct { BindAddress string StaticCDNURL string LocalUIDisabled bool Endpoints config.WebEndpoints MetricFormat types.MetricFormat DB metricQueryable ContainerRuntime containerInterface PsFact *facts.ProcessProvider FactProvider *facts.FactProvider Discovery *discovery.Discovery AgentInfo agentInterface PrometheurExporter http.Handler Threshold *threshold.Registry DiagnosticPage func(ctx context.Context) string DiagnosticArchive func(ctx context.Context, w types.ArchiveWriter) error // contains filtered or unexported fields }
API contains API's port.
type AgentStatus ¶
type CPUUsage ¶
type CPUUsage struct { User float64 `json:"User"` Nice float64 `json:"Nice"` System float64 `json:"System"` Idle float64 `json:"Idle"` IOWait float64 `json:"IOWait"` Guest float64 `json:"Guest"` GuestNice float64 `json:"GuestNice"` Irq float64 `json:"IRQ"` SoftIrq float64 `json:"SoftIRQ"` Steal float64 `json:"Steal"` }
type ComplexityRoot ¶
type ComplexityRoot struct { AgentInfo struct { IsConnected func(childComplexity int) int LastReport func(childComplexity int) int RegistrationAt func(childComplexity int) int } AgentStatus struct { Status func(childComplexity int) int StatusDescription func(childComplexity int) int } CPUUsage struct { Guest func(childComplexity int) int GuestNice func(childComplexity int) int IOWait func(childComplexity int) int Idle func(childComplexity int) int Irq func(childComplexity int) int Nice func(childComplexity int) int SoftIrq func(childComplexity int) int Steal func(childComplexity int) int System func(childComplexity int) int User func(childComplexity int) int } Container struct { CPUUsedPerc func(childComplexity int) int Command func(childComplexity int) int CreatedAt func(childComplexity int) int FinishedAt func(childComplexity int) int ID func(childComplexity int) int Image func(childComplexity int) int InspectJSON func(childComplexity int) int IoReadBytes func(childComplexity int) int IoWriteBytes func(childComplexity int) int MemUsedPerc func(childComplexity int) int Name func(childComplexity int) int NetBitsRecv func(childComplexity int) int NetBitsSent func(childComplexity int) int StartedAt func(childComplexity int) int State func(childComplexity int) int } Containers struct { Containers func(childComplexity int) int Count func(childComplexity int) int CurrentCount func(childComplexity int) int } Fact struct { Name func(childComplexity int) int Value func(childComplexity int) int } MemoryUsage struct { Buffers func(childComplexity int) int Cached func(childComplexity int) int Free func(childComplexity int) int Total func(childComplexity int) int Used func(childComplexity int) int } Process struct { CPUPercent func(childComplexity int) int CPUTime func(childComplexity int) int Cmdline func(childComplexity int) int ContainerID func(childComplexity int) int CreateTime func(childComplexity int) int Executable func(childComplexity int) int MemoryRss func(childComplexity int) int Name func(childComplexity int) int Pid func(childComplexity int) int Ppid func(childComplexity int) int Status func(childComplexity int) int Username func(childComplexity int) int } Query struct { AgentInformation func(childComplexity int) int AgentStatus func(childComplexity int) int Containers func(childComplexity int, input *Pagination, allContainers bool, search string) int Facts func(childComplexity int) int Processes func(childComplexity int, containerID *string) int Services func(childComplexity int, isActive bool) int Tags func(childComplexity int) int } Service struct { Active func(childComplexity int) int ContainerID func(childComplexity int) int ExePath func(childComplexity int) int IPAddress func(childComplexity int) int ListenAddresses func(childComplexity int) int Name func(childComplexity int) int Status func(childComplexity int) int StatusDescription func(childComplexity int) int } SwapUsage struct { Free func(childComplexity int) int Total func(childComplexity int) int Used func(childComplexity int) int } Tag struct { TagName func(childComplexity int) int } Topinfo struct { CPU func(childComplexity int) int Loads func(childComplexity int) int Memory func(childComplexity int) int Processes func(childComplexity int) int Swap func(childComplexity int) int Time func(childComplexity int) int Uptime func(childComplexity int) int Users func(childComplexity int) int } }
type Config ¶
type Config struct { Schema *ast.Schema Resolvers ResolverRoot Directives DirectiveRoot Complexity ComplexityRoot }
type Container ¶
type Container struct { Command string `json:"command"` CreatedAt *time.Time `json:"createdAt,omitempty"` ID string `json:"id"` Image string `json:"image"` InspectJSON string `json:"inspectJSON"` Name string `json:"name"` StartedAt *time.Time `json:"startedAt,omitempty"` State string `json:"state"` FinishedAt *time.Time `json:"finishedAt,omitempty"` IoWriteBytes float64 `json:"ioWriteBytes"` IoReadBytes float64 `json:"ioReadBytes"` NetBitsRecv float64 `json:"netBitsRecv"` NetBitsSent float64 `json:"netBitsSent"` MemUsedPerc float64 `json:"memUsedPerc"` CPUUsedPerc float64 `json:"cpuUsedPerc"` }
type Containers ¶
type DirectiveRoot ¶
type DirectiveRoot struct { }
type LabelInput ¶
type MemoryUsage ¶
type MetricInput ¶
type MetricInput struct {
Labels []*LabelInput `json:"labels"`
}
type Pagination ¶
type Process ¶
type Process struct { Pid int `json:"pid"` Ppid int `json:"ppid"` CreateTime time.Time `json:"create_time"` Cmdline string `json:"cmdline"` Name string `json:"name"` MemoryRss int `json:"memory_rss"` CPUPercent float64 `json:"cpu_percent"` CPUTime float64 `json:"cpu_time"` Status string `json:"status"` Username string `json:"username"` Executable string `json:"executable"` ContainerID string `json:"container_id"` }
type QueryResolver ¶
type QueryResolver interface { Containers(ctx context.Context, input *Pagination, allContainers bool, search string) (*Containers, error) Processes(ctx context.Context, containerID *string) (*Topinfo, error) Facts(ctx context.Context) ([]*Fact, error) Services(ctx context.Context, isActive bool) ([]*Service, error) AgentInformation(ctx context.Context) (*AgentInfo, error) Tags(ctx context.Context) ([]*Tag, error) AgentStatus(ctx context.Context) (*AgentStatus, error) }
type Resolver ¶
type Resolver struct {
// contains filtered or unexported fields
}
Resolver is the api resolver.
type ResolverRoot ¶
type ResolverRoot interface {
Query() QueryResolver
}
type Service ¶
type Service struct { Name string `json:"name"` ContainerID string `json:"containerId"` IPAddress string `json:"ipAddress"` ListenAddresses []string `json:"listenAddresses"` ExePath string `json:"exePath"` Active bool `json:"active"` Status float64 `json:"status"` StatusDescription *string `json:"statusDescription,omitempty"` }
Click to show internal directories.
Click to hide internal directories.