models

package
v0.1.15 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2019 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	REQUEST_SEPARATOR string         = ";"
	FIELD_SEPARATOR   string         = "__"
	Java              TechnologyName = "java"
	DotNet            TechnologyName = "dotnet"
	NodeJS            TechnologyName = "nodejs"
	ALL_CONTAINERS    string         = "all"
	FIRST_CONTAINER   string         = "all"
	VERSION_LATEST    string         = "latest"
)
View Source
const (
	DEPLOYMENT_TYPE_DEPLOYMENT string = "d"
	DEPLOYMENT_TYPE_RS         string = "rs"
	DEPLOYMENT_TYPE_DS         string = "ds"
)
View Source
const ALL string = "all"
View Source
const METRIC_PATH_APPS string = "Deployments"
View Source
const METRIC_PATH_CONT string = "Containers"
View Source
const METRIC_PATH_EVENTS string = "Events"
View Source
const METRIC_PATH_INSTANCES string = "Instances"
View Source
const METRIC_PATH_NAMESPACES string = "Namespaces"
View Source
const METRIC_PATH_NODES string = "Nodes"
View Source
const METRIC_PATH_PORTS string = "Ports"
View Source
const METRIC_PATH_RQSPEC string = "QuotaSpecs"
View Source
const METRIC_PATH_RQUSED string = "QuotaUsed"
View Source
const METRIC_PATH_SERVICES string = "Services"
View Source
const METRIC_PATH_SERVICES_EP string = "Endpoints"
View Source
const METRIC_SEPARATOR string = "|"
View Source
const RootPath string = "Server|Component:%s|Custom Metrics|Cluster Stats|"

Variables

This section is empty.

Functions

func CompareDaemonObjects

func CompareDaemonObjects(newDaemon *appsv1.DaemonSet, oldDaemon *appsv1.DaemonSet) bool

func CompareDeployObjects

func CompareDeployObjects(newDeploy *appsv1.Deployment, oldDeploy *appsv1.Deployment) bool

func CompareNodeObjects

func CompareNodeObjects(newNode *v1.Node, oldNode *v1.Node) bool

func CompareRsObjects

func CompareRsObjects(newRs *appsv1.ReplicaSet, oldRs *appsv1.ReplicaSet) bool

func GetEPStats

func GetEPStats(ep *v1.Endpoints) (int, int, bool)

func IsUpdatable

func IsUpdatable(fieldName string) bool

func UpdateField

func UpdateField(fieldName string, current *reflect.Value, updated *reflect.Value)

Types

type AdqlSearch

type AdqlSearch struct {
	ID         int64               `json:"id"`
	SearchName string              `json:"searchName"`
	Query      string              `json:"-"`
	SchemaName string              `json:"-"`
	SchemaDef  AppDSchemaInterface `json:"-"`
}

type AgentRequest

type AgentRequest struct {
	Namespaces    []string
	AppName       string
	TierName      string
	AppDAppLabel  string
	AppDTierLabel string
	Tech          TechnologyName
	ContainerName string //first (default), all, name
	Version       string
	MatchString   []string //string matched against deployment names and labels, supports regex
	Method        InstrumentationMethod
	BiQ           string //"sidecar" or reference to the remote analytics agent

	AppNameLiteral string
	AgentEnvVar    string
}

func NewAgentRequest

func NewAgentRequest(appdAgentLabel string, appName string, tierName string, biq string, bag *AppDBag) AgentRequest

func RequestFromAnnotation

func RequestFromAnnotation(annotation string) AgentRequest

func (*AgentRequest) BiQRequested

func (ar *AgentRequest) BiQRequested() bool

func (*AgentRequest) Clone

func (ar *AgentRequest) Clone() AgentRequest

func (*AgentRequest) EnvRequired

func (ar *AgentRequest) EnvRequired() bool

func (*AgentRequest) Equals added in v0.1.13

func (self *AgentRequest) Equals(ar *AgentRequest) bool

func (*AgentRequest) GetAgentImageName

func (ar *AgentRequest) GetAgentImageName(bag *AppDBag) string

func (*AgentRequest) InitContainerRequired

func (ar *AgentRequest) InitContainerRequired() bool

func (*AgentRequest) IsBiQRemote

func (ar *AgentRequest) IsBiQRemote() bool

func (*AgentRequest) String

func (ar *AgentRequest) String() string

func (*AgentRequest) ToAnnotation

func (ar *AgentRequest) ToAnnotation() string

func (*AgentRequest) Valid

func (ar *AgentRequest) Valid() bool

type AgentRequestList

type AgentRequestList struct {
	Items []AgentRequest
}

func FromAnnotation

func FromAnnotation(annotation string) *AgentRequestList

func NewAgentRequestList

func NewAgentRequestList(appdAgentLabel string, appName string, tierName string, biq string, containers []v1.Container, bag *AppDBag) AgentRequestList

func NewAgentRequestListFromArray

func NewAgentRequestListFromArray(ar []AgentRequest, bag *AppDBag, containers []v1.Container) *AgentRequestList

func (*AgentRequestList) ApplyInstrumentationMethod

func (al *AgentRequestList) ApplyInstrumentationMethod(m InstrumentationMethod)

func (*AgentRequestList) BiQRequested

func (al *AgentRequestList) BiQRequested() bool

func (*AgentRequestList) EnvRequired

func (al *AgentRequestList) EnvRequired() bool

func (*AgentRequestList) Equals added in v0.1.13

func (self *AgentRequestList) Equals(al *AgentRequestList) bool

func (*AgentRequestList) GetBiQOption

func (al *AgentRequestList) GetBiQOption() string

func (*AgentRequestList) GetContainerNames

func (al *AgentRequestList) GetContainerNames() *[]string

func (*AgentRequestList) GetFirstRequest

func (al *AgentRequestList) GetFirstRequest() *AgentRequest

func (*AgentRequestList) GetRequest

func (al *AgentRequestList) GetRequest(cname string) *AgentRequest

func (*AgentRequestList) InitContainerRequired

func (al *AgentRequestList) InitContainerRequired() bool

func (*AgentRequestList) String

func (al *AgentRequestList) String() string

func (*AgentRequestList) ToAnnotation

func (al *AgentRequestList) ToAnnotation() string

type AgentRetryRequest

type AgentRetryRequest struct {
	Request *AgentRequest
	Pod     *v1.Pod
}

type AgentStatus

type AgentStatus struct {
	Version                    string
	MetricsSyncInterval        int
	SnapshotSyncInterval       int
	LogLevel                   string
	LogLines                   int
	NsToMonitor                []string
	NsToMonitorExclude         []string
	NodesToMonitor             []string
	NodesToMonitorExclude      []string
	NsToInstrument             []string
	NsToInstrumentExclude      []string
	NSInstrumentRule           []AgentRequest
	InstrumentationMethod      InstrumentationMethod
	DefaultInstrumentationTech TechnologyName
	InstrumentMatchString      []string
	BiqService                 string
	AnalyticsAgentImage        string
	AppDJavaAttachImage        string
	AppDDotNetAttachImage      string
}

type AppDBag

type AppDBag struct {
	AgentNamespace              string
	AppName                     string
	TierName                    string
	NodeName                    string
	AppID                       int
	TierID                      int
	NodeID                      int
	Account                     string
	GlobalAccount               string
	AccessKey                   string
	ControllerUrl               string
	ControllerPort              uint16
	RestAPIUrl                  string
	SSLEnabled                  bool
	SystemSSLCert               string
	AgentSSLCert                string
	EventKey                    string
	EventServiceUrl             string
	RestAPICred                 string
	EventAPILimit               int
	PodSchemaName               string
	NodeSchemaName              string
	DeploySchemaName            string
	RSSchemaName                string
	DaemonSchemaName            string
	EventSchemaName             string
	ContainerSchemaName         string
	EpSchemaName                string
	NsSchemaName                string
	RqSchemaName                string
	JobSchemaName               string
	LogSchemaName               string
	DashboardTemplatePath       string
	DashboardSuffix             string
	DashboardDelayMin           int
	AgentEnvVar                 string
	AgentLabel                  string
	AppNameLiteral              string
	AppDAppLabel                string
	AppDTierLabel               string
	AppDAnalyticsLabel          string
	AgentLogOverride            string
	AgentUserOverride           string
	AgentMountName              string
	AgentMountPath              string
	AppLogMountName             string
	AppLogMountPath             string
	JDKMountName                string
	JDKMountPath                string
	NodeNamePrefix              string
	AnalyticsAgentUrl           string
	AnalyticsAgentImage         string
	AnalyticsAgentContainerName string
	AppDInitContainerName       string
	AppDJavaAttachImage         string
	AppDDotNetAttachImage       string
	AppDNodeJSAttachImage       string
	ProxyUrl                    string
	ProxyHost                   string
	ProxyPort                   string
	ProxyUser                   string
	ProxyPass                   string
	InitContainerDir            string
	MetricsSyncInterval         int // Frequency of metrics pushes to the controller, sec
	SnapshotSyncInterval        int // Frequency of snapshot pushes to events api, sec
	AgentServerPort             int
	NsToMonitor                 []string
	NsToMonitorExclude          []string
	DeploysToDashboard          []string
	NodesToMonitor              []string
	NodesToMonitorExclude       []string
	NsToInstrument              []string
	NsToInstrumentExclude       []string
	NSInstrumentRule            []AgentRequest
	InstrumentationMethod       InstrumentationMethod
	DefaultInstrumentationTech  TechnologyName
	BiqService                  string
	InstrumentContainer         string //all, first, name
	InstrumentMatchString       []string
	InitRequestMem              string
	InitRequestCpu              string
	BiqRequestMem               string
	BiqRequestCpu               string
	LogLines                    int //0 - no logging
	PodEventNumber              int
	RemoteBiqProtocol           string
	RemoteBiqHost               string
	RemoteBiqPort               int
	SchemaUpdateCache           []string
	SchemaSkipCache             []string
	LogLevel                    string
	OverconsumptionThreshold    int //percent
	ControllerVer1              int
	ControllerVer2              int
	ControllerVer3              int
	ControllerVer4              int
	InstrumentationUpdated      bool
}

func GetDefaultProperties

func GetDefaultProperties() *AppDBag

func (*AppDBag) CompareControllerVersions

func (bag *AppDBag) CompareControllerVersions(ver1 int, ver2 int, ver3 int, ver4 int) int

/ current controller version is -1 = older, 1 - newer or equal

func (*AppDBag) EnsureDefaults

func (self *AppDBag) EnsureDefaults()

func (*AppDBag) PrintControllerVersion

func (bag *AppDBag) PrintControllerVersion() string

type AppDMetric

