metricscache

package
v2.9.4 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: AGPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func OnlyDate added in v2.8.0

func OnlyDate(t time.Time) string

Types

type Cache

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

Cache holds the template metrics. The aggregation queries responsible for these values can take up to a minute on large deployments. Even in small deployments, aggregation queries can take a few hundred milliseconds, which would ruin page load times and database performance if in the hot path.

func New

func New(db database.Store, log slog.Logger, intervals Intervals) *Cache

func (*Cache) Close

func (c *Cache) Close() error

func (*Cache) DeploymentDAUs

func (c *Cache) DeploymentDAUs(offset int) (int, *codersdk.DAUsResponse, bool)

func (*Cache) DeploymentStats

func (c *Cache) DeploymentStats() (codersdk.DeploymentStats, bool)

func (*Cache) TemplateBuildTimeStats

func (c *Cache) TemplateBuildTimeStats(id uuid.UUID) codersdk.TemplateBuildTimeStats

func (*Cache) TemplateDAUs

func (c *Cache) TemplateDAUs(id uuid.UUID, offset int) (int, *codersdk.DAUsResponse, bool)

TemplateDAUs returns an empty response if the template doesn't have users or is loading for the first time. The cache will select the closest DAUs response to given timezone offset.

func (*Cache) TemplateUniqueUsers

func (c *Cache) TemplateUniqueUsers(id uuid.UUID) (int, bool)

TemplateUniqueUsers returns the number of unique Template users from all Cache data.

func (*Cache) TemplateWorkspaceOwners added in v2.5.0

func (c *Cache) TemplateWorkspaceOwners(id uuid.UUID) (int, bool)

type Intervals

type Intervals struct {
	TemplateDAUs    time.Duration
	DeploymentStats time.Duration
}

Jump to

Keyboard shortcuts

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