Skip to content

Commit

Permalink
Updated validator metrics to mysticeti
Browse files Browse the repository at this point in the history
  • Loading branch information
bartosian committed Oct 16, 2024
1 parent cda1e1e commit f501836
Show file tree
Hide file tree
Showing 12 changed files with 222 additions and 253 deletions.
6 changes: 0 additions & 6 deletions internal/core/controllers/monitor/createhosts.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ func (c *Controller) createHosts(table enums.TableType, addresses []host.Address

var wg sync.WaitGroup

// Helper function to send error responses
sendErrorResponse := func(result responseWithError, err error) {
result.err = err
respChan <- result
Expand Down Expand Up @@ -68,15 +67,13 @@ func (c *Controller) createHosts(table enums.TableType, addresses []host.Address
createdHost := host.NewHost(table, addressInfo, rpcGateway, geoGateway, prometheusGateway, c.gateways.cli)
result.response = createdHost

// If IP lookup token exists, set IP info
if c.selectedConfig.IPLookup.AccessToken != "" {
if createErr := createdHost.SetIPInfo(); createErr != nil {
sendErrorResponse(result, createErr)
return
}
}

// Fetch metrics
if getMetricsErr := createdHost.GetMetrics(); getMetricsErr != nil {
sendErrorResponse(result, err)
return
Expand All @@ -86,13 +83,11 @@ func (c *Controller) createHosts(table enums.TableType, addresses []host.Address
}(addressInfo)
}

// Close the response channel once all goroutines finish
go func() {
wg.Wait()
close(respChan)
}()

// Collect results and errors
var mErr *multierror.Error

for result := range respChan {
Expand All @@ -103,7 +98,6 @@ func (c *Controller) createHosts(table enums.TableType, addresses []host.Address
}
}

// Return errors if no hosts are created
if len(hosts) == 0 {
return nil, mErr.ErrorOrNil()
}
Expand Down
47 changes: 27 additions & 20 deletions internal/core/domain/enums/columnname.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ const (
ColumnNameTotalTransactionEffects ColumnName = "TOTAL TX\nEFFECTS"
ColumnNameTXSyncPercentage ColumnName = "TX SYNC PCT"
ColumnNameSkippedConsensusTransactions ColumnName = "SKIPPED\nCONSENSUS TX"
ColumnNameCertificatesCreated ColumnName = "CERTIFICATES\nCREATED"
ColumnNameTotalTransactionCertificatesCreated ColumnName = "TOTAL TX CERTIFICATES\nCREATED"
ColumnNameHandleCertificateNonConsensusLatencySum ColumnName = "CERTIFICATE\nNON CONSENSUS LATENCY"
ColumnNameTotalSignatureErrors ColumnName = "SIGNATURE\nERRORS"
ColumnNameTransactionsPerSecond ColumnName = "TRANSACTIONS PER SECOND"
Expand All @@ -42,10 +42,10 @@ const (

// Rounds section.
const (
ColumnNameCurrentRound ColumnName = "CURRENT\nROUND"
ColumnNameHighestProcessedRound ColumnName = "HIGHEST\nPROCESSED ROUND"
ColumnNameLastCommittedRound ColumnName = "LAST COMMITTED\nROUND"
ColumnNameRoundsPerSecond ColumnName = "ROUNDS PER SECOND"
ColumnNameHighestAcceptedRound ColumnName = "HIGHEST\nACCEPTED ROUND"
ColumnNameLastCommittedLeaderRound ColumnName = "LAST COMMITTED\nLEADER ROUND"
ColumnNameConsensusRoundProberCurrentRoundGaps ColumnName = "CONSENSUS CURRENT\nROUND GAPS"
ColumnNameRoundsPerSecond ColumnName = "ROUNDS PER SECOND"
)

// Peers section.
Expand All @@ -57,21 +57,23 @@ const (

// Validator section.
const (
ColumnNameValidatorName ColumnName = "NAME"
ColumnNameValidatorNetAddress ColumnName = "NET ADDRESS"
ColumnNameValidatorVotingPower ColumnName = "VOTING\nPOWER"
ColumnNameValidatorGasPrice ColumnName = "GAS\nPRICE"
ColumnNameValidatorCommissionRate ColumnName = "COMMISSION\nRATE"
ColumnNameValidatorNextEpochStake ColumnName = "NEXT EPOCH\nSTAKE, SUI"
ColumnNameValidatorNextEpochGasPrice ColumnName = "NEXT EPOCH\nGAS PRICE"
ColumnNameValidatorNextEpochCommissionRate ColumnName = "NEXT EPOCH\nCOMMISSION RATE"
ColumnNameValidatorStakingPoolSuiBalance ColumnName = "STAKING POOL SUI\nBALANCE, SUI"
ColumnNameValidatorRewardsPool ColumnName = "REWARDS POOL, SUI"
ColumnNameValidatorPoolTokenBalance ColumnName = "POOL TOKEN\nBALANCE, SUI"
ColumnNameValidatorPendingStake ColumnName = "PENDING STAKE, SUI"
ColumnNameValidatorPendingTotalSuiWithdraw ColumnName = "PENDING TOTAL\nSUI WITHDRAW"
ColumnNameValidatorPendingPoolTokenWithdraw ColumnName = "PENDING POOL\nTOKEN WITHDRAW"
ColumnNameValidatorApy ColumnName = "APY, %"
ColumnNameValidatorName ColumnName = "NAME"
ColumnNameValidatorNetAddress ColumnName = "NET ADDRESS"
ColumnNameValidatorVotingPower ColumnName = "VOTING\nPOWER"
ColumnNameValidatorGasPrice ColumnName = "GAS\nPRICE"
ColumnNameValidatorCommissionRate ColumnName = "COMMISSION\nRATE"
ColumnNameValidatorNextEpochStake ColumnName = "NEXT EPOCH\nSTAKE, SUI"
ColumnNameValidatorNextEpochGasPrice ColumnName = "NEXT EPOCH\nGAS PRICE"
ColumnNameValidatorNextEpochCommissionRate ColumnName = "NEXT EPOCH\nCOMMISSION RATE"
ColumnNameValidatorStakingPoolSuiBalance ColumnName = "STAKING POOL SUI\nBALANCE, SUI"
ColumnNameValidatorRewardsPool ColumnName = "REWARDS POOL, SUI"
ColumnNameValidatorPoolTokenBalance ColumnName = "POOL TOKEN\nBALANCE, SUI"
ColumnNameValidatorPendingStake ColumnName = "PENDING STAKE, SUI"
ColumnNameValidatorPendingTotalSuiWithdraw ColumnName = "PENDING TOTAL\nSUI WITHDRAW"
ColumnNameValidatorPendingPoolTokenWithdraw ColumnName = "PENDING POOL\nTOKEN WITHDRAW"
ColumnNameValidatorApy ColumnName = "APY, %"
ColumnNameValidatorCurrentVotingRight ColumnName = "CURRENT VOTING\nRIGHT, %"
ColumnNameValidatorTotalTransactionCertificates ColumnName = "TOTAL TRANSACTION\nCERTIFICATES"
)

// Epoch section.
Expand Down Expand Up @@ -199,6 +201,11 @@ const (
ColumnNameURL ColumnName = "RELEASE URL"
)

// Object section.
const (
ColumnNameNumberSharedObjectTransactions ColumnName = "NUMBER OF\nSHARED OBJ TX"
)

func (e ColumnName) ToString() string {
return string(e)
}
66 changes: 34 additions & 32 deletions internal/core/domain/enums/metrictype.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,40 @@ package enums
type MetricType string

const (
MetricTypeSuiSystemState MetricType = "SYSTEM_STATE"
MetricTypeValidatorsApy MetricType = "VALIDATORS_APY"
MetricTypeTotalTransactionBlocks MetricType = "TOTAL_TRANSACTION_BLOCKS"
MetricTypeTotalTransactionCertificates MetricType = "TOTAL_TRANSACTION_CERTIFICATES"
MetricTypeTotalTransactionEffects MetricType = "TOTAL_TRANSACTION_EFFECTS"
MetricTypeTransactionsPerSecond MetricType = "TRANSACTIONS_PER_SECOND"
MetricTypeLatestCheckpoint MetricType = "LATEST_CHECKPOINT"
MetricTypeHighestKnownCheckpoint MetricType = "HIGHEST_KNOWN_CHECKPOINT"
MetricTypeHighestSyncedCheckpoint MetricType = "HIGHEST_SYNCED_CHECKPOINT"
MetricTypeLastExecutedCheckpoint MetricType = "LAST_EXECUTED_CHECKPOINT"
MetricTypeCheckpointExecBacklog MetricType = "CHECKPOINT_EXECUTION_BACKLOG"
MetricTypeCheckpointSyncBacklog MetricType = "CHECKPOINT_SYNC_BACKLOG"
MetricTypeCheckpointsPerSecond MetricType = "CHECKPOINTS_PER_SECOND"
MetricTypeCurrentEpoch MetricType = "CURRENT_EPOCH"
MetricTypeEpochTotalDuration MetricType = "EPOCH_TOTAL_DURATION"
MetricTypeTimeTillNextEpoch MetricType = "TIME_TILL_NEXT_EPOCH"
MetricTypeTxSyncPercentage MetricType = "TX_SYNC_PERCENTAGE"
MetricTypeCheckSyncPercentage MetricType = "CHECK_SYNC_PERCENTAGE"
MetricTypeSuiNetworkPeers MetricType = "SUI_NETWORK_PEERS"
MetricTypeUptime MetricType = "UPTIME"
MetricTypeVersion MetricType = "VERSION"
MetricTypeCommit MetricType = "COMMIT"
MetricTypeCurrentRound MetricType = "CURRENT_ROUND"
MetricTypeHighestProcessedRound MetricType = "HIGHEST_PROCESSED_ROUND"
MetricTypeLastCommittedRound MetricType = "LAST_COMMITTED_ROUND"
MetricTypePrimaryNetworkPeers MetricType = "PRIMARY_NETWORK_PEERS"
MetricTypeWorkerNetworkPeers MetricType = "WORKER_NETWORK_PEERS"
MetricTypeSkippedConsensusTransactions MetricType = "SKIPPED_CONSENSUS_TRANSACTIONS"
MetricTypeTotalSignatureErrors MetricType = "TOTAL_SIGNATURE_ERRORS"
MetricTypeCertificatesCreated MetricType = "CERTIFICATES_CREATED"
MetricTypeNonConsensusLatencySum MetricType = "NON_CONSENSUS_LATENCY_SUM"
MetricTypeProtocol MetricType = "PROTOCOL"
MetricTypeSuiSystemState MetricType = "SYSTEM_STATE"
MetricTypeValidatorsApy MetricType = "VALIDATORS_APY"
MetricTypeTotalTransactionBlocks MetricType = "TOTAL_TRANSACTION_BLOCKS"
MetricTypeTotalTransactionCertificates MetricType = "TOTAL_TRANSACTION_CERTIFICATES"
MetricTypeTotalTransactionEffects MetricType = "TOTAL_TRANSACTION_EFFECTS"
MetricTypeTransactionsPerSecond MetricType = "TRANSACTIONS_PER_SECOND"
MetricTypeLatestCheckpoint MetricType = "LATEST_CHECKPOINT"
MetricTypeHighestKnownCheckpoint MetricType = "HIGHEST_KNOWN_CHECKPOINT"
MetricTypeHighestSyncedCheckpoint MetricType = "HIGHEST_SYNCED_CHECKPOINT"
MetricTypeLastExecutedCheckpoint MetricType = "LAST_EXECUTED_CHECKPOINT"
MetricTypeCheckpointExecBacklog MetricType = "CHECKPOINT_EXECUTION_BACKLOG"
MetricTypeCheckpointSyncBacklog MetricType = "CHECKPOINT_SYNC_BACKLOG"
MetricTypeCheckpointsPerSecond MetricType = "CHECKPOINTS_PER_SECOND"
MetricTypeCurrentEpoch MetricType = "CURRENT_EPOCH"
MetricTypeEpochTotalDuration MetricType = "EPOCH_TOTAL_DURATION"
MetricTypeTimeTillNextEpoch MetricType = "TIME_TILL_NEXT_EPOCH"
MetricTypeTxSyncPercentage MetricType = "TX_SYNC_PERCENTAGE"
MetricTypeCheckSyncPercentage MetricType = "CHECK_SYNC_PERCENTAGE"
MetricTypeSuiNetworkPeers MetricType = "SUI_NETWORK_PEERS"
MetricTypeUptime MetricType = "UPTIME"
MetricTypeVersion MetricType = "VERSION"
MetricTypeCommit MetricType = "COMMIT"
MetricTypeConsensusRoundProberCurrentRoundGaps MetricType = "CONSENSUS_ROUND_PROBER_CURRENT_ROUND_GAPS"
MetricTypePrimaryNetworkPeers MetricType = "PRIMARY_NETWORK_PEERS"
MetricTypeWorkerNetworkPeers MetricType = "WORKER_NETWORK_PEERS"
MetricTypeSkippedConsensusTransactions MetricType = "SKIPPED_CONSENSUS_TRANSACTIONS"
MetricTypeTotalSignatureErrors MetricType = "TOTAL_SIGNATURE_ERRORS"
MetricTypeTotalTransactionCertificatesCreated MetricType = "TOTAL_TRANSACTION_CERTIFICATES_CREATED"
MetricTypeNonConsensusLatencySum MetricType = "NON_CONSENSUS_LATENCY_SUM"
MetricTypeProtocol MetricType = "PROTOCOL"
MetricTypeCurrentVotingRight MetricType = "CURRENT_VOTING_RIGHT"
MetricTypeConsensusLastCommittedLeaderRound MetricType = "CONSENSUS_LAST_COMMITTED_LEADER_ROUND"
MetricTypeConsensusHighestAcceptedRound MetricType = "CONSENSUS_HIGHEST_ACCEPTED_ROUND"
MetricTypeNumberSharedObjectTransactions MetricType = "NUMBER_OF_SHARED_OBJECT_TRANSACTIONS"
)

func (e MetricType) ToString() string {
Expand Down
38 changes: 20 additions & 18 deletions internal/core/domain/enums/prometheusmetricname.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,26 @@ package enums
type PrometheusMetricName string

const (
PrometheusMetricNameTotalTransactionCertificates PrometheusMetricName = "total_transaction_certificates"
PrometheusMetricNameTotalTransactionEffects PrometheusMetricName = "total_transaction_effects"
PrometheusMetricNameHighestKnownCheckpoint PrometheusMetricName = "highest_known_checkpoint"
PrometheusMetricNameHighestSyncedCheckpoint PrometheusMetricName = "highest_synced_checkpoint"
PrometheusMetricNameLastExecutedCheckpoint PrometheusMetricName = "last_executed_checkpoint"
PrometheusMetricNameCurrentEpoch PrometheusMetricName = "current_epoch"
PrometheusMetricNameEpochTotalDuration PrometheusMetricName = "epoch_total_duration"
PrometheusMetricNameCurrentRound PrometheusMetricName = "current_round"
PrometheusMetricNameHighestProcessedRound PrometheusMetricName = "highest_processed_round"
PrometheusMetricNameLastCommittedRound PrometheusMetricName = "last_committed_round"
PrometheusMetricNamePrimaryNetworkPeers PrometheusMetricName = "primary_network_peers"
PrometheusMetricNameWorkerNetworkPeers PrometheusMetricName = "worker_network_peers"
PrometheusMetricNameSuiNetworkPeers PrometheusMetricName = "sui_network_peers"
PrometheusMetricNameSkippedConsensusTransactions PrometheusMetricName = "skipped_consensus_txns"
PrometheusMetricNameTotalSignatureErrors PrometheusMetricName = "total_signature_errors"
PrometheusMetricNameCertificatesCreated PrometheusMetricName = "certificates_created"
PrometheusMetricNameNonConsensusLatencySum PrometheusMetricName = "validator_service_handle_certificate_non_consensus_latency_sum"
PrometheusMetricNameUptime PrometheusMetricName = "uptime"
PrometheusMetricNameTotalTransactionCertificates PrometheusMetricName = "total_transaction_certificates"
PrometheusMetricNameTotalTransactionEffects PrometheusMetricName = "total_transaction_effects"
PrometheusMetricNameHighestKnownCheckpoint PrometheusMetricName = "highest_known_checkpoint"
PrometheusMetricNameHighestSyncedCheckpoint PrometheusMetricName = "highest_synced_checkpoint"
PrometheusMetricNameLastExecutedCheckpoint PrometheusMetricName = "last_executed_checkpoint"
PrometheusMetricNameCurrentEpoch PrometheusMetricName = "current_epoch"
PrometheusMetricNameEpochTotalDuration PrometheusMetricName = "epoch_total_duration"
PrometheusMetricNameConsensusRoundProberCurrentRoundGaps PrometheusMetricName = "consensus_round_prober_current_round_gaps"
PrometheusMetricNameSuiNetworkPeers PrometheusMetricName = "sui_network_peers"
PrometheusMetricNameSkippedConsensusTransactions PrometheusMetricName = "skipped_consensus_txns"
PrometheusMetricNameTotalSignatureErrors PrometheusMetricName = "total_signature_errors"
PrometheusMetricNameTotalTransactionCertificatesCreated PrometheusMetricName = "total_tx_certificates_created"
PrometheusMetricNameNonConsensusLatencySum PrometheusMetricName = "validator_service_handle_certificate_non_consensus_latency_sum"
PrometheusMetricNameUptime PrometheusMetricName = "uptime"
PrometheusMetricNameCurrentVotingRight PrometheusMetricName = "current_voting_right"
PrometheusMetricNameNumberSharedObjectTransactions PrometheusMetricName = "num_shared_obj_tx"
PrometheusMetricNameConsensusLastCommittedLeaderRound PrometheusMetricName = "consensus_last_committed_leader_round"
PrometheusMetricNameConsensusCommittedMessages PrometheusMetricName = "consensus_committed_messages"
PrometheusMetricNameConsensusProposedBlocks PrometheusMetricName = "consensus_proposed_blocks"
PrometheusMetricNameConsensusHighestAcceptedRound PrometheusMetricName = "consensus_highest_accepted_round"
)

func (e PrometheusMetricName) ToString() string {
Expand Down
Loading

0 comments on commit f501836

Please sign in to comment.