type AppDMetric struct {
	MetricName              string
	MetricValue             int64
	MetricPath              string
	MetricAlias             string
	MetricMultiplier        float64
	MetricAggregationType   string
	MetricTimeRollUpType    appd.RollupType
	MetricClusterRollUpType appd.ClusterRollupType
	MetricDelta             bool
}

func NewAppDMetric

func NewAppDMetric(name string, val int64, path string) AppDMetric

func (AppDMetric) ToString

func (am AppDMetric) ToString() string

type AppDMetricInterface

type AppDMetricInterface interface {
	ShouldExcludeField(fieldName string) bool
	GetPath() string
	Unwrap() *map[string]interface{}
}

type AppDMetricList

type AppDMetricList struct {
	Items []AppDMetric
}

func NewAppDMetricList

func NewAppDMetricList() AppDMetricList

func (AppDMetricList) AddMetrics

func (l AppDMetricList) AddMetrics(obj AppDMetric) []AppDMetric

type AppDMetricMetadata

type AppDMetricMetadata struct {
	Name         string
	ParentSchema string
	Path         string
	Query        string
}

func NewAppDMetricMetadata

func NewAppDMetricMetadata(name, schema, path, query string) AppDMetricMetadata

type AppDSchemaInterface

type AppDSchemaInterface interface {
	Unwrap() *map[string]interface{}
}

type AttachStatus

type AttachStatus struct {
	Key              string
	Count            int
	LastAttempt      time.Time
	LastMessage      string
	Success          bool
	RetryAssociation bool
	Request          *AgentRequest
}

type BiQDeploymentOption

type BiQDeploymentOption string
const (
	NoBiq   BiQDeploymentOption = "none"
	Sidecar BiQDeploymentOption = "sidecar"
	Remote  BiQDeploymentOption = "remote"
)

type ClusterAppMetrics

type ClusterAppMetrics struct {
	Path                string
	Metadata            map[string]AppDMetricMetadata
	Namespace           string
	TierName            string
	PodCount            int64
	Privileged          int64
	Evictions           int64
	PodRestarts         int64
	PodRunning          int64
	PodFailed           int64
	PodPending          int64
	PendingTime         int64
	UpTime              int64
	ContainerCount      int64
	InitContainerCount  int64
	RequestCpu          int64
	RequestMemory       int64
	LimitCpu            int64
	LimitMemory         int64
	UseCpu              int64
	UseMemory           int64
	ConsumptionCpu      int64
	ConsumptionMem      int64
	NoLimits            int64
	NoReadinessProbe    int64
	NoLivenessProbe     int64
	MissingDependencies int64
	NoConnectivity      int64
	Services            []ClusterServiceMetrics
	QuotasSpec          RQFields
	QuotasUsed          RQFields
}

func NewClusterAppMetrics

func NewClusterAppMetrics(bag *AppDBag, podObject *PodSchema) ClusterAppMetrics

func NewClusterAppMetricsMetadata

func NewClusterAppMetricsMetadata(bag *AppDBag, podObject *PodSchema) ClusterAppMetrics

func (ClusterAppMetrics) GetPath

func (cpm ClusterAppMetrics) GetPath() string

func (ClusterAppMetrics) GetQuotaSpecMetrics

func (cpm ClusterAppMetrics) GetQuotaSpecMetrics() RQFields

func (ClusterAppMetrics) GetQuotaUsedMetrics

func (cpm ClusterAppMetrics) GetQuotaUsedMetrics() RQFields

func (ClusterAppMetrics) ShouldExcludeField

func (cpm ClusterAppMetrics) ShouldExcludeField(fieldName string) bool

func (ClusterAppMetrics) Unwrap

func (cpm ClusterAppMetrics) Unwrap() *map[string]interface{}

type ClusterContainerMetrics

type ClusterContainerMetrics struct {
	Path              string
	Metadata          map[string]AppDMetricMetadata
	Namespace         string
	TierName          string
	ContainerName     string
	Restarts          int64
	ContainerCount    int64
	RequestCpu        int64
	RequestMemory     int64
	LimitCpu          int64
	LimitMemory       int64
	PodStorageRequest int64
	PodStorageLimit   int64
	StorageRequest    int64
	StorageCapacity   int64
	NoLimits          int64
	NoReadinessProbe  int64
	NoLivenessProbe   int64
}

func NewClusterContainerMetrics

func NewClusterContainerMetrics(bag *AppDBag, ns string, tierName string, containerName string) ClusterContainerMetrics

func NewClusterContainerMetricsMetadata

func NewClusterContainerMetricsMetadata(bag *AppDBag, ns string, tierName string, containerName string) ClusterContainerMetrics

func (ClusterContainerMetrics) GetPath

func (cpm ClusterContainerMetrics) GetPath() string

func (ClusterContainerMetrics) ShouldExcludeField

func (cpm ClusterContainerMetrics) ShouldExcludeField(fieldName string) bool

func (ClusterContainerMetrics) Unwrap

func (cpm ClusterContainerMetrics) Unwrap() *map[string]interface{}

type ClusterDaemonMetrics

type ClusterDaemonMetrics struct {
	Path                      string
	Namespace                 string
	DaemonCount               int64
	DaemonReplicasAvailable   int64
	DaemonReplicasUnAvailable int64
	DaemonCollisionCount      int64
	DaemonMissScheduled       int64
}

func NewClusterDaemonMetrics

func NewClusterDaemonMetrics(bag *AppDBag, ns string) ClusterDaemonMetrics

func (ClusterDaemonMetrics) GetPath

func (cpm ClusterDaemonMetrics) GetPath() string

func (ClusterDaemonMetrics) ShouldExcludeField

func (cpm ClusterDaemonMetrics) ShouldExcludeField(fieldName string) bool

func (ClusterDaemonMetrics) Unwrap

func (cpm ClusterDaemonMetrics) Unwrap() *map[string]interface{}

type ClusterDeployMetrics

type ClusterDeployMetrics struct {
	Path                      string
	Namespace                 string
	DeployCount               int64
	DeployReplicas            int64
	DeployReplicasUnAvailable int64
	DeployCollisionCount      int64
}

func NewClusterDeployMetrics

func NewClusterDeployMetrics(bag *AppDBag, ns string) ClusterDeployMetrics

func (ClusterDeployMetrics) GetPath

func (cpm ClusterDeployMetrics) GetPath() string

func (ClusterDeployMetrics) ShouldExcludeField

func (cpm ClusterDeployMetrics) ShouldExcludeField(fieldName string) bool

func (ClusterDeployMetrics) Unwrap

func (cpm ClusterDeployMetrics) Unwrap() *map[string]interface{}

type ClusterEventMetrics

type ClusterEventMetrics struct {
	Path            string
	Metadata        map[string]AppDMetricMetadata
	Namespace       string
	TierName        string
	EventCount      int64
	EventError      int64
	EventInfo       int64
	ScaleDowns      int64
	CrashLoops      int64
	QuotaViolations int64
	PodIssues       int64
	PodKills        int64
	EvictionThreats int64
	ImagePullErrors int64
	ImagePulls      int64
	StorageIssues   int64
}

func NewClusterEventMetrics

func NewClusterEventMetrics(bag *AppDBag, ns string, tierName string) ClusterEventMetrics

func NewClusterEventMetricsMetadata

func NewClusterEventMetricsMetadata(bag *AppDBag, ns string, tierName string) ClusterEventMetrics

func (ClusterEventMetrics) GetPath

func (cpm ClusterEventMetrics) GetPath() string

func (ClusterEventMetrics) ShouldExcludeField

func (cpm ClusterEventMetrics) ShouldExcludeField(fieldName string) bool

func (ClusterEventMetrics) Unwrap

func (cpm ClusterEventMetrics) Unwrap() *map[string]interface{}

type ClusterInstanceMetrics

type ClusterInstanceMetrics struct {
	Path          string
	Metadata      map[string]AppDMetricMetadata
	Namespace     string
	TierName      string
	ContainerName string
	PodName       string
	Restarts      int64
	UseCpu        int64
	UseMemory     int64
	PortMetrics   []ClusterInstancePortMetrics
}

func NewClusterInstanceMetrics

func NewClusterInstanceMetrics(bag *AppDBag, podObject *PodSchema, containerName string) ClusterInstanceMetrics

func NewClusterInstanceMetricsMetadata

func NewClusterInstanceMetricsMetadata(bag *AppDBag, podObject *PodSchema, containerName string) ClusterInstanceMetrics

func (ClusterInstanceMetrics) GetPath

func (cpm ClusterInstanceMetrics) GetPath() string

func (ClusterInstanceMetrics) ShouldExcludeField

func (cpm ClusterInstanceMetrics) ShouldExcludeField(fieldName string) bool

func (ClusterInstanceMetrics) Unwrap

func (cpm ClusterInstanceMetrics) Unwrap() *map[string]interface{}

type ClusterInstancePortMetrics

type ClusterInstancePortMetrics struct {
	Path          string
	Namespace     string
	TierName      string
	ContainerName string
	PodName       string
	PortName      string
	Mapped        int64 //0 or 1
	Ready         int64 // 0 or 1
}

func NewClusterInstancePortMetrics

func NewClusterInstancePortMetrics(bag *AppDBag, ns string, tierName string, containerName string, podName string, portName string, mapped, ready bool) ClusterInstancePortMetrics

func (ClusterInstancePortMetrics) GetPath

func (cpm ClusterInstancePortMetrics) GetPath() string

func (ClusterInstancePortMetrics) ShouldExcludeField

func (cpm ClusterInstancePortMetrics) ShouldExcludeField(fieldName string) bool

func (ClusterInstancePortMetrics) Unwrap

func (cpm ClusterInstancePortMetrics) Unwrap() *map[string]interface{}

type ClusterJobMetrics

type ClusterJobMetrics struct {
	Path            string
	Metadata        map[string]AppDMetricMetadata
	Namespace       string
	JobCount        int64
	JobActiveCount  int64
	JobSuccessCount int64
	JobFailedCount  int64
	JobDuration     int64
}

func NewClusterJobMetrics

func NewClusterJobMetrics(bag *AppDBag, ns string, node string) ClusterJobMetrics

func NewClusterJobMetricsMetadata

func NewClusterJobMetricsMetadata(bag *AppDBag, ns string, node string) ClusterJobMetrics

func (ClusterJobMetrics) Unwrap

func (cpm ClusterJobMetrics) Unwrap() *map[string]interface{}

type ClusterNodeMetrics

type ClusterNodeMetrics struct {
	Path                string
	Metadata            map[string]AppDMetricMetadata
	Nodename            string
	ReadyNodes          int64
	OutOfDiskNodes      int64
	MemoryPressureNodes int64
	DiskPressureNodes   int64
	TaintsTotal         int64
	Masters             int64
	Workers             int64
	CapacityMemory      int64
	CapacityCpu         int64
	CapacityPods        int64
	AllocationsMemory   int64
	AllocationsCpu      int64
	UseMemory           int64
	UseCpu              int64
}

