observations

package
v0.0.0-...-a52a6fd Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2020 License: Apache-2.0, MIT, Apache-2.0, + 1 more Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultEnableStats        = false
	DefaultPrometheusEndpoint = "/ip4/127.0.0.1/tcp/8888"
	DefaultReportingInterval  = 2 * time.Second

	DefaultEnableTracing       = false
	DefaultJaegerAgentEndpoint = "/ip4/0.0.0.0/udp/6831"
	DefaultSamplingProb        = 0.3
	DefaultServiceName         = "cluster-daemon"
)

Default values for this Config.

Variables

View Source
var (
	HostKey       = makeKey("host")
	RemotePeerKey = makeKey("remote_peer")
)

keys

View Source
var (
	// Pins counts the number of pins ipfs-cluster is tracking.
	Pins = stats.Int64("cluster/pin_count", "Number of pins", stats.UnitDimensionless)
	// TrackerPins counts the number of pins the local peer is tracking.
	TrackerPins = stats.Int64("pintracker/pin_count", "Number of pins", stats.UnitDimensionless)
	// Peers counts the number of ipfs-cluster peers are currently in the cluster.
	Peers = stats.Int64("cluster/peers", "Number of cluster peers", stats.UnitDimensionless)
	// Alerts is the number of alerts that have been sent due to peers not sending "ping" heartbeats in time.
	Alerts = stats.Int64("cluster/alerts", "Number of alerts triggered", stats.UnitDimensionless)
)

metrics

View Source
var (
	PinsView = &view.View{
		Measure:     Pins,
		TagKeys:     []tag.Key{HostKey},
		Aggregation: view.LastValue(),
	}

	TrackerPinsView = &view.View{
		Measure:     TrackerPins,
		TagKeys:     []tag.Key{HostKey},
		Aggregation: view.LastValue(),
	}

	PeersView = &view.View{
		Measure:     Peers,
		TagKeys:     []tag.Key{HostKey},
		Aggregation: view.LastValue(),
	}

	AlertsView = &view.View{
		Measure:     Alerts,
		TagKeys:     []tag.Key{HostKey, RemotePeerKey},
		Aggregation: messageCountDistribution,
	}

	DefaultViews = []*view.View{
		PinsView,
		TrackerPinsView,
		PeersView,
		AlertsView,
	}
)

views, which is just the aggregation of the metrics

View Source
var (
	ClientIPAttribute = "http.client.ip"
)

attributes

Functions

func SetupMetrics

func SetupMetrics(cfg *MetricsConfig) error

SetupMetrics configures and starts stats tooling, if enabled.

Types

type JaegerTracer

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

JaegerTracer implements ipfscluster.Tracer.

func SetupTracing

func SetupTracing(cfg *TracingConfig) (*JaegerTracer, error)

SetupTracing configures and starts tracing tooling, if enabled.

func (*JaegerTracer) SetClient

func (t *JaegerTracer) SetClient(*rpc.Client)

SetClient no-op.

func (*JaegerTracer) Shutdown

func (t *JaegerTracer) Shutdown(context.Context) error

Shutdown the tracer and flush any remaining traces.

type MetricsConfig

type MetricsConfig struct {
	config.Saver

	EnableStats        bool
	PrometheusEndpoint ma.Multiaddr
	ReportingInterval  time.Duration
}

MetricsConfig configures metrics collection.

func (*MetricsConfig) ApplyEnvVars

func (cfg *MetricsConfig) ApplyEnvVars() error

ApplyEnvVars fills in any Config fields found as environment variables.

func (*MetricsConfig) ConfigKey

func (cfg *MetricsConfig) ConfigKey() string

ConfigKey provides a human-friendly identifier for this type of Config.

func (*MetricsConfig) Default

func (cfg *MetricsConfig) Default() error

Default sets the fields of this Config to sensible values.

func (*MetricsConfig) LoadJSON

func (cfg *MetricsConfig) LoadJSON(raw []byte) error

LoadJSON sets the fields of this Config to the values defined by the JSON representation of it, as generated by ToJSON.

func (*MetricsConfig) ToDisplayJSON

func (cfg *MetricsConfig) ToDisplayJSON() ([]byte, error)

ToDisplayJSON returns JSON config as a string.

func (*MetricsConfig) ToJSON

func (cfg *MetricsConfig) ToJSON() ([]byte, error)

ToJSON generates a human-friendly JSON representation of this Config.

func (*MetricsConfig) Validate

func (cfg *MetricsConfig) Validate() error

Validate checks that the fields of this Config have working values, at least in appearance.

type TracingConfig

type TracingConfig struct {
	config.Saver

	EnableTracing       bool
	JaegerAgentEndpoint ma.Multiaddr
	SamplingProb        float64
	ServiceName         string
	ClusterID           string
	ClusterPeername     string
}

TracingConfig configures tracing.

func (*TracingConfig) ApplyEnvVars

func (cfg *TracingConfig) ApplyEnvVars() error

ApplyEnvVars fills in any Config fields found as environment variables.

func (*TracingConfig) ConfigKey

func (cfg *TracingConfig) ConfigKey() string

ConfigKey provides a human-friendly identifier for this type of Config.

func (*TracingConfig) Default

func (cfg *TracingConfig) Default() error

Default sets the fields of this Config to sensible values.

func (*TracingConfig) LoadJSON

func (cfg *TracingConfig) LoadJSON(raw []byte) error

LoadJSON sets the fields of this Config to the values defined by the JSON representation of it, as generated by ToJSON.

func (*TracingConfig) ToDisplayJSON

func (cfg *TracingConfig) ToDisplayJSON() ([]byte, error)

ToDisplayJSON returns JSON config as a string.

func (*TracingConfig) ToJSON

func (cfg *TracingConfig) ToJSON() ([]byte, error)

ToJSON generates a human-friendly JSON representation of this Config.

func (*TracingConfig) Validate

func (cfg *TracingConfig) Validate() error

Validate checks that the fields of this Config have working values, at least in appearance.

Jump to

Keyboard shortcuts

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