overview

package
v1.18.5 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2026 License: Apache-2.0 Imports: 19 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"`
	Cluster    string                    `json:"cluster"`
	Custom     bool                      `json:"custom"`
	Category   model.ApplicationCategory `json:"category"`
	Labels     model.Labels              `json:"labels"`
	Status     model.Status              `json:"status"`
	Icon       string                    `json:"icon"`
	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"`
	Cluster  string                    `json:"cluster"`

	UsageCosts            float32                 `json:"usage_costs"`
	AllocationCosts       float32                 `json:"allocation_costs"`
	OverProvisioningCosts float32                 `json:"over_provisioning_costs"`
	CrossAzTrafficCosts   float32                 `json:"cross_az_traffic_costs"`
	InternetEgressCosts   float32                 `json:"internet_egress_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"`
	Cluster  string                    `json:"cluster"`
	Category model.ApplicationCategory `json:"category"`
	Status   model.Status              `json:"status"`
	Type     *ApplicationType          `json:"type"`

	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"`
	DiskIOLoad ApplicationParam `json:"disk_io_load"`
	DiskUsage  ApplicationParam `json:"disk_usage"`
	Network    ApplicationParam `json:"network"`
	DNS        ApplicationParam `json:"dns"`
	Logs       ApplicationParam `json:"logs"`
}

type ApplicationType added in v1.3.0

type ApplicationType struct {
	Name   string                `json:"name"`
	Icon   string                `json:"icon"`
	Report model.AuditReportName `json:"report"`
	Status model.Status          `json:"status"`
}

type Availability added in v1.12.0

type Availability struct {
	Description string `json:"description"`
}

type Costs

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

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 Exposure added in v1.8.0

type Exposure struct {
	IPs                  []string `json:"ips"`
	Ports                []string `json:"ports"`
	NodePortServices     []string `json:"node_port_services"`
	LoadBalancerServices []string `json:"load_balancer_services"`
}

type Filter added in v1.0.6

type Filter struct {
	Field string `json:"field"`
	Op    string `json:"op"`
	Value string `json:"value"`
}

type FluxCDResource added in v1.15.0

type FluxCDResource struct {
	ID                    model.ApplicationId   `json:"id"`
	Cluster               string                `json:"cluster"`
	Type                  string                `json:"type"`
	Name                  string                `json:"name"`
	Namespace             string                `json:"namespace"`
	Status                string                `json:"status"`
	Reason                string                `json:"reason"`
	Suspended             bool                  `json:"suspended"`
	URL                   string                `json:"url,omitempty"`
	Interval              string                `json:"interval,omitempty"`
	Chart                 string                `json:"chart,omitempty"`
	Version               string                `json:"version,omitempty"`
	TargetNamespace       string                `json:"target_namespace,omitempty"`
	RepositoryId          model.ApplicationId   `json:"repository_id,omitempty"`
	Dependencies          []model.ApplicationId `json:"dependencies,omitempty"`
	InventoryEntries      []InventoryEntry      `json:"inventory_entries,omitempty"`
	LastAppliedRevision   string                `json:"last_applied_revision"`
	LastAttemptedRevision string                `json:"last_attempted_revision"`
}

type InventoryEntry added in v1.15.0

type InventoryEntry struct {
	ID          model.ApplicationId `json:"id"`
	CorootAppId model.ApplicationId `json:"coroot_app_id"`
}
type Link struct {
	Id     model.ApplicationId `json:"id"`
	Status model.Status        `json:"status"`
	Stats  []string            `json:"stats"`
	Weight float32             `json:"weight"`
}

type LogEntry added in v1.11.3

type LogEntry struct {
	Application string            `json:"application"`
	Timestamp   int64             `json:"timestamp"`
	Severity    string            `json:"severity"`
	Color       string            `json:"color"`
	Message     string            `json:"message"`
	Attributes  map[string]string `json:"attributes"`
	TraceId     string            `json:"trace_id"`
	Cluster     string            `json:"cluster"`
}