func NewClusterNodeMetrics

func NewClusterNodeMetrics(bag *AppDBag, node string) ClusterNodeMetrics

func NewClusterNodeMetricsMetadata

func NewClusterNodeMetricsMetadata(bag *AppDBag, node string) ClusterNodeMetrics

func (ClusterNodeMetrics) GetPath

func (cpm ClusterNodeMetrics) GetPath() string

func (ClusterNodeMetrics) ShouldExcludeField

func (cpm ClusterNodeMetrics) ShouldExcludeField(fieldName string) bool

func (ClusterNodeMetrics) Unwrap

func (cpm ClusterNodeMetrics) Unwrap() *map[string]interface{}

type ClusterPodMetrics

type ClusterPodMetrics struct {
	Path                string
	Metadata            map[string]AppDMetricMetadata
	Namespace           string
	Nodename            string
	PodCount            int64
	NamespaceCount      int64
	NamespaceNoQuotas   int64
	ServiceCount        int64
	EndpointCount       int64
	EPReadyCount        int64
	EPNotReadyCount     int64
	OrphanEndpoint      int64
	ExtServiceCount     int64
	Evictions           int64
	PodRestarts         int64
	PodRunning          int64
	PodFailed           int64
	PodPending          int64
	PendingTime         int64
	UpTime              int64
	ContainerCount      int64
	InitContainerCount  int64
	NoLimits            int64
	NoReadinessProbe    int64
	NoLivenessProbe     int64
	Privileged          int64
	PodStorageRequest   int64
	PodStorageLimit     int64
	StorageRequest      int64
	StorageCapacity     int64
	RequestCpu          int64
	RequestMemory       int64
	LimitCpu            int64
	LimitMemory         int64
	UseCpu              int64
	UseMemory           int64
	ConsumptionCpu      int64
	ConsumptionMem      int64
	MissingDependencies int64
	NoConnectivity      int64
	QuotasSpec          RQFields
	QuotasUsed          RQFields
}

func NewClusterPodMetrics

func NewClusterPodMetrics(bag *AppDBag, ns string, node string) ClusterPodMetrics

func NewClusterPodMetricsMetadata

func NewClusterPodMetricsMetadata(bag *AppDBag, ns string, node string) ClusterPodMetrics

func (ClusterPodMetrics) GetPath

func (cpm ClusterPodMetrics) GetPath() string

func (ClusterPodMetrics) GetQuotaSpecMetrics

func (cpm ClusterPodMetrics) GetQuotaSpecMetrics() RQFields

func (ClusterPodMetrics) GetQuotaUsedMetrics

func (cpm ClusterPodMetrics) GetQuotaUsedMetrics() RQFields

func (ClusterPodMetrics) ShouldExcludeField

func (cpm ClusterPodMetrics) ShouldExcludeField(fieldName string) bool

func (ClusterPodMetrics) Unwrap

func (cpm ClusterPodMetrics) Unwrap() *map[string]interface{}

type ClusterRsMetrics

type ClusterRsMetrics struct {
	Path                  string
	Namespace             string
	RsCount               int64
	RsStaleCount          int64
	RsReplicas            int64
	RsReplicasAvailable   int64
	RsReplicasUnAvailable int64
}

func NewClusterRsMetrics

func NewClusterRsMetrics(bag *AppDBag, ns string) ClusterRsMetrics

func (ClusterRsMetrics) GetPath

func (cpm ClusterRsMetrics) GetPath() string

func (ClusterRsMetrics) ShouldExcludeField

func (cpm ClusterRsMetrics) ShouldExcludeField(fieldName string) bool

func (ClusterRsMetrics) Unwrap

func (cpm ClusterRsMetrics) Unwrap() *map[string]interface{}

type ClusterServiceEPMetrics

type ClusterServiceEPMetrics struct {
	Path              string
	Metadata          map[string]AppDMetricMetadata
	Namespace         string
	TierName          string
	ServiceName       string
	EndpointName      string
	EndpointsReady    int64
	EndpointsNotReady int64
}

func NewClusterServiceEPMetrics

func NewClusterServiceEPMetrics(bag *AppDBag, ns string, tierName string, svcSchema *ServiceSchema, endpointName string) ClusterServiceEPMetrics

func (ClusterServiceEPMetrics) GetPath

func (cpm ClusterServiceEPMetrics) GetPath() string

func (ClusterServiceEPMetrics) ShouldExcludeField

func (cpm ClusterServiceEPMetrics) ShouldExcludeField(fieldName string) bool

func (ClusterServiceEPMetrics) Unwrap

func (cpm ClusterServiceEPMetrics) Unwrap() *map[string]interface{}

type ClusterServiceMetrics

type ClusterServiceMetrics struct {
	Path           string
	Metadata       map[string]AppDMetricMetadata
	Namespace      string
	TierName       string
	ServiceName    string
	Accessible     int64 //0 or 1
	EndpointsTotal int64
	Endpoints      map[string]ClusterServiceEPMetrics
}

func NewClusterServiceMetrics

func NewClusterServiceMetrics(bag *AppDBag, ns string, tierName string, svcSchema *ServiceSchema) ClusterServiceMetrics

func (ClusterServiceMetrics) GetPath

func (cpm ClusterServiceMetrics) GetPath() string

func (ClusterServiceMetrics) ShouldExcludeField

func (cpm ClusterServiceMetrics) ShouldExcludeField(fieldName string) bool

func (ClusterServiceMetrics) Unwrap

func (cpm ClusterServiceMetrics) Unwrap() *map[string]interface{}

type ColorPalette

type ColorPalette struct {
	Colors []int `json: "colors"`
}

type ContainerObjList

type ContainerObjList struct {
	Items []ContainerSchema
}

func NewContainerObjList

func NewContainerObjList() ContainerObjList

func (ContainerObjList) AddItem

func (ContainerObjList) Clear

func (l ContainerObjList) Clear() []ContainerSchema

type ContainerPort

type ContainerPort struct {
	Name       string
	PortNumber int32
	Mapped     bool
	Ready      bool
}

type ContainerSchema

type ContainerSchema struct {
	Name                 string          `json:"name"`
	Init                 bool            `json:"init"`
	Namespace            string          `json:"namespace"`
	ClusterName          string          `json:"clusterName"`
	NodeName             string          `json:"nodeName"`
	PodName              string          `json:"podName"`
	PodInitTime          time.Time       `json:"podInitTime"`
	StartTime            *time.Time      `json:"startTime"`
	LiveProbes           int             `json:"liveProbes"`
	ReadyProbes          int             `json:"readyProbes"`
	Restarts             int32           `json:"restarts"`
	Privileged           int             `json:"privileged"`
	Ports                string          `json:"ports"`
	MemRequest           int64           `json:"memRequest"`
	CpuRequest           int64           `json:"cpuRequest"`
	CpuLimit             int64           `json:"cpuLimit"`
	MemLimit             int64           `json:"memLimit"`
	PodStorageRequest    int64           `json:"podStorageRequest"`
	PodStorageLimit      int64           `json:"podStorageLimit"`
	StorageRequest       int64           `json:"storageRequest"`
	StorageCapacity      int64           `json:"storageCapacity"`
	CpuUse               int64           `json:"cpuUse"`
	MemUse               int64           `json:"memUse"`
	Image                string          `json:"image"`
	WaitReason           string          `json:"waitReason"`
	TermReason           string          `json:"termReason"`
	TerminationTime      time.Time       `json:"terminationTime"`
	Mounts               string          `json:"mounts"`
	MissingConfigs       string          `json:"missingConfigs"`
	MissingSecrets       string          `json:"missingSecrets"`
	MissingServices      string          `json:"missingServices"`
	ConsumptionCpu       float64         `json:"consumptionCpu"`
	ConsumptionMem       float64         `json:"consumptionMem"`
	Index                int8            `json:"-"`
	ContainerPorts       []ContainerPort `json:"-"`
	LastTerminationTime  *time.Time      `json:"-"`
	ExitCode             int32           `json:"-"`
	LimitsDefined        bool            `json:"-"`
	RequestCpuString     string          `json:"-"`
	RequestMemString     string          `json:"-"`
	LimitCpuString       string          `json:"-"`
	LimitMemString       string          `json:"-"`
	ConsumptionCpuString string          `json:"-"`
	ConsumptionMemString string          `json:"-"`
	PendingTime          int64           `json:"-"`
}

func NewContainerObj

func NewContainerObj() ContainerSchema

func (*ContainerSchema) HasMissingDependencies

func (p *ContainerSchema) HasMissingDependencies() bool

func (*ContainerSchema) NoConnectivity

func (p *ContainerSchema) NoConnectivity() bool

func (ContainerSchema) ToString

func (p ContainerSchema) ToString() string

type ContainerSchemaDef

type ContainerSchemaDef struct {
	Name              string `json:"name"`
	Init              string `json:"init"`
	Namespace         string `json:"namespace"`
	ClusterName       string `json:"clusterName"`
	NodeName          string `json:"nodeName"`
	PodName           string `json:"podName"`
	PodInitTime       string `json:"podInitTime"`
	StartTime         string `json:"startTime"`
	LiveProbes        string `json:"liveProbes"`
	ReadyProbes       string `json:"readyProbes"`
	Restarts          string `json:"restarts"`
	Privileged        string `json:"privileged"`
	Ports             string `json:"ports"`
	MemRequest        string `json:"memRequest"`
	CpuRequest        string `json:"cpuRequest"`
	CpuLimit          string `json:"cpuLimit"`
	MemLimit          string `json:"memLimit"`
	PodStorageRequest string `json:"podStorageRequest"`
	PodStorageLimit   string `json:"podStorageLimit"`
	StorageRequest    string `json:"storageRequest"`
	StorageCapacity   string `json:"storageCapacity"`
	CpuUse            string `json:"cpuUse"`
	MemUse            string `json:"memUse"`
	Image             string `json:"image"`
	WaitReason        string `json:"waitReason"`
	TermReason        string `json:"termReason"`
	TerminationTime   string `json:"terminationTime"`
	Mounts            string `json:"mounts"`
	MissingConfigs    string `json:"missingConfigs"`
	MissingSecrets    string `json:"missingSecrets"`
	MissingServices   string `json:"missingServices"`
	ConsumptionCpu    string `json:"consumptionCpu"`
	ConsumptionMem    string `json:"consumptionMem"`
}

func NewContainerSchemaDef

func NewContainerSchemaDef() ContainerSchemaDef

func (ContainerSchemaDef) Unwrap

func (sd ContainerSchemaDef) Unwrap() *map[string]interface{}

type ContainerSchemaDefWrapper

type ContainerSchemaDefWrapper struct {
	Schema ContainerSchemaDef `json:"schema"`
}

func NewContainerSchemaDefWrapper

