Documentation ¶
Index ¶
- Constants
- type Client
- func (c *Client) SqlDatabase(sqlInstance *model.SQLInstance) (*model.SQLDatabase, error)
- func (c *Client) SqlInstance(ctx context.Context, env string, teamSlug slug.Slug, instanceName string) (*model.SQLInstance, error)
- func (c *Client) SqlInstances(ctx context.Context, teamSlug slug.Slug, teamEnvs []*database.TeamEnvironment) ([]*model.SQLInstance, *model.SQLInstancesMetrics, error)
- func (c *Client) SqlUsers(ctx context.Context, sqlInstance *model.SQLInstance) ([]*model.SQLUser, error)
- type ClientOption
- type DatabaseID
- type DatabaseIDToMetricValues
- type MetricType
- type Metrics
- type MetricsFilter
- type MetricsOptions
- type Option
- type Query
- type SqlAdminService
- func (s *SqlAdminService) GetInstance(ctx context.Context, project string, instance string) (*sqladmin.DatabaseInstance, error)
- func (s *SqlAdminService) GetInstances(ctx context.Context, project string) ([]*sqladmin.DatabaseInstance, error)
- func (s *SqlAdminService) GetState(ctx context.Context, project string, instance string) (string, error)
- func (s *SqlAdminService) GetUsers(ctx context.Context, project string, instance string) ([]*sqladmin.User, error)
- type TeamMetricsCache
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 (*Client) SqlInstances ¶
func (c *Client) SqlInstances(ctx context.Context, teamSlug slug.Slug, teamEnvs []*database.TeamEnvironment) ([]*model.SQLInstance, *model.SQLInstancesMetrics, 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 (*Metrics) AverageForTeam ¶
func (m *Metrics) AverageForTeam(ctx context.Context, projectID string, metricType MetricType) (map[DatabaseID]float64, 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 ¶
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 (*SqlAdminService) GetInstances ¶
func (s *SqlAdminService) GetInstances(ctx context.Context, project string) ([]*sqladmin.DatabaseInstance, error)
type TeamMetricsCache ¶
type TeamMetricsCache = map[MetricType]DatabaseIDToMetricValues
Click to show internal directories.
Click to hide internal directories.