type Logs added in v1.11.3

type Logs struct {
	Message string       `json:"message"`
	Error   string       `json:"error"`
	Chart   *model.Chart `json:"chart"`
	Entries []LogEntry   `json:"entries"`
	Suggest []string     `json:"suggest"`
	MaxTs   string       `json:"max_ts"` // string because in JS: 1756993779510773600 === 1756993779510773500
}

type LogsQuery added in v1.11.3

type LogsQuery struct {
	View    string                 `json:"view"`
	Agent   bool                   `json:"agent"`
	Otel    bool                   `json:"otel"`
	Filters []clickhouse.LogFilter `json:"filters"`
	Limit   int                    `json:"limit"`
	Suggest *string                `json:"suggest,omitempty"`
	Since   string                 `json:"since"`
}

type NetworkBandWidth added in v1.17.0

type NetworkBandWidth struct {
	Rx int `json:"rx"`
	Tx int `json:"tx"`
}

type Node added in v1.17.0

type Node struct {
	Name                  string            `json:"name"`
	ClusterId             string            `json:"cluster_id"`
	ClusterName           string            `json:"cluster_name"`
	Status                model.Indicator   `json:"status"`
	UptimeMs              int64             `json:"uptime_ms"`
	AvailabilityZone      string            `json:"availability_zone"`
	CloudProvider         string            `json:"cloud_provider"`
	InstanceType          string            `json:"instance_type"`
	Compute               string            `json:"compute"`
	IPs                   []string          `json:"ips"`
	CPUPercent            int               `json:"cpu_percent"`
	MemoryPercent         int               `json:"memory_percent"`
	GPUs                  int               `json:"gpus"`
	TotalNetworkBandWidth int               `json:"total_network_band_width"`
	NetworkBandwidth      *NetworkBandWidth `json:"network_bandwidth"`
}

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"`
	Cluster                   string            `json:"cluster"`
	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 {
	Applications []*ApplicationStatus        `json:"applications"`
	Map          []*Application              `json:"map"`
	Nodes        []Node                      `json:"nodes"`
	Deployments  []*Deployment               `json:"deployments"`
	Traces       *Traces                     `json:"traces"`
	Logs         *Logs                       `json:"logs"`
	Costs        *Costs                      `json:"costs"`
	Risks        []*Risk                     `json:"risks"`
	FluxCD       []*FluxCDResource           `json:"fluxcd"`
	Categories   []model.ApplicationCategory `json:"categories"`
}

func Render

func Render(ctx context.Context, chs clickhouse.Clients, project *db.Project, 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"`
	Filters    []Filter `json:"filters"`
	IncludeAux bool     `json:"include_aux"`
	Diff       bool     `json:"diff"`
	// contains filtered or unexported fields
}

type Risk added in v1.8.0

type Risk struct {
	Key                 model.RiskKey             `json:"key"`
	ApplicationId       model.ApplicationId       `json:"application_id"`
	Cluster             string                    `json:"cluster"`
	ApplicationCategory model.ApplicationCategory `json:"application_category"`
	ApplicationType     *ApplicationType          `json:"application_type"`
	Severity            model.Status              `json:"severity"`
	Type                string                    `json:"type"`
	Dismissal           *model.RiskDismissal      `json:"dismissal,omitempty"`
	Exposure            *Exposure                 `json:"exposure,omitempty"`
	Availability        *Availability             `json:"availability,omitempty"`
}

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"`
	Cluster    string                 `json:"cluster"`
}

type Traces added in v1.0.0

type Traces struct {
	Message   string                     `json:"message"`
	Error     string                     `json:"error"`
	Heatmap   *model.Heatmap             `json:"heatmap"`
	Traces    []Span                     `json:"traces"`
	Limit     int                        `json:"limit"`
	Trace     []Span                     `json:"trace"`
	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