Version: v0.10.4 Latest Latest

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

Go to latest
Published: Feb 19, 2020 License: MPL-2.0 Imports: 11 Imported by: 0




View Source
const (
	// AllocHealthEventSource is the source used for emitting task events
	AllocHealthEventSource = "Alloc Unhealthy"


This section is empty.


This section is empty.


type Tracker

type Tracker struct {
	// contains filtered or unexported fields

Tracker tracks the health of an allocation and makes health events watchable via channels.

func NewTracker

func NewTracker(parentCtx context.Context, logger hclog.Logger, alloc *structs.Allocation,
	allocUpdates *cstructs.AllocListener, consulClient cconsul.ConsulServiceAPI,
	minHealthyTime time.Duration, useChecks bool) *Tracker

NewTracker returns a health tracker for the given allocation. An alloc listener and consul API object are given so that the watcher can detect health changes.

func (*Tracker) AllocStoppedCh

func (t *Tracker) AllocStoppedCh() <-chan struct{}

AllocStoppedCh returns a channel that will be fired if the allocation is stopped. This means that health will not be set.

func (*Tracker) HealthyCh

func (t *Tracker) HealthyCh() <-chan bool

HealthyCh returns a channel that will emit a boolean indicating the health of the allocation.

func (*Tracker) Start

func (t *Tracker) Start()

Start starts the watcher.

func (*Tracker) TaskEvents

func (t *Tracker) TaskEvents() map[string]*structs.TaskEvent

TaskEvents returns a map of events by task. This should only be called after health has been determined. Only tasks that have contributed to the allocation being unhealthy will have an event.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL