resourceusage

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

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	// ResourceUtilizationForApp returns resource utilization (usage and request) for the given app, in the given time range
	ResourceUtilizationForApp(ctx context.Context, env string, team slug.Slug, app string, start, end scalar.Date) (*model.ResourceUtilizationForApp, error)

	// ResourceUtilizationForTeam returns resource utilization (usage and request) for a given team in the given time range
	ResourceUtilizationForTeam(ctx context.Context, team slug.Slug, start, end scalar.Date) ([]*model.ResourceUtilizationForEnv, error)

	// ResourceUtilizationOverageForTeam will return latest overage data for a given team
	ResourceUtilizationOverageForTeam(ctx context.Context, team slug.Slug) (*model.ResourceUtilizationOverageForTeam, error)

	// ResourceUtilizationRangeForApp will return the min and max timestamps for a specific app
	ResourceUtilizationRangeForApp(ctx context.Context, env string, team slug.Slug, app string) (*model.ResourceUtilizationDateRange, error)

	// ResourceUtilizationRangeForTeam will return the min and max timestamps for a specific team
	ResourceUtilizationRangeForTeam(ctx context.Context, team slug.Slug) (*model.ResourceUtilizationDateRange, error)

	// CurrentResourceUtilizationForApp will return the current percentages of resource utilization for an app
	CurrentResourceUtilizationForApp(ctx context.Context, env string, team slug.Slug, app string) (*model.CurrentResourceUtilization, error)

	// CurrentResourceUtilizationForTeam will return the current percentages of resource utilization for a team across all apps and environments
	CurrentResourceUtilizationForTeam(ctx context.Context, team slug.Slug) (*model.CurrentResourceUtilization, error)

	// ResourceUtilizationTrendForTeam will return the resource utilization trend for a team across all apps and environments
	ResourceUtilizationTrendForTeam(ctx context.Context, team slug.Slug) (*model.ResourceUtilizationTrend, error)
}

func NewClient

func NewClient(clusters []string, db database.Database, log logrus.FieldLogger) Client

NewClient creates a new resourceusage client

type MockClient

type MockClient struct {
	mock.Mock
}

MockClient is an autogenerated mock type for the Client type

func NewMockClient

func NewMockClient(t interface {
	mock.TestingT
	Cleanup(func())
},
) *MockClient

NewMockClient creates a new instance of MockClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.

func (*MockClient) CurrentResourceUtilizationForApp

func (_m *MockClient) CurrentResourceUtilizationForApp(ctx context.Context, env string, team slug.Slug, app string) (*model.CurrentResourceUtilization, error)

CurrentResourceUtilizationForApp provides a mock function with given fields: ctx, env, team, app

func (*MockClient) CurrentResourceUtilizationForTeam

func (_m *MockClient) CurrentResourceUtilizationForTeam(ctx context.Context, team slug.Slug) (*model.CurrentResourceUtilization, error)

CurrentResourceUtilizationForTeam provides a mock function with given fields: ctx, team

func (*MockClient) EXPECT

func (_m *MockClient) EXPECT() *MockClient_Expecter

func (*MockClient) ResourceUtilizationForApp

func (_m *MockClient) ResourceUtilizationForApp(ctx context.Context, env string, team slug.Slug, app string, start scalar.Date, end scalar.Date) (*model.ResourceUtilizationForApp, error)

ResourceUtilizationForApp provides a mock function with given fields: ctx, env, team, app, start, end

func (*MockClient) ResourceUtilizationForTeam

func (_m *MockClient) ResourceUtilizationForTeam(ctx context.Context, team slug.Slug, start scalar.Date, end scalar.Date) ([]*model.ResourceUtilizationForEnv, error)

ResourceUtilizationForTeam provides a mock function with given fields: ctx, team, start, end

func (*MockClient) ResourceUtilizationOverageForTeam

func (_m *MockClient) ResourceUtilizationOverageForTeam(ctx context.Context, team slug.Slug) (*model.ResourceUtilizationOverageForTeam, error)

