prometheus

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: May 6, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// WorkloadCpuUsageExprTemplate is used to query workload cpu usage by promql,  param is namespace,workload-name,common condition,duration str
	WorkloadCpuUsageExprTemplate = `sum(irate(container_cpu_usage_seconds_total{container!="",image!="",container!="POD",namespace="%s",pod=~"^%s-.*$",%s}[%s]))`
	// WorkloadMemUsageExprTemplate is used to query workload mem usage by promql, param is namespace, workload-name,common condition
	WorkloadMemUsageExprTemplate = `sum(container_memory_working_set_bytes{container!="",image!="",container!="POD",namespace="%s",pod=~"^%s-.*$",%s})`

	// following is node exporter metric for node cpu/memory usage
	// NodeCpuUsageExprTemplate is used to query node cpu usage by promql,  param is node name,common condition,node name, common condition, which prometheus scrape, duration str
	NodeCpuUsageExprTemplate = `` /* 172-byte string literal not displayed */
	// NodeMemUsageExprTemplate is used to query node cpu memory by promql,  param is node name, node name which prometheus scrape
	NodeMemUsageExprTemplate = `sum(node_memory_MemTotal_bytes{instance=~"(%s)(:\\d+)?",%s} - node_memory_MemAvailable_bytes{instance=~"(%s)(:\\d+)?",%s})`

	// PodCpuUsageExprTemplate is used to query pod cpu usage by promql,  param is namespace,pod, common condition, duration str
	PodCpuUsageExprTemplate = `sum(irate(container_cpu_usage_seconds_total{container!="POD",namespace="%s",pod="%s",%s}[%s]))`
	// PodMemUsageExprTemplate is used to query pod cpu usage by promql,  param is namespace,pod
	PodMemUsageExprTemplate = `sum(container_memory_working_set_bytes{container!="POD",namespace="%s",pod="%s",%s})`

	// ContainerCpuUsageExprTemplate is used to query container cpu usage by promql,  param is namespace,pod,container, common condition, duration str
	ContainerCpuUsageExprTemplate = `irate(container_cpu_usage_seconds_total{container!="POD",namespace="%s",pod=~"^%s.*$",container="%s",%s}[%s])`
	// ContainerMemUsageExprTemplate is used to query container cpu usage by promql,  param is namespace,pod,container
	ContainerMemUsageExprTemplate = `container_memory_working_set_bytes{container!="POD",namespace="%s",pod=~"^%s.*$",container="%s",%s}`

	/**
	NOTE: following metrics require kube-state-metrics on your monitoring system
	*/
	// container, resource, workloadname,namespace,common condition, workloadkind,workloadname,namespace,common condition
	ContainerResourceRequestExprTemplate = `` /* 376-byte string literal not displayed */

	// container, resource, workloadname,namespace,common condition, workloadkind,workloadname,namespace, common condition
	ContainerResourceLimitExprTemplate = `` /* 374-byte string literal not displayed */

	// container, resource, deploymentname,namespace,common condition, deploymentname,namespace,common condition
	DeploymentContainerResourceRequestExprTemplate = `` /* 448-byte string literal not displayed */

	// container, resource, deploymentname,namespace,common condition, deploymentname,namespace,common condition
	DeploymentContainerResourceLimitExprTemplate = `` /* 446-byte string literal not displayed */

	// resource,workloadname,namespace,common condition, workloadname,namespace, common condition
	DeploymentResourceRequestExprTemplate = `` /* 469-byte string literal not displayed */

	// resource,workloadname,namespace,common condition,workloadname,namespace, common condition
	DeploymentResourceLimitExprTemplate = `` /* 467-byte string literal not displayed */

	// WorkloadResourceRequestExprTemplate used to query workload request,
	// param is resource,workloadname,namespace,common condition, workloadkind,workloadname,namespace, common condition
	WorkloadResourceRequestExprTemplate = `` /* 396-byte string literal not displayed */

	// WorkloadResourceLimitExprTemplate used to query workload limit, param is resource,workloadname,namespace,common condition,workloadkind,workloadname,namespace,common condition
	WorkloadResourceLimitExprTemplate = `` /* 394-byte string literal not displayed */

	// StatefulSetPlusReplicasExprTemplate replicas, param is namespace, name, common condition
	StatefulSetPlusReplicasExprTemplate = `` /* 221-byte string literal not displayed */

	// StatefulSetReplicasExprTemplate replicas, param is namespace, name,common condition
	StatefulSetReplicasExprTemplate = `` /* 213-byte string literal not displayed */

	// DeploymentReplicasExprTemplate replicas, param is namespace, name,common condition
	DeploymentReplicasExprTemplate = `` /* 209-byte string literal not displayed */

	// DaemonSetReplicasExprTemplate replicas, param is namespace, name,common condition
	DaemonSetReplicasExprTemplate = `` /* 203-byte string literal not displayed */
)

todo: later we change these templates to configurable like prometheus-adapter

Variables

This section is empty.

Functions

func NewPromQueryBuilder

func NewPromQueryBuilder(metric *metricquery.Metric) querybuilder.Builder

Types

This section is empty.

Jump to

Keyboard shortcuts

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