cloudwatch

package
v0.0.0-...-4a8fd02 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package cloudwatch implements methods to retrieve AWS Cloudwatch information

Index

Constants

View Source
const (
	MaxQueriesPerCloudwatchRequest int   = 500
	CloudwatchUsagePeriod          int32 = 5
	Minute                         int32 = 60
)

Variables

This section is empty.

Functions

func NewUsageFetcher

func NewUsageFetcher(ctx context.Context, client CloudWatchClient, logger slog.Logger) *usageFetcher

Types

type CloudWatchClient

type CloudWatchClient interface {
	GetMetricData(context.Context, *aws_cloudwatch.GetMetricDataInput, ...func(*aws_cloudwatch.Options)) (*aws_cloudwatch.GetMetricDataOutput, error)
}

type CloudWatchMetricRequest

type CloudWatchMetricRequest struct {
	Query        aws_cloudwatch_types.MetricDataQuery
	Dbidentifier string
	MetricName   string
}

type CloudWatchMetrics

type CloudWatchMetrics struct {
	Instances map[string]*RdsMetrics
}

type RdsFetcher

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

func NewRDSFetcher

func NewRDSFetcher(client CloudWatchClient, logger slog.Logger) *RdsFetcher

func (*RdsFetcher) GetRDSInstanceMetrics

func (c *RdsFetcher) GetRDSInstanceMetrics(dbIdentifiers []string) (CloudWatchMetrics, error)

func (*RdsFetcher) GetStatistics

func (c *RdsFetcher) GetStatistics() *Statistics

type RdsMetrics

type RdsMetrics struct {
	CPUUtilization            *float64
	DBLoad                    *float64
	DBLoadCPU                 *float64
	DBLoadNonCPU              *float64
	DatabaseConnections       *float64
	FreeStorageSpace          *float64
	FreeableMemory            *float64
	MaximumUsedTransactionIDs *float64
	ReadIOPS                  *float64
	ReadThroughput            *float64
	ReplicaLag                *float64
	ReplicationSlotDiskUsage  *float64
	SwapUsage                 *float64
	TransactionLogsDiskUsage  *float64
	WriteIOPS                 *float64
	WriteThroughput           *float64
}

func (*RdsMetrics) Update

func (m *RdsMetrics) Update(field string, value float64) error

type Statistics

type Statistics struct {
	CloudWatchAPICall float64
}

type UsageMetrics

type UsageMetrics struct {
	AllocatedStorage    float64
	DBInstances         float64
	ManualSnapshots     float64
	ReservedDBInstances float64
}

func (*UsageMetrics) Update

func (u *UsageMetrics) Update(field string, value float64) error

Directories

Path Synopsis
Package mocks contains mock for Cloudwatch client
Package mocks contains mock for Cloudwatch client

Jump to

Keyboard shortcuts

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