Documentation ¶
Overview ¶
* Copyright 2020-2024 Open Networking Foundation (ONF) and the ONF Contributors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
* Copyright 2019-2024 Open Networking Foundation (ONF) and the ONF Contributors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
Index ¶
- Constants
- func UpdateStatusFromContext(ctx context.Context, name string, status ServiceStatus)
- type Probe
- func (p *Probe) GetStatus(name string) ServiceStatus
- func (p *Probe) IsReady() bool
- func (p *Probe) ListenAndServe(ctx context.Context, address string)
- func (p *Probe) RegisterService(ctx context.Context, names ...string)
- func (p *Probe) UpdateStatus(ctx context.Context, name string, status ServiceStatus)
- func (p *Probe) WithHealthFunc(healthFunc func(map[string]ServiceStatus) bool) *Probe
- func (p *Probe) WithReadyFunc(readyFunc func(map[string]ServiceStatus) bool) *Probe
- type ProbeContextKeyType
- type ServiceStatus
- type ServiceStatusUpdate
Constants ¶
const ( // ProbeContextKey value of context key to fetch probe ProbeContextKey = ProbeContextKeyType("status-update-probe") )
Variables ¶
This section is empty.
Functions ¶
func UpdateStatusFromContext ¶
func UpdateStatusFromContext(ctx context.Context, name string, status ServiceStatus)
UpdateStatusFromContext a convenience function to pull the Probe reference from the Context, if it exists, and then calling UpdateStatus on that Probe reference. If Context is nil or if a Probe reference is not associated with the ProbeContextKey then nothing happens
Types ¶
type Probe ¶
type Probe struct {
// contains filtered or unexported fields
}
Probe reciever on which to implement probe capabilities
func GetProbeFromContext ¶
func (*Probe) GetStatus ¶
func (p *Probe) GetStatus(name string) ServiceStatus
func (*Probe) ListenAndServe ¶
ListenAndServe implements 3 HTTP endpoints on the given port for healthz, readz, and detailz. Returns only on error
func (*Probe) RegisterService ¶
RegisterService register one or more service names with the probe, status will be track against service name
func (*Probe) UpdateStatus ¶
func (p *Probe) UpdateStatus(ctx context.Context, name string, status ServiceStatus)
UpdateStatus utility function to send a service update to the probe
func (*Probe) WithHealthFunc ¶
func (p *Probe) WithHealthFunc(healthFunc func(map[string]ServiceStatus) bool) *Probe
WithHealthFunc override the default health calculation function
func (*Probe) WithReadyFunc ¶
func (p *Probe) WithReadyFunc(readyFunc func(map[string]ServiceStatus) bool) *Probe
WithReadyFunc override the default ready calculation function
type ProbeContextKeyType ¶
type ProbeContextKeyType string
ProbeContextKey used to fetch the Probe instance from a context
type ServiceStatus ¶
type ServiceStatus int
ServiceStatus typed values for service status
const ( // ServiceStatusUnknown initial state of services ServiceStatusUnknown ServiceStatus = iota // ServiceStatusPreparing to optionally be used for prep, such as connecting ServiceStatusPreparing // ServiceStatusPrepared to optionally be used when prep is complete, but before run ServiceStatusPrepared // ServiceStatusRunning service is functional ServiceStatusRunning // ServiceStatusStopped service has stopped, but not because of error ServiceStatusStopped // ServiceStatusFailed service has stopped because of an error ServiceStatusFailed // ServiceStatusNotReady service has started but is unable to accept requests ServiceStatusNotReady )
func (ServiceStatus) String ¶
func (s ServiceStatus) String() string
String convert ServiceStatus values to strings
type ServiceStatusUpdate ¶
type ServiceStatusUpdate struct { Name string Status ServiceStatus }
ServiceStatusUpdate status update event