func NewContainerSchemaDefWrapper() ContainerSchemaDefWrapper

func (ContainerSchemaDefWrapper) Unwrap

func (sd ContainerSchemaDefWrapper) Unwrap() *map[string]interface{}

type DaemonObjList

type DaemonObjList struct {
	Items []DaemonSchema
}

func NewDaemonObjList

func NewDaemonObjList() DaemonObjList

func (DaemonObjList) AddItem

func (l DaemonObjList) AddItem(obj DaemonSchema) []DaemonSchema

func (DaemonObjList) Clear

func (l DaemonObjList) Clear() []DaemonSchema

type DaemonSchema

type DaemonSchema struct {
	Name                   string    `json:"name"`
	ClusterName            string    `json:"clusterName"`
	Namespace              string    `json:"namespace"`
	ObjectUid              string    `json:"objectUid"`
	CreationTimestamp      time.Time `json:"creationTimestamp"`
	DeletionTimestamp      time.Time `json:"deletionTimestamp"`
	MinReadySecs           int32     `json:"minReadySecs"`
	RevisionHistoryLimits  int32     `json:"revisionHistoryLimits"`
	ReplicasAvailable      int32     `json:"replicasAvailable"`
	ReplicasUnAvailable    int32     `json:"ReplicasUnAvailable"`
	CollisionCount         int32     `json:"collisionCount"`
	ReplicasReady          int32     `json:"replicasReady"`
	NumberScheduled        int32     `json:"numberScheduled"`
	DesiredNumber          int32     `json:"desiredNumber"`
	MissScheduled          int32     `json:"missScheduled"`
	UpdatedNumberScheduled int32     `json:"updatedNumberScheduled"`
}

func NewDaemonObj

func NewDaemonObj() DaemonSchema

func (*DaemonSchema) Equals

func (ps *DaemonSchema) Equals(obj *DaemonSchema) bool

func (*DaemonSchema) GetDaemonKey

func (ps *DaemonSchema) GetDaemonKey() string

type DaemonSchemaDef

type DaemonSchemaDef struct {
	Name                   string `json:"name"`
	ClusterName            string `json:"clusterName"`
	Namespace              string `json:"namespace"`
	ObjectUid              string `json:"objectUid"`
	CreationTimestamp      string `json:"creationTimestamp"`
	DeletionTimestamp      string `json:"deletionTimestamp"`
	MinReadySecs           string `json:"minReadySecs"`
	RevisionHistoryLimits  string `json:"revisionHistoryLimits"`
	ReplicasAvailable      string `json:"replicasAvailable"`
	ReplicasUnAvailable    string `json:"ReplicasUnAvailable"`
	CollisionCount         string `json:"collisionCount"`
	ReplicasReady          string `json:"replicasReady"`
	NumberScheduled        string `json:"numberScheduled"`
	DesiredNumber          string `json:"desiredNumber"`
	MissScheduled          string `json:"missScheduled"`
	UpdatedNumberScheduled string `json:"updatedNumberScheduled"`
}

func NewDaemonSchemaDef

func NewDaemonSchemaDef() DaemonSchemaDef

type DaemonSchemaDefWrapper

type DaemonSchemaDefWrapper struct {
	Schema DaemonSchemaDef `json:"schema"`
}

func NewDaemonSchemaDefWrapper

func NewDaemonSchemaDefWrapper() DaemonSchemaDefWrapper

func (DaemonSchemaDefWrapper) Unwrap

func (sd DaemonSchemaDefWrapper) Unwrap() *map[string]interface{}

type Dashboard

type Dashboard struct {
	ID                      float64                  `json:"id"`
	Version                 float64                  `json:"version"`
	BuiltIn                 bool                     `json:"builtIn"`
	NameUnique              bool                     `json:"nameUnique"`
	SecurityToken           *string                  `json:"securityToken"`
	SharingRevoked          bool                     `json:"sharingRevoked"`
	Disabled                bool                     `json:"disabled"`
	Name                    string                   `json:"name"`
	CreatedBy               string                   `json:"createdBy"`
	CreatedOn               float64                  `json:"createdOn"`
	ModifiedBy              string                   `json:"modifiedBy"`
	ModifiedOn              float64                  `json:"modifiedOn"`
	Template                bool                     `json:"template"`
	TemplateEntityType      string                   `json:"templateEntityType"`
	BackgroundColor         int                      `json:"backgroundColor"`
	Color                   int                      `json:"color"`
	RefreshInterval         int                      `json:"refreshInterval"`
	Widgets                 []map[string]interface{} `json:"widgets"`
	Description             *string                  `json:"description"`
	CanvasType              string                   `json:"canvasType"`
	MinutesBeforeAnchorTime int                      `json:"minutesBeforeAnchorTime"`
	Width                   float64                  `json:"width"`
	LayoutType              string                   `json:"layoutType"`
	WarRoom                 bool                     `json:"warRoom"`
	Properties              *[]interface{}           `json:"properties"`
	StartTime               *int                     `json:"startTime"`
	EndTime                 *int                     `json:"endTime"`
	Height                  float64                  `json:"height"`
}

type DashboardBag

type DashboardBag struct {
	Type          DashboardType //cluster/tier/node/namespace
	ClusterName   string
	Namespace     string
	AppName       string
	TierName      string
	ClusterAppID  int
	ClusterTierID int
	ClusterNodeID int
	AppID         int
	TierID        int
	NodeID        int
	Pods          []PodSchema
	NSMap         map[string]map[string][]HeatNode
}

func NewDashboardBagCluster

func NewDashboardBagCluster() *DashboardBag

func NewDashboardBagTier

func NewDashboardBagTier(ns string, tierName string, pods []PodSchema) DashboardBag

func (*DashboardBag) AddNode

func (db *DashboardBag) AddNode(hn *HeatNode)

func (*DashboardBag) GetNodes

func (db *DashboardBag) GetNodes() ([]HeatNode, int, int)

type DashboardType

type DashboardType string
const (
	Cluster   DashboardType = "cluster"
	Tier      DashboardType = "tier"
	Node      DashboardType = "node"
	Namespace DashboardType = "namespace"
)

type DataSeriesTemplate

type DataSeriesTemplate struct {
	MetricType                  string                      `json:"metricType"`
	SeriesType                  string                      `json:"seriesType"`
	AxisPosition                *string                     `json:"axisPosition"`
	Name                        string                      `json:"name"`
	ShowRawMetricName           bool                        `json:"showRawMetricName"`
	ColorPalette                ColorPalette                `json:"colorPalette"`
	MetricMatchCriteriaTemplate MetricMatchCriteriaTemplate `json:"metricMatchCriteriaTemplate"`
}

type DeployObjList

type DeployObjList struct {
	Items []DeploySchema
}

func NewDeployObjList

func NewDeployObjList() DeployObjList

func (DeployObjList) AddItem

func (l DeployObjList) AddItem(obj DeploySchema) []DeploySchema

func (DeployObjList) Clear

func (l DeployObjList) Clear() []DeploySchema

type DeploySchema

type DeploySchema struct {
	Name                   string    `json:"name"`
	ClusterName            string    `json:"clusterName"`
	Namespace              string    `json:"namespace"`
	ObjectUid              string    `json:"objectUid"`
	CreationTimestamp      time.Time `json:"creationTimestamp"`
	DeletionTimestamp      time.Time `json:"deletionTimestamp"`
	Labels                 string    `json:"labels"`
	Annotations            string    `json:"annotations"`
	MinReadySecs           int32     `json:"minReadySecs"`
	ProgressDeadlineSecs   int32     `json:"progressDeadlineSecs"`
	Replicas               int32     `json:"replicas"`
	RevisionHistoryLimits  int32     `json:"revisionHistoryLimits"`
	Strategy               string    `json:"strategy"`
	MaxSurge               string    `json:"maxSurge"`
	MaxUnavailable         string    `json:"maxUnavailable"`
	ReplicasAvailable      int32     `json:"replicasAvailable"`
	ReplicasUnAvailable    int32     `json:"ReplicasUnAvailable"`
	ReplicasUpdated        int32     `json:"replicasUpdated"`
	CollisionCount         int32     `json:"collisionCount"`
	ReplicasReady          int32     `json:"replicasReady"`
	ReplicasLabeled        int32     `json:"replicasLabeled"`
	NumberScheduled        int32     `json:"numberScheduled"`
	DesiredNumber          int32     `json:"desiredNumber"`
	MissScheduled          int32     `json:"missScheduled"`
	UpdatedNumberScheduled int32     `json:"updatedNumberScheduled"`
	DeploymentType         string    `json:"deploymentType"`
}

func NewDeployObj

func NewDeployObj() DeploySchema

func (*DeploySchema) Equals

func (ps *DeploySchema) Equals(obj *DeploySchema) bool

func (*DeploySchema) GetDeployKey

func (ps *DeploySchema) GetDeployKey() string

type DeploySchemaDef

type DeploySchemaDef struct {
	Name                   string `json:"name"`
	ClusterName            string `json:"clusterName"`
	Namespace              string `json:"namespace"`
	ObjectUid              string `json:"objectUid"`
	CreationTimestamp      string `json:"creationTimestamp"`
	DeletionTimestamp      string `json:"deletionTimestamp"`
	Labels                 string `json:"labels"`
	Annotations            string `json:"annotations"`
	MinReadySecs           string `json:"minReadySecs"`
	ProgressDeadlineSecs   string `json:"progressDeadlineSecs"`
	Replicas               string `json:"replicas"`
	RevisionHistoryLimits  string `json:"revisionHistoryLimits"`
	Strategy               string `json:"strategy"`
	MaxSurge               string `json:"maxSurge"`
	MaxUnavailable         string `json:"maxUnavailable"`
	ReplicasAvailable      string `json:"replicasAvailable"`
	ReplicasUnAvailable    string `json:"ReplicasUnAvailable"`
	ReplicasUpdated        string `json:"replicasUpdated"`
	CollisionCount         string `json:"collisionCount"`
	ReplicasReady          string `json:"replicasReady"`
	ReplicasLabeled        string `json:"replicasLabeled"`
	NumberScheduled        string `json:"numberScheduled"`
	DesiredNumber          string `json:"desiredNumber"`
	MissScheduled          string `json:"missScheduled"`
	UpdatedNumberScheduled string `json:"updatedNumberScheduled"`
	DeploymentType         string `json:"deploymentType"`
}

func NewDeploySchemaDef

func NewDeploySchemaDef() DeploySchemaDef

func (DeploySchemaDef) Unwrap

func (sd DeploySchemaDef) Unwrap() *map[string]interface{}

type DeploySchemaDefWrapper

type DeploySchemaDefWrapper struct {
	Schema DeploySchemaDef `json:"schema"`
}

func NewDeploySchemaDefWrapper

func NewDeploySchemaDefWrapper() DeploySchemaDefWrapper

