collector

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

collector/collector.go

Index

Constants

View Source
const (
	MetricNamespace = "ton_liteserver"
	MetricSubsystem = "exporter"
)

Variables

View Source
var Metrics = []MetricDef{

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
}

Functions

This section is empty.

Types

type LiteServerMetrics

type LiteServerMetrics struct {
	// TON Network Status Metrics
	NetworkName         string  `json:"network_name"`
	OnlineValidators    float64 `json:"online_validators"`
	AllValidators       float64 `json:"all_validators"`
	NumberOfShardchains float64 `json:"number_of_shardchains"`
	NewOffers           float64 `json:"new_offers"`
	AllOffers           float64 `json:"all_offers"`
	NewComplaints       float64 `json:"new_complaints"`
	AllComplaints       float64 `json:"all_complaints"`
	ElectionStatus      string  `json:"election_status"`

	// Local Validator Status Metrics
	ValidatorIndex                             float64 `json:"validator_index"`
	AdnlAddress                                string  `json:"adnl_address"`
	WalletAddress                              string  `json:"wallet_address"`
	WalletBalance                              float64 `json:"wallet_balance"`
	MytoncoreStatus                            string  `json:"mytoncore_status"`
	MytoncoreUptimeSeconds                     float64 `json:"mytoncore_uptime_seconds"`
	LocalValidatorStatus                       string  `json:"local_validator_status"`
	LocalValidatorUptimeSeconds                float64 `json:"local_validator_uptime_seconds"`
	LocalValidatorOutOfSyncSeconds             float64 `json:"local_validator_out_of_sync_seconds"`
	LocalValidatorLastStateSerializationBlocks float64 `json:"local_validator_last_state_serialization_blocks"`
	LocalValidatorDatabaseSizeGB               float64 `json:"local_validator_database_size_gb"`
	VersionMytonctrl                           string  `json:"version_mytonctrl"`
	VersionValidator                           string  `json:"version_validator"`

	// TON Network Configuration Metrics
	ConfiguratorAddress        string  `json:"configurator_address"`
	ElectorAddress             string  `json:"elector_address"`
	ValidationPeriodSeconds    float64 `json:"validation_period_seconds"`
	DurationOfElectionsSeconds float64 `json:"duration_of_elections_seconds"`
	HoldPeriodSeconds          float64 `json:"hold_period_seconds"`
	MinimumStakeTONs           float64 `json:"minimum_stake_tons"`
	MaximumStakeTONs           float64 `json:"maximum_stake_tons"`

	// TON Timestamps Metrics
	NetworkLaunchedTimestamp      float64 `json:"network_launched_timestamp"`
	StartValidationCycleTimestamp float64 `json:"start_validation_cycle_timestamp"`
	EndValidationCycleTimestamp   float64 `json:"end_validation_cycle_timestamp"`
	StartElectionsTimestamp       float64 `json:"start_elections_timestamp"`
	EndElectionsTimestamp         float64 `json:"end_elections_timestamp"`
	BeginNextElectionsTimestamp   float64 `json:"begin_next_elections_timestamp"`
}

LiteServerMetrics holds the parsed metrics from MyTonCtrl output.

type MetricDef

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

type MytonCollector

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

func NewMytonCollector

func NewMytonCollector(parser *Parser) *MytonCollector

func (*MytonCollector) Collect

func (collector *MytonCollector) Collect(ch chan<- prometheus.Metric)

func (*MytonCollector) Describe

func (collector *MytonCollector) Describe(ch chan<- *prometheus.Desc)

type Parser

type Parser struct{}

Parser encapsulates the parsing logic for MyTonCtrl status output.

func NewParser

func NewParser() *Parser

NewParser initializes and returns a new Parser instance.

func (*Parser) Parse

func (p *Parser) Parse() (*LiteServerMetrics, error)

Parse executes the 'mytonctrl status' command and parses its output into LightServerMetrics.

func (*Parser) ParseOutput

func (p *Parser) ParseOutput(output string) (LiteServerMetrics, error)

ParseOutput parses the output from 'mytonctrl status' command.

Jump to

Keyboard shortcuts

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