ResourceUtilizationOverageForTeam provides a mock function with given fields: ctx, team

func (*MockClient) ResourceUtilizationRangeForApp

func (_m *MockClient) ResourceUtilizationRangeForApp(ctx context.Context, env string, team slug.Slug, app string) (*model.ResourceUtilizationDateRange, error)

ResourceUtilizationRangeForApp provides a mock function with given fields: ctx, env, team, app

func (*MockClient) ResourceUtilizationRangeForTeam

func (_m *MockClient) ResourceUtilizationRangeForTeam(ctx context.Context, team slug.Slug) (*model.ResourceUtilizationDateRange, error)

ResourceUtilizationRangeForTeam provides a mock function with given fields: ctx, team

func (*MockClient) ResourceUtilizationTrendForTeam

func (_m *MockClient) ResourceUtilizationTrendForTeam(ctx context.Context, team slug.Slug) (*model.ResourceUtilizationTrend, error)

ResourceUtilizationTrendForTeam provides a mock function with given fields: ctx, team

type MockClient_CurrentResourceUtilizationForApp_Call

type MockClient_CurrentResourceUtilizationForApp_Call struct {
	*mock.Call
}

MockClient_CurrentResourceUtilizationForApp_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CurrentResourceUtilizationForApp'

func (*MockClient_CurrentResourceUtilizationForApp_Call) Return

func (*MockClient_CurrentResourceUtilizationForApp_Call) Run

type MockClient_CurrentResourceUtilizationForTeam_Call

type MockClient_CurrentResourceUtilizationForTeam_Call struct {
	*mock.Call
}

MockClient_CurrentResourceUtilizationForTeam_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CurrentResourceUtilizationForTeam'

func (*MockClient_CurrentResourceUtilizationForTeam_Call) Return

func (*MockClient_CurrentResourceUtilizationForTeam_Call) Run

type MockClient_Expecter

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

func (*MockClient_Expecter) CurrentResourceUtilizationForApp

func (_e *MockClient_Expecter) CurrentResourceUtilizationForApp(ctx interface{}, env interface{}, team interface{}, app interface{}) *MockClient_CurrentResourceUtilizationForApp_Call

CurrentResourceUtilizationForApp is a helper method to define mock.On call

  • ctx context.Context
  • env string
  • team slug.Slug
  • app string

func (*MockClient_Expecter) CurrentResourceUtilizationForTeam

func (_e *MockClient_Expecter) CurrentResourceUtilizationForTeam(ctx interface{}, team interface{}) *MockClient_CurrentResourceUtilizationForTeam_Call

CurrentResourceUtilizationForTeam is a helper method to define mock.On call

  • ctx context.Context
  • team slug.Slug

func (*MockClient_Expecter) ResourceUtilizationForApp

func (_e *MockClient_Expecter) ResourceUtilizationForApp(ctx interface{}, env interface{}, team interface{}, app interface{}, start interface{}, end interface{}) *MockClient_ResourceUtilizationForApp_Call

ResourceUtilizationForApp is a helper method to define mock.On call

  • ctx context.Context
  • env string
  • team slug.Slug
  • app string
  • start scalar.Date
  • end scalar.Date

func (*MockClient_Expecter) ResourceUtilizationForTeam

func (_e *MockClient_Expecter) ResourceUtilizationForTeam(ctx interface{}, team interface{}, start interface{}, end interface{}) *MockClient_ResourceUtilizationForTeam_Call

ResourceUtilizationForTeam is a helper method to define mock.On call

  • ctx context.Context
  • team slug.Slug
  • start scalar.Date
  • end scalar.Date

func (*MockClient_Expecter) ResourceUtilizationOverageForTeam

func (_e *MockClient_Expecter) ResourceUtilizationOverageForTeam(ctx interface{}, team interface{}) *MockClient_ResourceUtilizationOverageForTeam_Call

ResourceUtilizationOverageForTeam is a helper method to define mock.On call

  • ctx context.Context
  • team slug.Slug