func (DeploySchemaDefWrapper) Unwrap

func (sd DeploySchemaDefWrapper) Unwrap() *map[string]interface{}

type EPAddress

type EPAddress struct {
	Hostname string
	IP       string
	Nodename *string
	Ready    bool
}

func NewServiceEndpointAddress

func NewServiceEndpointAddress(IP string, hostname string, nodename *string) EPAddress

type EpSchema

type EpSchema struct {
	ClusterName string `json:"clusterName"`
	Name        string `json:"name"`
	Namespace   string `json:"namespace"`
	Ports       string `json:"ports"`
	ReadyIPs    string `json:"readyIPs"`
	NotReadyIPs string `json:"notReadyIPs"`
	Pods        string `json:"pods"`
	PodCount    int    `json:"podCount"`
	IsOrphan    bool   `json:"isOrphan"`
}

func NewEpSchema

func NewEpSchema(ep *v1.Endpoints) EpSchema

func (*EpSchema) MatchPod

func (ep *EpSchema) MatchPod(podSchema *PodSchema)

type EpSchemaDef

type EpSchemaDef struct {
	ClusterName string `json:"clusterName"`
	Name        string `json:"name"`
	Namespace   string `json:"namespace"`
	Ports       string `json:"ports"`
	ReadyIPs    string `json:"readyIPs"`
	NotReadyIPs string `json:"notReadyIPs"`
	Pods        string `json:"pods"`
	PodCount    string `json:"podCount"`
	IsOrphan    string `json:"isOrphan"`
}

func NewEpSchemaDef

func NewEpSchemaDef() EpSchemaDef

func (EpSchemaDef) Unwrap

func (sd EpSchemaDef) Unwrap() *map[string]interface{}

type EpSchemaDefWrapper

type EpSchemaDefWrapper struct {
	Schema EpSchemaDef `json:"schema"`
}

func NewEpSchemaDefWrapper

func NewEpSchemaDefWrapper() EpSchemaDefWrapper

func (EpSchemaDefWrapper) Unwrap

func (sd EpSchemaDefWrapper) Unwrap() *map[string]interface{}

type EventObjList

type EventObjList struct {
	Items []EventSchema
}

func NewEventObjList

func NewEventObjList() EventObjList

func (EventObjList) AddItem

func (l EventObjList) AddItem(obj EventSchema) []EventSchema

func (EventObjList) Clear

func (l EventObjList) Clear() []EventSchema

type EventSchema

type EventSchema struct {
	ObjectKind            string    `json:"objectKind"`
	ObjectName            string    `json:"objectName"`
	ClusterName           string    `json:"clusterName"`
	ObjectNamespace       string    `json:"objectNamespace"`
	ObjectResourceVersion string    `json:"objectResourceVersion"`
	ObjectUid             string    `json:"objectUid"`
	LastTimestamp         time.Time `json:"lastTimestamp"`
	Message               string    `json:"message"`
	CreationTimestamp     time.Time `json:"creationTimestamp"`
	DeletionTimestamp     time.Time `json:"deletionTimestamp"`
	GenerateName          string    `json:"generateName"`
	Generation            int64     `json:"generation"`
	Name                  string    `json:"name"`
	Namespace             string    `json:"namespace"`
	OwnerReferences       string    `json:"ownerReferences"`
	ResourceVersion       string    `json:"resourceVersion"`
	SelfLink              string    `json:"selfLink"`
	Type                  string    `json:"type"`
	Category              string    `json:"category"`
	SubCategory           string    `json:"subCategory"`
	Count                 int32     `json:"count"`
	SourceComponent       string    `json:"sourceComponent"`
	SourceHost            string    `json:"sourceHost"`
	Reason                string    `json:"reason"`
}

func NewEventObj

func NewEventObj() EventSchema

func (*EventSchema) Equals

func (ps *EventSchema) Equals(obj *EventSchema) bool

func (EventSchema) ToString

func (p EventSchema) ToString() string

type EventSchemaDef

type EventSchemaDef struct {
	ObjectKind            string `json:"objectKind"`
	ObjectName            string `json:"objectName"`
	ClusterName           string `json:"clusterName"`
	ObjectNamespace       string `json:"objectNamespace"`
	ObjectResourceVersion string `json:"objectResourceVersion"`
	ObjectUid             string `json:"objectUid"`
	LastTimestamp         string `json:"lastTimestamp"`
	Message               string `json:"message"`
	CreationTimestamp     string `json:"creationTimestamp"`
	DeletionTimestamp     string `json:"deletionTimestamp"`
	GenerateName          string `json:"generateName"`
	Generation            string `json:"generation"`
	Name                  string `json:"name"`
	Namespace             string `json:"namespace"`
	OwnerReferences       string `json:"ownerReferences"`
	ResourceVersion       string `json:"resourceVersion"`
	SelfLink              string `json:"selfLink"`
	Type                  string `json:"type"`
	Category              string `json:"category"`
	SubCategory           string `json:"subCategory"`
	Count                 string `json:"count"`
	SourceComponent       string `json:"sourceComponent"`
	SourceHost            string `json:"sourceHost"`
	Reason                string `json:"reason"`
}

func NewEventSchemaDef

func NewEventSchemaDef() EventSchemaDef

func (EventSchemaDef) Unwrap

func (sd EventSchemaDef) Unwrap() *map[string]interface{}

type EventSchemaDefWrapper

type EventSchemaDefWrapper struct {
	Schema EventSchemaDef `json:"schema"`
}

func NewEventSchemaDefWrapper

func NewEventSchemaDefWrapper() EventSchemaDefWrapper

func (EventSchemaDefWrapper) Unwrap

func (sd EventSchemaDefWrapper) Unwrap() *map[string]interface{}

type HeatNode

type HeatNode struct {
	Namespace   string
	Nodename    string
	Podname     string
	Owner       string
	State       string
	PendingTime int64
	APM         bool
	AppID       int
	TierID      int
	NodeID      int
	Restarts    int32
	Events      []string
	Containers  map[string]Utilization
}

func NewHeatNode

func NewHeatNode(podSchema PodSchema) HeatNode

func (*HeatNode) FormatPendingTime

func (hn *HeatNode) FormatPendingTime() string

func (*HeatNode) GetAPMID

func (hn *HeatNode) GetAPMID() (int, bool)

func (*HeatNode) GetContainerCount

func (hn *HeatNode) GetContainerCount() int

func (*HeatNode) GetContainerStatsFormatted

func (hn *HeatNode) GetContainerStatsFormatted() string

func (*HeatNode) GetEventsFormatted

func (hn *HeatNode) GetEventsFormatted() string

func (*HeatNode) IsOverconsuming

func (hn *HeatNode) IsOverconsuming() bool

type Ingress

type Ingress struct {
	Hostname string
	IP       string
}

type InstrumentationMethod

type InstrumentationMethod string
const (
	None        InstrumentationMethod = "none"
	CopyAttach  InstrumentationMethod = "copyAttach"
	MountAttach InstrumentationMethod = "mountAttach"
	MountEnv    InstrumentationMethod = "mountEnv"
)

type JobObjList

type JobObjList struct {
	Items []JobSchema
}

func NewJobObjList

func NewJobObjList() JobObjList

func (JobObjList) AddItem

func (l JobObjList) AddItem(obj JobSchema) []JobSchema

func (JobObjList) Clear

func (l JobObjList) Clear() []JobSchema

type JobSchema

type JobSchema struct {
	Name                  string    `json:"name"`
	Namespace             string    `json:"namespace"`
	ClusterName           string    `json:"clusterName"`
	Labels                string    `json:"labels"`
	Annotations           string    `json:"annotations"`
	StartTime             time.Time `json:"startTime"`
	EndTime               time.Time `json:"endTime"`
	Active                int32     `json:"active"`
	Failed                int32     `json:"failed"`
	Success               int32     `json:"success"`
	ActiveDeadlineSeconds int64     `json:"activeDeadlineSeconds"`
	Completions           int32     `json:"completions"`
	BackoffLimit          int32     `json:"backoffLimit"`
	Parallelism           int32     `json:"parallelism"`
	Duration              float64   `json:"duration"`
}

func NewJobObj

func NewJobObj() JobSchema

func (*JobSchema) Equals

func (ps *JobSchema) Equals(obj *JobSchema) bool

func (JobSchema) ToString

func (p JobSchema) ToString() string

type JobSchemaDef

type JobSchemaDef struct {
	Name                  string `json:"name"`
	Namespace             string `json:"namespace"`
	ClusterName           string `json:"clusterName"`
	Labels                string `json:"labels"`
	Annotations           string `json:"annotations"`
	StartTime             string `json:"startTime"`
	EndTime               string `json:"endTime"`
	Active                string `json:"active"`
	Failed                string `json:"failed"`
	Success               string `json:"success"`
	ActiveDeadlineSeconds string `json:"activeDeadlineSeconds"`
	Completions           string `json:"completions"`
	BackoffLimit          string `json:"backoffLimit"`
	Parallelism           string `json:"parallelism"`
	Duration              string `json:"duration"`
}

func NewJobSchemaDef

func NewJobSchemaDef() JobSchemaDef

type JobSchemaDefWrapper

type JobSchemaDefWrapper struct {
	Schema JobSchemaDef `json:"schema"`
}

func NewJobSchemaDefWrapper

func NewJobSchemaDefWrapper() JobSchemaDefWrapper

func (JobSchemaDefWrapper) Unwrap

func (sd JobSchemaDefWrapper) Unwrap() *map[string]interface{}

type LogObjList

type LogObjList struct {
	Items []LogSchema
}

func NewLogObjList

func NewLogObjList() LogObjList

func (LogObjList) AddItem

func (l LogObjList) AddItem(obj LogSchema) []LogSchema

func (LogObjList) Clear

func (l LogObjList) Clear() []LogSchema

type LogSchema

type LogSchema struct {
	ClusterName    string     `json:"clusterName"`
	Namespace      string     `json:"namespace"`
	PodOwner       string     `json:"podOwner"`
	PodName        string     `json:"pod"`
	ContainerName  string     `json:"container"`
	Message        string     `json:"message"`
	BatchTimestamp int64      `json:"batchTimestamp"`
	Timestamp      *time.Time `json:"timestamp"`
}

func NewLogObj

func NewLogObj() LogSchema

func (*LogSchema) Equals

func (ps *LogSchema) Equals(obj *LogSchema) bool

func (LogSchema) ToString

func (p LogSchema) ToString() string

type LogSchemaDef

type LogSchemaDef struct {
	ClusterName    string `json:"clusterName"`
	Namespace      string `json:"namespace"`
	PodOwner       string `json:"podOwner"`
	PodName        string `json:"pod"`
	ContainerName  string `json:"container"`
	Message        string `json:"message"`
	BatchTimestamp string `json:"batchTimestamp"`
	Timestamp      string `json:"timestamp"`
}

