Documentation
¶
Index ¶
- Constants
- Variables
- func NewProvider(cfg *ProviderConfig) (*provider, error)
- type Circuit
- type CircuitLatenciesWithHeader
- type CircuitSummary
- type Device
- type EpochRange
- type GetCircuitLatenciesConfig
- type GetSummaryForCircuitsConfig
- type Link
- type Location
- type Provider
- type ProviderConfig
- type Server
- type ServiceabilityClient
- type TelemetryClient
- type TimeRange
- type Unit
Constants ¶
View Source
const (
DefaultMaxPoints = 1000
)
Variables ¶
View Source
var (
ErrInvalidEnvironment = fmt.Errorf("invalid environment")
)
Functions ¶
func NewProvider ¶
func NewProvider(cfg *ProviderConfig) (*provider, error)
Types ¶
type CircuitLatenciesWithHeader ¶
type CircuitLatenciesWithHeader struct {
Header *telemetry.DeviceLatencySamplesHeader
Samples []datastats.CircuitLatencySample
}
type CircuitSummary ¶ added in v0.6.3
type CircuitSummary struct {
Circuit string `json:"circuit"`
LinkType string `json:"link_type"`
ContributorCode string `json:"contributor_code"`
stats.CircuitLatencyStat `json:",inline"`
CommittedRTT float64 `json:"committed_rtt"`
CommittedJitter float64 `json:"committed_jitter"`
// Committed RTT and jitter deltas calculated as: committed - measured
// Positive values mean the measured values are greater than the committed values.
CommittedRTTDelta float64 `json:"committed_rtt_delta"`
CommittedJitterDelta float64 `json:"committed_jitter_delta"`
// Committed RTT and jitter change ratios calcuated as: committed - measured / committed
// Positive values mean the measured values are greater than the committed values.
CommittedRTTChangeRatio float64 `json:"committed_rtt_change_ratio"`
CommittedJitterChangeRatio float64 `json:"committed_jitter_change_ratio"`
}
type EpochRange ¶
func (*EpochRange) String ¶
func (e *EpochRange) String() string
type GetSummaryForCircuitsConfig ¶ added in v0.6.3
type GetSummaryForCircuitsConfig struct {
Epochs *EpochRange
Time *TimeRange
Unit Unit
Circuits []string
}
type Link ¶
type Link struct {
PK solana.PublicKey `json:"pk"`
Code string `json:"code"`
LinkType string `json:"link_type"`
ContributorCode string `json:"contributor_code"`
// Committed RTT and jitter are in microseconds.
CommittedRTT float64 `json:"committed_rtt"`
CommittedJitter float64 `json:"committed_jitter"`
}
type Provider ¶
type Provider interface {
GetCircuits(ctx context.Context) ([]Circuit, error)
GetCircuitLatencies(ctx context.Context, cfg GetCircuitLatenciesConfig) ([]stats.CircuitLatencyStat, error)
GetSummaryForCircuits(ctx context.Context, cfg GetSummaryForCircuitsConfig) ([]CircuitSummary, error)
}
type ProviderConfig ¶
type ProviderConfig struct {
Logger *slog.Logger
ServiceabilityClient ServiceabilityClient
TelemetryClient TelemetryClient
EpochFinder epoch.Finder
CircuitsCacheTTL time.Duration
HistoricEpochLatenciesCacheTTL time.Duration
CurrentEpochLatenciesCacheTTL time.Duration
GetCircuitLatenciesPoolSize int
}
func (*ProviderConfig) Validate ¶
func (c *ProviderConfig) Validate() error
type ServiceabilityClient ¶
type ServiceabilityClient interface {
GetProgramData(ctx context.Context) (*serviceability.ProgramData, error)
}
type TelemetryClient ¶
Click to show internal directories.
Click to hide internal directories.