sqlinstance

package
v0.0.0-...-551a27f Latest Latest
Warning

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

Go to latest
Published: May 21, 2024 License: MIT Imports: 22 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, teamEnvs []*database.TeamEnvironment) ([]*model.SQLInstance, *model.SQLInstancesMetrics, error)

func (*Client) SqlUsers

func (c *Client) SqlUsers(ctx context.Context, sqlInstance *model.SQLInstance) ([]*model.SQLUser, error)

type ClientOption

type ClientOption func(*Client)

func WithAdmin

func WithAdmin(admin *SqlAdminService) ClientOption

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 SqlAdminService

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

func NewSqlAdminService

func NewSqlAdminService(ctx context.Context, log logrus.FieldLogger) (*SqlAdminService, error)

func (*SqlAdminService) GetInstance

func (s *SqlAdminService) GetInstance(ctx context.Context, project string, instance string) (*sqladmin.DatabaseInstance, error)

func (*SqlAdminService) GetInstances

func (s *SqlAdminService) GetInstances(ctx context.Context, project string) ([]*sqladmin.DatabaseInstance, error)

func (*SqlAdminService) GetState

func (s *SqlAdminService) GetState(ctx context.Context, project string, instance string) (string, error)

func (*SqlAdminService) GetUsers

func (s *SqlAdminService) GetUsers(ctx context.Context, project string, instance string) ([]*sqladmin.User, error)

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