overview

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Application

type Application struct {
	Id         model.ApplicationId       `json:"id"`
	Category   model.ApplicationCategory `json:"category"`
	Labels     model.Labels              `json:"labels"`
	Status     model.Status              `json:"status"`
	Indicators []model.Indicator         `json:"indicators"`

	Upstreams   []Link `json:"upstreams"`
	Downstreams []Link `json:"downstreams"`
}

type ApplicationComponent

type ApplicationComponent struct {
	Name string                `json:"name"`
	Kind model.ApplicationKind `json:"kind"`

	CpuRequest               string `json:"cpu_request"`
	CpuRequestRecommended    string `json:"cpu_request_recommended"`
	MemoryRequest            string `json:"memory_request"`
	MemoryRequestRecommended string `json:"memory_request_recommended"`

	AllocationCosts            float32 `json:"allocation_costs"`
	AllocationCostsRecommended float32 `json:"allocation_costs_recommended"`
}

type ApplicationCosts

type ApplicationCosts struct {
	Id       model.ApplicationId       `json:"id"`
	Category model.ApplicationCategory `json:"category"`

	UsageCosts            float32 `json:"usage_costs"`
	AllocationCosts       float32 `json:"allocation_costs"`
	OverProvisioningCosts float32 `json:"over_provisioning_costs"`

	Components []*ApplicationComponent `json:"components"`
	Instances  []*ApplicationInstance  `json:"instances"`
}

type ApplicationInstance

type ApplicationInstance struct {
	Name           string                 `json:"name"`
	CpuUsage       *timeseries.TimeSeries `json:"cpu_usage"`
	CpuUsageAvg    string                 `json:"cpu_usage_avg"`
	MemoryUsage    *timeseries.TimeSeries `json:"memory_usage"`
	MemoryUsageAvg string                 `json:"memory_usage_avg"`
}

type ApplicationParam added in v0.21.0

type ApplicationParam struct {
	Status model.Status           `json:"status"`
	Value  string                 `json:"value"`
	Chart  *timeseries.TimeSeries `json:"chart"`
}

type ApplicationStatus added in v0.21.0

type ApplicationStatus struct {
	Id       model.ApplicationId       `json:"id"`
	Category model.ApplicationCategory `json:"category"`
	Status   model.Status              `json:"status"`

	Errors    ApplicationParam `json:"errors"`
	Latency   ApplicationParam `json:"latency"`
	Upstreams ApplicationParam `json:"upstreams"`
	Instances ApplicationParam `json:"instances"`
	Restarts  ApplicationParam `json:"restarts"`
	CPU       ApplicationParam `json:"cpu"`
	Memory    ApplicationParam `json:"memory"`
	DiskIO    ApplicationParam `json:"disk_io"`
	DiskUsage ApplicationParam `json:"disk_usage"`
	Network   ApplicationParam `json:"network"`
	Logs      ApplicationParam `json:"logs"`
}

type Costs

type Costs struct {
	Nodes        []*NodeCosts        `json:"nodes"`
	Applications []*ApplicationCosts `json:"applications"`
}

type Deployment added in v0.19.0

type Deployment struct {
	Application Application             `json:"application"`
	Version     string                  `json:"version"`
	Deployed    string                  `json:"deployed"`
	Status      model.Status            `json:"status"`
	Link        *model.RouterLink       `json:"link"`
	Age         string                  `json:"age"`
	Summary     []DeploymentSummaryItem `json:"summary"`
	// contains filtered or unexported fields
}

type DeploymentSummaryItem added in v0.19.0

type DeploymentSummaryItem struct {
	Status  string            `json:"status"`
	Message string            `json:"message"`
	Link    *model.RouterLink `json:"link"`
}

type Event added in v1.0.0

type Event struct {
	Timestamp  int64             `json:"timestamp"`
	Name       string            `json:"name"`
	Attributes map[string]string `json:"attributes"`
}
type Link struct {
	Id     model.ApplicationId `json:"id"`
	Status model.Status        `json:"status"`
	Stats  []string            `json:"stats"`
	Weight float32             `json:"weight"`
}

type NodeApplication

type NodeApplication struct {
	Name      string                    `json:"name"`
	Value     float32                   `json:"value"`
	Instances []NodeApplicationInstance `json:"instances"`
	// contains filtered or unexported fields
}

type NodeApplicationInstance

type NodeApplicationInstance struct {
	Name    string                 `json:"name"`
	Usage   string                 `json:"usage"`
	Request string                 `json:"request"`
	Chart   *timeseries.TimeSeries `json:"chart"`
}

type NodeCosts

type NodeCosts struct {
	Name                      string            `json:"name"`
	InstanceLifeCycle         string            `json:"instance_life_cycle"`
	Description               string            `json:"description"`
	CpuUsage                  float32           `json:"cpu_usage"`
	CpuUsageApplications      []NodeApplication `json:"cpu_usage_applications"`
	CpuRequestApplications    []NodeApplication `json:"cpu_request_applications"`
	MemoryUsage               float32           `json:"memory_usage"`
	MemoryUsageApplications   []NodeApplication `json:"memory_usage_applications"`
	MemoryRequestApplications []NodeApplication `json:"memory_request_applications"`
	Price                     float32           `json:"price"`
	IdleCosts                 float32           `json:"idle_costs"`
}

type Overview added in v0.21.0

type Overview struct {
	Health      []*ApplicationStatus `json:"health"`
	Map         []*Application       `json:"map"`
	Nodes       *model.Table         `json:"nodes"`
	Deployments []*Deployment        `json:"deployments"`
	Traces      *Traces              `json:"traces"`
	Costs       *Costs               `json:"costs"`
}

func Render

func Render(ctx context.Context, ch *clickhouse.Client, w *model.World, view, query string) *Overview

type Query added in v1.0.0

type Query struct {
	View    string          `json:"view"`
	TsFrom  timeseries.Time `json:"ts_from"`
	TsTo    timeseries.Time `json:"ts_to"`
	DurFrom string          `json:"dur_from"`
	DurTo   string          `json:"dur_to"`

	TraceId     string `json:"trace_id"`
	ServiceName string `json:"service_name"`
	SpanName    string `json:"span_name"`
	IncludeAux  bool   `json:"include_aux"`
	Diff        bool   `json:"diff"`
	// contains filtered or unexported fields
}

type Span added in v1.0.0

type Span struct {
	Service    string                 `json:"service"`
	TraceId    string                 `json:"trace_id"`
	Id         string                 `json:"id"`
	ParentId   string                 `json:"parent_id"`
	Name       string                 `json:"name"`
	Timestamp  int64                  `json:"timestamp"`
	Duration   float64                `json:"duration"`
	Status     model.TraceSpanStatus  `json:"status"`
	Details    model.TraceSpanDetails `json:"details"`
	Attributes map[string]string      `json:"attributes"`
	Events     []Event                `json:"events"`
}

type Traces added in v1.0.0

type Traces struct {
	Message   string                     `json:"message"`
	Error     string                     `json:"error"`
	Heatmap   *model.Heatmap             `json:"heatmap"`
	Spans     []Span                     `json:"spans"`
	Limit     int                        `json:"limit"`
	Summary   *model.TraceSpanSummary    `json:"summary"`
	AttrStats []model.TraceSpanAttrStats `json:"attr_stats"`
	Errors    []model.TraceErrorsStat    `json:"errors"`
	Latency   *model.Profile             `json:"latency"`
}

Jump to

Keyboard shortcuts

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