func NewLogSchemaDef

func NewLogSchemaDef() LogSchemaDef

type LogSchemaDefWrapper

type LogSchemaDefWrapper struct {
	Schema LogSchemaDef `json:"schema"`
}

func NewLogSchemaDefWrapper

func NewLogSchemaDefWrapper() LogSchemaDefWrapper

type MetricExpression

type MetricExpression struct {
	InputMetricPath      *string           `json: "inputMetricPath"`
	DisplayName          string            `json: "displayName"`
	FunctionType         string            `json: "functionType"`
	InputMetricText      bool              `json: "inputMetricText"`
	MetricPath           string            `json: "metricPath"`
	ScopeEntity          ScopeEntity       `json: "scopeEntity"`
	MetricExpressionType string            `json: "metricExpressionType"`
	LiteralValue         float64           `json: "literalValue"`
	Operator             Operator          `json: "operator, omitempty"`
	Expression2          MetricExpression2 `json: "expression2, omitempty"`
}

type MetricExpression2

type MetricExpression2 struct {
	InputMetricPath      *string     `json: "inputMetricPath"`
	DisplayName          string      `json: "displayName"`
	FunctionType         string      `json: "functionType"`
	InputMetricText      bool        `json: "inputMetricText"`
	MetricPath           string      `json: "metricPath"`
	ScopeEntity          ScopeEntity `json: "scopeEntity"`
	MetricExpressionType string      `json: "metricExpressionType"`
	LiteralValue         float64     `json: "literalValue"`
	Operator             Operator    `json: "operator, omitempty"`
}

type MetricExpressionTemplate

type MetricExpressionTemplate struct {
	InputMetricPath      *string           `json: "inputMetricPath, omitempty"`
	DisplayName          string            `json: "displayName, omitempty"`
	FunctionType         string            `json: "functionType, omitempty"`
	InputMetricText      bool              `json: "inputMetricText, omitempty"`
	MetricPath           string            `json: "metricPath, omitempty"`
	ScopeEntity          ScopeEntity       `json: "scopeEntity, omitempty"`
	MetricExpressionType string            `json: "metricExpressionType, omitempty"`
	Operator             Operator          `json: "operator, omitempty"`
	Expression1          MetricExpression  `json: "expression1, omitempty"`
	Expression2          MetricExpression2 `json: "expression2, omitempty"`
}

type MetricMatchCriteriaTemplate

type MetricMatchCriteriaTemplate struct {
	EvaluationScopeType           *string                `json:"evaluationScopeType"`
	RollupMetricData              bool                   `json:"rollupMetricData"`
	MaxResults                    int                    `json:"maxResults"`
	EntityMatchCriteria           *string                `json:"entityMatchCriteria"`
	UseActiveBaseline             bool                   `json:"useActiveBaseline"`
	SortResultsAscending          bool                   `json:"sortResultsAscending"`
	MetricExpressionTemplate      map[string]interface{} `json:"metricExpressionTemplate" `
	MetricDisplayNameCustomFormat string                 `json:"metricDisplayNameCustomFormat"`
	ExpressionString              string                 `json:"expressionString"`
	BaselineName                  *string                `json:"baselineName"`
	ApplicationName               string                 `json:"applicationName"`
	MetricDisplayNameStyle        string                 `json:"metricDisplayNameStyle"`
}

type NodeMetricsObj

type NodeMetricsObj struct {
	Kind     string
	Metadata struct {
		Name     string
		SelfLink string
		// contains filtered or unexported fields
	}
	Timestamp string
	Window    string
	Usage     struct {
		Cpu    string
		Memory string
	}
}

func (NodeMetricsObj) GetNodeUsage

func (mobj NodeMetricsObj) GetNodeUsage() UsageStats

type NodeMetricsObjList

type NodeMetricsObjList struct {
	Kind  string
	Items []struct {
		Metadata struct {
			Name     string
			SelfLink string
			// contains filtered or unexported fields
		}
		Timestamp string
		Window    string
		Usage     struct {
			Cpu    string
			Memory string
		}
	}
}

func (NodeMetricsObjList) PrintNodeList

func (m NodeMetricsObjList) PrintNodeList() map[string]UsageStats

type NodeObjList

type NodeObjList struct {
	Items []NodeSchema
}

func NewNodeObjList

func NewNodeObjList() NodeObjList

func (NodeObjList) AddItem

func (l NodeObjList) AddItem(obj NodeSchema) []NodeSchema

func (NodeObjList) Clear

func (l NodeObjList) Clear() []NodeSchema

type NodeSchema

type NodeSchema struct {
	NodeName        string `json:"nodeName"`
	ClusterName     string `json:"clusterName"`
	PodCIDR         string `json:"podCIDR"`
	Taints          string `json:"taints"`
	Phase           string `json:"phase"`
	Addresses       string `json:"addresses"`
	Labels          string `json:"labels"`
	Role            string `json:"role"`
	CpuUse          int64  `json:"cpuUse"`
	MemUse          int64  `json:"memUse"`
	CpuCapacity     int64  `json:"cpuCapacity"`
	MemCapacity     int64  `json:"memCapacity"`
	PodCapacity     int64  `json:"podCapacity"`
	CpuAllocations  int64  `json:"cpuAllocations"`
	MemAllocations  int64  `json:"memAllocations"`
	PodAllocations  int64  `json:"podAllocations"`
	KubeletPort     int32  `json:"kubeletPort"`
	OsArch          string `json:"osArch"`
	KubeletVersion  string `json:"kubeletVersion"`
	RuntimeVersion  string `json:"runtimeVersion"`
	MachineID       string `json:"machineID"`
	OsName          string `json:"osName"`
	AttachedVolumes string `json:"attachedVolumes"`
	VolumesInUse    string `json:"volumesInUse"`
	Ready           string `json:"ready"`
	OutOfDisk       string `json:"outOfDisk"`
	MemoryPressure  string `json:"memoryPressure"`
	DiskPressure    string `json:"diskPressure"`
	TaintsNumber    int    `json:"-"`
}

func NewNodeObj

func NewNodeObj() NodeSchema

func (*NodeSchema) Equals

func (ps *NodeSchema) Equals(obj *NodeSchema) bool

func (*NodeSchema) GetNodeKey

func (ps *NodeSchema) GetNodeKey() string

type NodeSchemaDef

type NodeSchemaDef struct {
	NodeName        string `json:"nodeName"`
	ClusterName     string `json:"clusterName"`
	PodCIDR         string `json:"podCIDR"`
	Taints          string `json:"taints"`
	Phase           string `json:"phase"`
	Addresses       string `json:"addresses"`
	Labels          string `json:"labels"`
	Role            string `json:"role"`
	CpuUse          string `json:"cpuUse"`
	MemUse          string `json:"memUse"`
	CpuCapacity     string `json:"cpuCapacity"`
	MemCapacity     string `json:"memCapacity"`
	PodCapacity     string `json:"podCapacity"`
	CpuAllocations  string `json:"cpuAllocations"`
	MemAllocations  string `json:"memAllocations"`
	PodAllocations  string `json:"podAllocations"`
	KubeletPort     string `json:"kubeletPort"`
	OsArch          string `json:"osArch"`
	KubeletVersion  string `json:"kubeletVersion"`
	RuntimeVersion  string `json:"runtimeVersion"`
	MachineID       string `json:"machineID"`
	OsName          string `json:"osName"`
	AttachedVolumes string `json:"attachedVolumes"`
	VolumesInUse    string `json:"volumesInUse"`
	Ready           string `json:"ready"`
	OutOfDisk       string `json:"outOfDisk"`
	MemoryPressure  string `json:"memoryPressure"`
	DiskPressure    string `json:"diskPressure"`
}

func NewNodeSchemaDef

func NewNodeSchemaDef() NodeSchemaDef

func (NodeSchemaDef) Unwrap

func (sd NodeSchemaDef) Unwrap() *map[string]interface{}

type NodeSchemaDefWrapper

type NodeSchemaDefWrapper struct {
	Schema NodeSchemaDef `json:"schema"`
}

func NewNodeSchemaDefWrapper

func NewNodeSchemaDefWrapper() NodeSchemaDefWrapper

func (NodeSchemaDefWrapper) Unwrap

func (sd NodeSchemaDefWrapper) Unwrap() *map[string]interface{}

type NsSchema

type NsSchema struct {
	ClusterName string `json:"clusterName"`
	Name        string `json:"name"`
	Status      string `json:"status"`
	Quotas      int    `json:"quotas"`
}

func NewNsSchema

func NewNsSchema(ns *v1.Namespace, bag *AppDBag) NsSchema

type NsSchemaDef

type NsSchemaDef struct {
	ClusterName string `json:"clusterName"`
	Name        string `json:"name"`
	Status      string `json:"status"`
	Quotas      string `json:"quotas"`
}

func NewNsSchemaDef

func NewNsSchemaDef() NsSchemaDef

func (NsSchemaDef) Unwrap

func (sd NsSchemaDef) Unwrap() *map[string]interface{}

type NsSchemaDefWrapper

type NsSchemaDefWrapper struct {
	Schema NsSchemaDef `json:"schema"`
}

func NewNsSchemaDefWrapper

func NewNsSchemaDefWrapper() NsSchemaDefWrapper

func (NsSchemaDefWrapper) Unwrap

func (sd NsSchemaDefWrapper) Unwrap() *map[string]interface{}

type Operator

type Operator struct {
	Type string `json: "type"`
}

type PodMetricsObj

type PodMetricsObj struct {
	Kind     string
	Metadata struct {
		Name     string
		SelfLink string
		// contains filtered or unexported fields
	}
	Timestamp  string
	Window     string
	Containers []struct {
		Name  string
		Usage struct {
			Cpu    string
			Memory string
		}
	}
}

func (PodMetricsObj) GetContainerUsage

func (mobj PodMetricsObj) GetContainerUsage(containerName string) UsageStats

func (PodMetricsObj) GetPodUsage

func (mobj PodMetricsObj) GetPodUsage() UsageStats

type PodMetricsObjList

type PodMetricsObjList struct {
	Kind  string
	Items []struct {
		Metadata struct {
			Name     string
			SelfLink string
			// contains filtered or unexported fields
		}
		Timestamp  string
		Window     string
		Containers []struct {
			Name  string
			Usage struct {
				Cpu    string
				Memory string
			}
		}
	}
}

func (PodMetricsObjList) PrintPodList

func (m PodMetricsObjList) PrintPodList() map[string]UsageStats

type PodObjList

type PodObjList struct {
	Items []PodSchema
}

func NewPodObjList

func NewPodObjList() PodObjList

func (PodObjList) AddItem

func (l PodObjList) AddItem(obj PodSchema) []PodSchema

func (PodObjList) Clear