func (*MockClient_Expecter) ResourceUtilizationRangeForApp

func (_e *MockClient_Expecter) ResourceUtilizationRangeForApp(ctx interface{}, env interface{}, team interface{}, app interface{}) *MockClient_ResourceUtilizationRangeForApp_Call

ResourceUtilizationRangeForApp is a helper method to define mock.On call

  • ctx context.Context
  • env string
  • team slug.Slug
  • app string

func (*MockClient_Expecter) ResourceUtilizationRangeForTeam

func (_e *MockClient_Expecter) ResourceUtilizationRangeForTeam(ctx interface{}, team interface{}) *MockClient_ResourceUtilizationRangeForTeam_Call

ResourceUtilizationRangeForTeam is a helper method to define mock.On call

  • ctx context.Context
  • team slug.Slug

func (*MockClient_Expecter) ResourceUtilizationTrendForTeam

func (_e *MockClient_Expecter) ResourceUtilizationTrendForTeam(ctx interface{}, team interface{}) *MockClient_ResourceUtilizationTrendForTeam_Call

ResourceUtilizationTrendForTeam is a helper method to define mock.On call

  • ctx context.Context
  • team slug.Slug

type MockClient_ResourceUtilizationForApp_Call

type MockClient_ResourceUtilizationForApp_Call struct {
	*mock.Call
}

MockClient_ResourceUtilizationForApp_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ResourceUtilizationForApp'

func (*MockClient_ResourceUtilizationForApp_Call) Return

func (*MockClient_ResourceUtilizationForApp_Call) Run

type MockClient_ResourceUtilizationForTeam_Call

type MockClient_ResourceUtilizationForTeam_Call struct {
	*mock.Call
}

MockClient_ResourceUtilizationForTeam_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ResourceUtilizationForTeam'

func (*MockClient_ResourceUtilizationForTeam_Call) Return

func (*MockClient_ResourceUtilizationForTeam_Call) Run

type MockClient_ResourceUtilizationOverageForTeam_Call

type MockClient_ResourceUtilizationOverageForTeam_Call struct {
	*mock.Call
}

MockClient_ResourceUtilizationOverageForTeam_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ResourceUtilizationOverageForTeam'

func (*MockClient_ResourceUtilizationOverageForTeam_Call) Run

type MockClient_ResourceUtilizationRangeForApp_Call

type MockClient_ResourceUtilizationRangeForApp_Call struct {
	*mock.Call
}

MockClient_ResourceUtilizationRangeForApp_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ResourceUtilizationRangeForApp'

func (*MockClient_ResourceUtilizationRangeForApp_Call) Return

func (*MockClient_ResourceUtilizationRangeForApp_Call) Run

type MockClient_ResourceUtilizationRangeForTeam_Call

type MockClient_ResourceUtilizationRangeForTeam_Call struct {
	*mock.Call
}

MockClient_ResourceUtilizationRangeForTeam_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ResourceUtilizationRangeForTeam'

func (*MockClient_ResourceUtilizationRangeForTeam_Call) Return

func (*MockClient_ResourceUtilizationRangeForTeam_Call) Run

type MockClient_ResourceUtilizationTrendForTeam_Call

type MockClient_ResourceUtilizationTrendForTeam_Call struct {
	*mock.Call
}

MockClient_ResourceUtilizationTrendForTeam_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ResourceUtilizationTrendForTeam'

func (*MockClient_ResourceUtilizationTrendForTeam_Call) Return

func (*MockClient_ResourceUtilizationTrendForTeam_Call) Run

type Updater

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

func NewUpdater

func NewUpdater(k8sClient *k8s.Client, promClients map[string]promv1.API, db database.Database, log logrus.FieldLogger) *Updater

NewUpdater creates a new resourceusage updater

func (*Updater) UpdateResourceUsage

func (u *Updater) UpdateResourceUsage(ctx context.Context) (rowsUpserted int, err error)

UpdateResourceUsage will update the resource usage from all added prometheus instances

Jump to

Keyboard shortcuts

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