numpin

package
v0.0.0-...-dc45894 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2022 License: Apache-2.0, MIT, Apache-2.0, + 1 more Imports: 11 Imported by: 0

Documentation

Overview

Package numpin implements an ipfs-cluster informer which determines how many items this peer is pinning and returns it as api.Metric

Index

Constants

View Source
const (
	DefaultMetricTTL = 10 * time.Second
)

These are the default values for a Config.

Variables

View Source
var MetricName = "numpin"

MetricName specifies the name of our metric

Functions

This section is empty.

Types

type Config

type Config struct {
	config.Saver

	MetricTTL time.Duration
}

Config allows to initialize an Informer.

func (*Config) ApplyEnvVars

func (cfg *Config) ApplyEnvVars() error

ApplyEnvVars fills in any Config fields found as environment variables.

func (*Config) ConfigKey

func (cfg *Config) ConfigKey() string

ConfigKey returns a human-friendly identifier for this Config's type.

func (*Config) Default

func (cfg *Config) Default() error

Default initializes this Config with sensible values.

func (*Config) LoadJSON

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

LoadJSON parses a raw JSON byte-slice as generated by ToJSON().

func (*Config) ToDisplayJSON

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

ToDisplayJSON returns JSON config as a string.

func (*Config) ToJSON

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

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

func (*Config) Validate

func (cfg *Config) Validate() error

Validate checks that the fields of this configuration have sensible values.

type Informer

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

Informer is a simple object to implement the ipfscluster.Informer and Component interfaces

func NewInformer

func NewInformer(cfg *Config) (*Informer, error)

NewInformer returns an initialized Informer.

func (*Informer) GetMetrics

func (npi *Informer) GetMetrics(ctx context.Context) []api.Metric

GetMetrics contacts the IPFSConnector component and requests the `pin ls` command. We return the number of pins in IPFS. It must always return at least one metric.

func (*Informer) Name

func (npi *Informer) Name() string

Name returns the name of this informer

func (*Informer) SetClient

func (npi *Informer) SetClient(c *rpc.Client)

SetClient provides us with an rpc.Client which allows contacting other components in the cluster.

func (*Informer) Shutdown

func (npi *Informer) Shutdown(ctx context.Context) error

Shutdown is called on cluster shutdown. We just invalidate any metrics from this point.

Jump to

Keyboard shortcuts

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