func (l PodObjList) Clear() []PodSchema

type PodSchema

type PodSchema struct {
	Name                          string                     `json:"name"`
	Namespace                     string                     `json:"namespace"`
	ClusterName                   string                     `json:"clusterName"`
	Labels                        string                     `json:"labels"`
	Annotations                   string                     `json:"annotations"`
	ContainerCount                int                        `json:"containerCount"`
	InitContainerCount            int                        `json:"initContainerCount"`
	NodeName                      string                     `json:"nodeName"`
	Priority                      int32                      `json:"priority"`
	RestartPolicy                 string                     `json:"restartPolicy"`
	ServiceAccountName            string                     `json:"serviceAccountName"`
	TerminationGracePeriodSeconds int64                      `json:"terminationGracePeriodSeconds"`
	Tolerations                   string                     `json:"tolerations"`
	NodeAffinityPreferred         string                     `json:"nodeAffinityPreferred"`
	NodeAffinityRequired          string                     `json:"nodeAffinityRequired"`
	PodAffinityPreferred          string                     `json:"podAffinityPreferred"`
	PodAffinityRequired           string                     `json:"podAffinityRequired"`
	PodAntiAffinityPreferred      string                     `json:"podAntiAffinityPreferred"`
	PodAntiAffinityRequired       string                     `json:"podAntiAffinityRequired"`
	HostIP                        string                     `json:"hostIP"`
	Phase                         string                     `json:"phase"`
	PodIP                         string                     `json:"podIP"`
	Reason                        string                     `json:"reason"`
	StartTime                     time.Time                  `json:"startTime"`
	LastTransitionTimeCondition   *time.Time                 `json:"lastTransitionTimeCondition"`
	ReasonCondition               string                     `json:"reasonCondition"`
	StatusCondition               string                     `json:"statusCondition"`
	TypeCondition                 string                     `json:"typeCondition"`
	LimitsDefined                 bool                       `json:"limitsDefined"`
	LiveProbes                    int                        `json:"liveProbes"`
	ReadyProbes                   int                        `json:"readyProbes"`
	PodRestarts                   int32                      `json:"podRestarts"`
	NumPrivileged                 int                        `json:"numPrivileged"`
	Ports                         string                     `json:"ports"`
	MemRequest                    int64                      `json:"memRequest"`
	CpuRequest                    int64                      `json:"cpuRequest"`
	CpuLimit                      int64                      `json:"cpuLimit"`
	MemLimit                      int64                      `json:"memLimit"`
	PodStorageRequest             int64                      `json:"podStorageRequest"`
	PodStorageLimit               int64                      `json:"podStorageLimit"`
	StorageRequest                int64                      `json:"storageRequest"`
	StorageCapacity               int64                      `json:"storageCapacity"`
	CpuUse                        int64                      `json:"cpuUse"`
	MemUse                        int64                      `json:"memUse"`
	Images                        string                     `json:"images"`
	WaitReasons                   string                     `json:"waitReasons"`
	TermReasons                   string                     `json:"termReasons"`
	RunningStartTime              *time.Time                 `json:"runningStartTime"`
	TerminationTime               *time.Time                 `json:"terminationTime"`
	PendingTime                   int64                      `json:"-"`
	Containers                    map[string]ContainerSchema `json:"-"`
	InitContainers                map[string]ContainerSchema `json:"-"`
	Owner                         string                     `json:"-"`
	IsEvicted                     bool                       `json:"-"`
	AppID                         int                        `json:"-"`
	TierID                        int                        `json:"-"`
	NodeID                        int                        `json:"-"`
	AppName                       string                     `json:"-"`
	TierName                      string                     `json:"-"`
	APMNodeName                   string                     `json:"-"`
	Services                      []ServiceSchema            `json:"-"`
	Endpoints                     []v1.Endpoints             `json:"-"`
	StartTimeMillis               int64                      `json:"-"`
	RunningStartTimeMillis        int64                      `json:"-"`
	TerminationTimeMillis         int64                      `json:"-"`
	UpTimeMillis                  int64                      `json:"-"`
	BreakPointMillis              int64                      `json:"-"` //time when a container exited
	MissingDependencies           bool                       `json:"-"`
	NoConnectivity                bool                       `json:"-"`
	ConsumptionCpu                float64                    `json:"-"`
	ConsumptionMem                float64                    `json:"-"`
}

func NewPodObj

func NewPodObj() PodSchema

func (*PodSchema) Equals

func (ps *PodSchema) Equals(obj *PodSchema) bool

func (PodSchema) GetState

func (p PodSchema) GetState() string

func (PodSchema) ToString

func (p PodSchema) ToString() string

type PodSchemaDef

type PodSchemaDef struct {
	Name                          string `json:"name"`
	Namespace                     string `json:"namespace"`
	ClusterName                   string `json:"clusterName"`
	Labels                        string `json:"labels"`
	Annotations                   string `json:"annotations"`
	ContainerCount                string `json:"containerCount"`
	InitContainerCount            string `json:"initContainerCount"`
	NodeName                      string `json:"nodeName"`
	Priority                      string `json:"priority"`
	RestartPolicy                 string `json:"restartPolicy"`
	ServiceAccountName            string `json:"serviceAccountName"`
	TerminationGracePeriodSeconds string `json:"terminationGracePeriodSeconds"`
	Tolerations                   string `json:"tolerations"`
	NodeAffinityPreferred         string `json:"nodeAffinityPreferred"`
	NodeAffinityRequired          string `json:"nodeAffinityRequired"`
	PodAffinityPreferred          string `json:"podAffinityPreferred"`
	PodAffinityRequired           string `json:"podAffinityRequired"`
	PodAntiAffinityPreferred      string `json:"podAntiAffinityPreferred"`
	PodAntiAffinityRequired       string `json:"podAntiAffinityRequired"`
	HostIP                        string `json:"hostIP"`
	Phase                         string `json:"phase"`
	PodIP                         string `json:"podIP"`
	Reason                        string `json:"reason"`
	StartTime                     string `json:"startTime"`
	LastTransitionTimeCondition   string `json:"lastTransitionTimeCondition"`
	ReasonCondition               string `json:"reasonCondition"`
	StatusCondition               string `json:"statusCondition"`
	TypeCondition                 string `json:"typeCondition"`
	LimitsDefined                 string `json:"limitsDefined"`
	LiveProbes                    string `json:"liveProbes"`
	ReadyProbes                   string `json:"readyProbes"`
	PodRestarts                   string `json:"podRestarts"`
	NumPrivileged                 string `json:"numPrivileged"`
	Ports                         string `json:"ports"`
	MemRequest                    string `json:"memRequest"`
	CpuRequest                    string `json:"cpuRequest"`
	CpuLimit                      string `json:"cpuLimit"`
	MemLimit                      string `json:"memLimit"`
	PodStorageRequest             string `json:"podStorageRequest"`
	PodStorageLimit               string `json:"podStorageLimit"`
	StorageRequest                string `json:"storageRequest"`
	StorageCapacity               string `json:"storageCapacity"`
	CpuUse                        string `json:"cpuUse"`
	MemUse                        string `json:"memUse"`
	Images                        string `json:"images"`
	WaitReasons                   string `json:"waitReasons"`
	TermReasons                   string `json:"termReasons"`
	RunningStartTime              string `json:"runningStartTime"`
	TerminationTime               string `json:"terminationTime"`
}

func NewPodSchemaDef

func NewPodSchemaDef() PodSchemaDef

func (PodSchemaDef) Unwrap

func (sd PodSchemaDef) Unwrap() *map[string]interface{}

type PodSchemaDefWrapper

type PodSchemaDefWrapper struct {
	Schema PodSchemaDef `json:"schema"`
}

func NewPodSchemaDefWrapper

func NewPodSchemaDefWrapper() PodSchemaDefWrapper

func (PodSchemaDefWrapper) Unwrap

func (sd PodSchemaDefWrapper) Unwrap() *map[string]interface{}

type RQFields

type RQFields struct {
	Name          string
	Namespace     string
	RequestCpu    int64
	RequestMemory int64
	LimitCpu      int64
	LimitMemory   int64
	StoragePod    int64
	Storage       int64
	PVC           int64
	Pods          int64
	Path          string
	Metadata      map[string]AppDMetricMetadata
}

func NewRQFields

func NewRQFields() RQFields

func (*RQFields) Copy

func (self *RQFields) Copy(rqVals *RQFields)

func (RQFields) GetPath

func (cpm RQFields) GetPath() string

func (*RQFields) Increment

func (self *RQFields) Increment(rqVals *RQFields)

func (RQFields) ShouldExcludeField

func (cpm RQFields) ShouldExcludeField(fieldName string) bool

func (RQFields) Unwrap

func (cpm RQFields) Unwrap() *map[string]interface{}

type RQSchemaObj

type RQSchemaObj struct {
	Name      string
	Namespace string
	Selector  string
	PodsOnly  bool
	Spec      RQFields
	Used      RQFields
}

func NewRQ

func NewRQ(rq *v1.ResourceQuota) RQSchemaObj

func (*RQSchemaObj) AddQuotaStatsToAppMetrics

func (rq *RQSchemaObj) AddQuotaStatsToAppMetrics(metrics *ClusterAppMetrics)

func (*RQSchemaObj) AddQuotaStatsToNamespaceMetrics

func (rq *RQSchemaObj) AddQuotaStatsToNamespaceMetrics(metrics *ClusterPodMetrics)

func (*RQSchemaObj) AppliesToNamespace

func (rq *RQSchemaObj) AppliesToNamespace(ns string) bool

func (*RQSchemaObj) AppliesToPod

func (rq *RQSchemaObj) AppliesToPod(podObject *PodSchema) bool

func (*RQSchemaObj) IncrementQuotaStatsClusterMetrics

func (rq *RQSchemaObj) IncrementQuotaStatsClusterMetrics(metrics *ClusterPodMetrics)

type RqSchema

type RqSchema struct {
	ClusterName       string `json:"clusterName"`
	Name              string `json:"name"`
	Namespace         string `json:"namespace"`
	SpecRequestCpu    int64  `json:"specRequestCpu"`
	SpecRequestMemory int64  `json:"specRequestMemory"`
	SpecLimitCpu      int64  `json:"specLimitCpu"`
	SpecLimitMemory   int64  `json:"specLimitMemory"`
	SpecStoragePod    int64  `json:"specStoragePod"`
	SpecStorage       int64  `json:"specStorage"`
	SpecPVC           int64  `json:"specPVC"`
	SpecPods          int64  `json:"specPods"`
	UsedRequestCpu    int64  `json:"usedRequestCpu"`
	UsedRequestMemory int64  `json:"usedRequestMemory"`
	UsedLimitCpu      int64  `json:"usedLimitCpu"`
	UsedLimitMemory   int64  `json:"usedLimitMemory"`
	UsedStoragePod    int64  `json:"usedStoragePod"`
	UsedStorage       int64  `json:"usedStorage"`
	UsedPVC           int64  `json:"usedPVC"`
	UsedPods          int64  `json:"usedPods"`
}

