sqlinstance

package
v0.0.0-...-7068118 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CpuUtilization    MetricType = "cloudsql.googleapis.com/database/cpu/utilization"
	CpuCores          MetricType = "cloudsql.googleapis.com/database/cpu/reserved_cores"
	MemoryUtilization MetricType = "cloudsql.googleapis.com/database/memory/utilization"
	MemoryQuota       MetricType = "cloudsql.googleapis.com/database/memory/quota"
	DiskUtilization   MetricType = "cloudsql.googleapis.com/database/disk/utilization"
	DiskQuota         MetricType = "cloudsql.googleapis.com/database/disk/quota"

	Filter MetricsFilter = `metric.type="%s"
		AND resource.type="cloudsql_database"`
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(ctx context.Context, db database.Database, informers k8s.ClusterInformers, log logrus.FieldLogger, opts ...ClientOption) (*Client, error)

func (*Client) SqlDatabase

func (c *Client) SqlDatabase(sqlInstance *model.SQLInstance) (*model.SQLDatabase, error)

func (*Client) SqlInstance

func (c *Client) SqlInstance(ctx context.Context, env string, teamSlug slug.Slug, instanceName string) (*model.SQLInstance, error)

func (*Client) SqlInstances

func (c *Client) SqlInstances(ctx context.Context, teamSlug slug.Slug) ([]*model.SQLInstance, *model.SQLInstancesMetrics, error)

type ClientOption

type ClientOption func(*Client)

func WithMetrics

func WithMetrics(metrics *Metrics) ClientOption

type DatabaseID

type DatabaseID string

type DatabaseIDToMetricValues

type DatabaseIDToMetricValues = map[DatabaseID]float64

type MetricType

type MetricType = string

type Metrics

type Metrics struct {
	// contains filtered or unexported fields
}

func NewMetrics

func NewMetrics(ctx context.Context, costRepo database.CostRepo, log log.FieldLogger) (*Metrics, error)

func (*Metrics) AverageForTeam

func (m *Metrics) AverageForTeam(ctx context.Context, projectID string, metricType MetricType) (map[DatabaseID]float64, error)

func (*Metrics) Close

func (m *Metrics) Close() error

type MetricsFilter

type MetricsFilter = string

type MetricsOptions

type MetricsOptions struct {
	// contains filtered or unexported fields
}

type Option

type Option func(*MetricsOptions)

func WithAggregation

func WithAggregation(aggregation *monitoringpb.Aggregation) Option

func WithDefaultQuery

func WithDefaultQuery(metricType MetricType) Option

func WithInterval

func WithInterval(start, end time.Time) Option

type Query

type Query struct {
	MetricType MetricType
	Filter     MetricsFilter
}

type TeamMetricsCache

type TeamMetricsCache = map[MetricType]DatabaseIDToMetricValues

Jump to

Keyboard shortcuts

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