healthcheck

package
v2.31.9 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2026 License: AGPL-3.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DatabaseDefaultThreshold = 15 * time.Millisecond
)

Variables

This section is empty.

Functions

Types

type AGPLWorkspaceProxiesFetchUpdater added in v2.5.0

type AGPLWorkspaceProxiesFetchUpdater struct{}

AGPLWorkspaceProxiesFetchUpdater implements WorkspaceProxiesFetchUpdater to the extent required by AGPL code. Which isn't that much.

func (*AGPLWorkspaceProxiesFetchUpdater) Fetch added in v2.5.0

func (*AGPLWorkspaceProxiesFetchUpdater) Update added in v2.5.0

type AccessURLReport

type AccessURLReport healthsdk.AccessURLReport

func (*AccessURLReport) Run

type AccessURLReportOptions

type AccessURLReportOptions struct {
	AccessURL *url.URL
	Client    *http.Client

	Dismissed bool
}

type DatabaseReport

type DatabaseReport healthsdk.DatabaseReport

func (*DatabaseReport) Run

type DatabaseReportOptions

type DatabaseReportOptions struct {
	DB        database.Store
	Threshold time.Duration

	Dismissed bool
}

type Progress added in v2.30.0

type Progress struct {
	Clock quartz.Clock
	// contains filtered or unexported fields
}

Progress tracks the progress of healthcheck components for timeout diagnostics. It records which checks have started and completed, along with their durations, to provide useful information when a healthcheck times out. The zero value is usable.

func (*Progress) Complete added in v2.30.0

func (p *Progress) Complete(name string)

Complete records that a check has finished.

func (*Progress) Reset added in v2.30.0

func (p *Progress) Reset()

Reset clears all recorded check statuses.

func (*Progress) Start added in v2.30.0

func (p *Progress) Start(name string)

Start records that a check has started.

func (*Progress) Summary added in v2.30.0

func (p *Progress) Summary() string

Summary returns a human-readable summary of check progress. Example: "Completed: AccessURL (95ms), Database (120ms). Still running: DERP, Websocket"

type ProvisionerDaemonsReport added in v2.7.0

type ProvisionerDaemonsReport healthsdk.ProvisionerDaemonsReport

func (*ProvisionerDaemonsReport) Run added in v2.7.0

type ProvisionerDaemonsReportDeps added in v2.7.0

type ProvisionerDaemonsReportDeps struct {
	// Required
	CurrentVersion         string
	CurrentAPIMajorVersion int
	Store                  ProvisionerDaemonsStore

	// Optional
	TimeNow       func() time.Time // Defaults to dbtime.Now
	StaleInterval time.Duration    // Defaults to 3 heartbeats

	Dismissed bool
}

type ProvisionerDaemonsStore added in v2.7.0

type ProvisionerDaemonsStore interface {
	GetProvisionerDaemons(ctx context.Context) ([]database.ProvisionerDaemon, error)
}

type ReportOptions

type ReportOptions struct {
	AccessURL          AccessURLReportOptions
	Database           DatabaseReportOptions
	DerpHealth         derphealth.ReportOptions
	Websocket          WebsocketReportOptions
	WorkspaceProxy     WorkspaceProxyReportOptions
	ProvisionerDaemons ProvisionerDaemonsReportDeps

	Checker Checker

	// Progress tracks healthcheck progress for timeout diagnostics.
	// If set, each check will record its start and completion time.
	Progress *Progress
}

type WebsocketEchoServer

type WebsocketEchoServer struct {
	Error error
	Code  int
}

func (*WebsocketEchoServer) ServeHTTP

func (s *WebsocketEchoServer) ServeHTTP(rw http.ResponseWriter, r *http.Request)

type WebsocketReport

type WebsocketReport healthsdk.WebsocketReport

func (*WebsocketReport) Run

type WebsocketReportOptions

type WebsocketReportOptions struct {
	APIKey     string
	AccessURL  *url.URL
	HTTPClient *http.Client

	Dismissed bool
}

type WorkspaceProxiesFetchUpdater added in v2.5.0

type WorkspaceProxiesFetchUpdater interface {
	Fetch(context.Context) (codersdk.RegionsResponse[codersdk.WorkspaceProxy], error)
	Update(context.Context) error
}

type WorkspaceProxyReport added in v2.5.0

type WorkspaceProxyReport healthsdk.WorkspaceProxyReport

func (*WorkspaceProxyReport) Run added in v2.5.0

type WorkspaceProxyReportOptions added in v2.5.0

type WorkspaceProxyReportOptions struct {
	WorkspaceProxiesFetchUpdater WorkspaceProxiesFetchUpdater
	Dismissed                    bool
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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