func NewRQSchema

func NewRQSchema(rq *v1.ResourceQuota) RqSchema

type RqSchemaDef

type RqSchemaDef struct {
	ClusterName       string `json:"clusterName"`
	Name              string `json:"name"`
	Namespace         string `json:"namespace"`
	SpecRequestCpu    string `json:"specRequestCpu"`
	SpecRequestMemory string `json:"specRequestMemory"`
	SpecLimitCpu      string `json:"specLimitCpu"`
	SpecLimitMemory   string `json:"specLimitMemory"`
	SpecStoragePod    string `json:"specStoragePod"`
	SpecStorage       string `json:"specStorage"`
	SpecPVC           string `json:"specPVC"`
	SpecPods          string `json:"specPods"`
	UsedRequestCpu    string `json:"usedRequestCpu"`
	UsedRequestMemory string `json:"usedRequestMemory"`
	UsedLimitCpu      string `json:"usedLimitCpu"`
	UsedLimitMemory   string `json:"usedLimitMemory"`
	UsedStoragePod    string `json:"usedStoragePod"`
	UsedStorage       string `json:"usedStorage"`
	UsedPVC           string `json:"usedPVC"`
	UsedPods          string `json:"usedPods"`
}

func NewRqSchemaDef

func NewRqSchemaDef() RqSchemaDef

type RqSchemaDefWrapper

type RqSchemaDefWrapper struct {
	Schema RqSchemaDef `json:"schema"`
}

func NewRqSchemaDefWrapper

func NewRqSchemaDefWrapper() RqSchemaDefWrapper

func (RqSchemaDefWrapper) Unwrap

func (sd RqSchemaDefWrapper) Unwrap() *map[string]interface{}

type RsObjList

type RsObjList struct {
	Items []RsSchema
}

func NewRsObjList

func NewRsObjList() RsObjList

func (RsObjList) AddItem

func (l RsObjList) AddItem(obj RsSchema) []RsSchema

func (RsObjList) Clear

func (l RsObjList) Clear() []RsSchema

type RsSchema

type RsSchema struct {
	Name                  string    `json:"name"`
	ClusterName           string    `json:"clusterName"`
	Namespace             string    `json:"namespace"`
	ObjectUid             string    `json:"objectUid"`
	CreationTimestamp     time.Time `json:"creationTimestamp"`
	DeletionTimestamp     time.Time `json:"deletionTimestamp"`
	MinReadySecs          int32     `json:"minReadySecs"`
	RsReplicas            int32     `json:"rsReplicas"`
	RsReplicasAvailable   int32     `json:"rsReplicasAvailable"`
	RsReplicasUnAvailable int32     `json:"rsReplicasUnAvailable"`
	RsReplicasLabeled     int32     `json:"rsReplicasLabeled"`
	RsReplicasReady       int32     `json:"rsReplicasReady"`
}

func NewRsObj

func NewRsObj() RsSchema

func (*RsSchema) Equals

func (ps *RsSchema) Equals(obj *RsSchema) bool

func (*RsSchema) GetRsKey

func (ps *RsSchema) GetRsKey() string

type RsSchemaDef

type RsSchemaDef struct {
	Name                  string `json:"name"`
	ClusterName           string `json:"clusterName"`
	Namespace             string `json:"namespace"`
	ObjectUid             string `json:"objectUid"`
	CreationTimestamp     string `json:"creationTimestamp"`
	DeletionTimestamp     string `json:"deletionTimestamp"`
	MinReadySecs          string `json:"minReadySecs"`
	RsReplicas            string `json:"rsReplicas"`
	RsReplicasAvailable   string `json:"rsReplicasAvailable"`
	RsReplicasUnAvailable string `json:"rsReplicasUnAvailable"`
	RsReplicasLabeled     string `json:"rsReplicasLabeled"`
	RsReplicasReady       string `json:"rsReplicasReady"`
}

func NewRsSchemaDef

func NewRsSchemaDef() RsSchemaDef

type RsSchemaDefWrapper

type RsSchemaDefWrapper struct {
	Schema RsSchemaDef `json:"schema"`
}

func NewRsSchemaDefWrapper

func NewRsSchemaDefWrapper() RsSchemaDefWrapper

func (RsSchemaDefWrapper) Unwrap

func (sd RsSchemaDefWrapper) Unwrap() *map[string]interface{}

type ScopeEntity

type ScopeEntity struct {
	Subtype           *string `json:"subtype"`
	EntityType        string  `json:"entityType"`
	EntityName        string  `json:"entityName"`
	ScopingEntityType *string `json:"scopingEntityType"`
	ScopingEntityName *string `json:"scopingEntityName"`
	ApplicationName   string  `json:"applicationName"`
}

type ServiceEndpoint

type ServiceEndpoint struct {
	Name        string
	Port        int32
	EPAddresses []EPAddress
}

func NewServiceEndpoint

func NewServiceEndpoint(name string, portNumber int32) ServiceEndpoint

type ServicePort

type ServicePort struct {
	Name       string
	Port       int32
	TargetPort int32
	IsNodePort bool
	Protocol   string
}

type ServiceSchema

type ServiceSchema struct {
	Name                 string
	Namespace            string
	Selector             map[string]string
	Ports                []ServicePort
	Routes               []Ingress
	Endpoints            map[int32]ServiceEndpoint
	ExternalName         string
	ExternalSvcValid     bool
	HasNodePort          bool
	HasIngress           bool
	HasExternalService   bool
	IsAccessible         bool
	ReferencedExternally bool
}

func NewServiceSchema

func NewServiceSchema(svc *v1.Service) *ServiceSchema

func (*ServiceSchema) ExternallyReferenced

func (svcSchema *ServiceSchema) ExternallyReferenced(referenced bool)

func (*ServiceSchema) GetEndPointsStats

func (svc *ServiceSchema) GetEndPointsStats() (int, map[string]int, map[string]int)

func (*ServiceSchema) IsPortAvailable

func (svcSchema *ServiceSchema) IsPortAvailable(cp *ContainerPort, podSchema *PodSchema) (bool, bool)

func (*ServiceSchema) MatchesPod

func (svcSchema *ServiceSchema) MatchesPod(podObject *v1.Pod) bool

type StaticThreshold

type StaticThreshold struct {
}

type TechnologyName

type TechnologyName string

type UsageStats

type UsageStats struct {
	Name   string
	CPU    int64
	Memory int64
}

type Utilization

type Utilization struct {
	CpuUse       float64
	MemUse       float64
	CpuUseString string
	MemUseString string
	Overconsume  bool
	CpuGoal      float64
	MemGoal      float64
	Restarts     int32
}

func (*Utilization) CheckStatus

func (u *Utilization) CheckStatus(threshold float64, cpuRequest float64, memRequest float64)

type WidgetTemplate

type WidgetTemplate struct {
	UseMetricBrowserAsDrillDown bool                 `json:"useMetricBrowserAsDrillDown"`
	BorderColor                 int                  `json:"borderColor"`
	ShowValues                  bool                 `json:"showValues"`
	Color                       int                  `json:"color"`
	CompactMode                 bool                 `json:"compactMode"`
	ShowTimeRange               bool                 `json:"showTimeRange"`
	LegendColumnCount           *int                 `json:"legendColumnCount"`
	ShowLegend                  bool                 `json:"showLegend"`
	Description                 *string              `json:"description"`
	BackgroundAlpha             float32              `json:"backgroundAlpha"`
	FormatNumber                bool                 `json:"formatNumber"`
	Title                       *string              `json:"title"`
	ApplicationReference        *ScopeEntity         `json:"applicationReference,omitempty"`
	EntityReferences            *[]ScopeEntity       `json:"entityReferences,omitempty"`
	DataSeriesTemplates         []DataSeriesTemplate `json:"dataSeriesTemplates"`
	MinHeight                   int                  `json:"minHeight"`
	BorderThickness             int                  `json:"borderThickness"`
	UseAutomaticFontSize        bool                 `json:"useAutomaticFontSize"`
	RemoveZeros                 bool                 `json:"removeZeros"`
	DrillDownUrl                *string              `json:"drillDownUrl"`
	ImageURL                    *string              `json:"imageURL"`
	StartTime                   *int                 `json:"startTime"`
	Text                        string               `json:"text"`
	DrillDownActionType         *string              `json:"drillDownActionType"`
	Height                      int                  `json:"height"`
	NumDecimals                 int                  `json:"numDecimals"`
	BackgroundColor             int                  `json:"backgroundColor"`
	Margin                      int                  `json:"margin"`
	TextAlign                   string               `json:"textAlign"`
	MinWidth                    int                  `json:"minWidth"`
	PropertiesMap               *string              `json:"propertiesMap"`
	Label                       *string              `json:"label"`
	RenderIn3D                  bool                 `json:"renderIn3D"`
	MinutesBeforeAnchorTime     int                  `json:"minutesBeforeAnchorTime"`
	WidgetType                  string               `json:"widgetType"`
	BackgroundColorsStr         string               `json:"backgroundColorsStr"`
	BorderEnabled               bool                 `json:"borderEnabled"`
	Width                       int                  `json:"width"`
	X                           int                  `json:"x"`
	BackgroundColors            *[]interface{}       `json:"backgroundColors"`
	IsGlobal                    bool                 `json:"isGlobal"`
	Y                           int                  `json:"y"`
	FontSize                    int                  `json:"fontSize"`
	LegendPosition              *string              `json:"legendPosition"`
	EndTime                     *int                 `json:"endTime"`
	CustomVerticalAxisMin       *int                 `json:"customVerticalAxisMin"`
	CustomVerticalAxisMax       *int                 `json:"customVerticalAxisMax"`
	MultipleYAxis               *string              `json:"multipleYAxis"`
	StaticThresholdList         []StaticThreshold    `json:"staticThresholdList"`
	ShowAllTooltips             bool                 `json:"showAllTooltips"`
	AxisType                    string               `json:"axisType"`
	HorizontalAxisLabel         *string              `json:"horizontalAxisLabel"`
	VerticalAxisLabel           *string              `json:"verticalAxisLabel"`
	ShowEvents                  *string              `json:"showEvents"`
	HideHorizontalAxis          *string              `json:"hideHorizontalAxis"`
	StackMode                   bool                 `json:"stackMode"`
	InterpolateDataGaps         bool                 `json:"interpolateDataGaps"`
	EventFilterTemplate         *string              `json:"eventFilterTemplate"`
	EntityType                  *string              `json:"entityType"`
	EntitySelectionType         *string              `json:"entitySelectionType"`
}

Jump to

Keyboard shortcuts

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