Documentation
¶
Index ¶
Constants ¶
View Source
const ( // Metrics names. MetricNameErrors = "doublezero_monitor_device_telemetry_errors_total" MetricNameSamples = "doublezero_monitor_device_telemetry_samples_total" MetricNameSuccesses = "doublezero_monitor_device_telemetry_successes_total" MetricNameLosses = "doublezero_monitor_device_telemetry_losses_total" // Labels. MetricLabelErrorType = "error_type" MetricLabelCircuit = "circuit" // Error types. MetricErrorTypeGetCircuits = "get_circuits" MetricErrorTypeGetEpochInfo = "get_epoch_info" MetricErrorTypeGetLatencySamples = "get_latency_samples" )
Variables ¶
View Source
var ( MetricErrors = promauto.NewCounterVec( prometheus.CounterOpts{ Name: MetricNameErrors, Help: "Number of errors encountered", }, []string{MetricLabelErrorType}, ) MetricSamples = promauto.NewCounterVec( prometheus.CounterOpts{ Name: MetricNameSamples, Help: "Number of samples", }, []string{MetricLabelCircuit}, ) MetricSuccesses = promauto.NewCounterVec( prometheus.CounterOpts{ Name: MetricNameSuccesses, Help: "Number of successes", }, []string{MetricLabelCircuit}, ) MetricLosses = promauto.NewCounterVec( prometheus.CounterOpts{ Name: MetricNameLosses, Help: "Number of losses", }, []string{MetricLabelCircuit}, ) )
Functions ¶
This section is empty.
Types ¶
type CircuitTelemetryStats ¶
type Config ¶
type Config struct {
Logger *slog.Logger
LedgerRPCClient LedgerRPCClient
Serviceability ServiceabilityClient
Telemetry TelemetryProgramClient
Interval time.Duration
MaxConcurrency int
}
type DeviceTelemetryWatcher ¶
type DeviceTelemetryWatcher struct {
// contains filtered or unexported fields
}
func NewDeviceTelemetryWatcher ¶
func NewDeviceTelemetryWatcher(cfg *Config) (*DeviceTelemetryWatcher, error)
func (*DeviceTelemetryWatcher) Name ¶
func (w *DeviceTelemetryWatcher) Name() string
type LedgerRPCClient ¶
type LedgerRPCClient interface {
GetEpochInfo(ctx context.Context, commitment solanarpc.CommitmentType) (*solanarpc.GetEpochInfoResult, error)
}
type ServiceabilityClient ¶
type ServiceabilityClient interface {
GetProgramData(context.Context) (*serviceability.ProgramData, error)
}
type TelemetryProgramClient ¶
Click to show internal directories.
Click to hide internal directories.