metrics

package
v0.18.3 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2021 License: AGPL-3.0 Imports: 18 Imported by: 50

Documentation

Index

Constants

View Source
const (
	HotstuffEventTypeTimeout    = "timeout"
	HotstuffEventTypeOnProposal = "onproposal"
	HotstuffEventTypeOnVote     = "onvote"
)

HotStuff Metrics

View Source
const (
	LabelChannel     = "topic"
	LabelChain       = "chain"
	LabelProposer    = "proposer"
	EngineLabel      = "engine"
	LabelResource    = "resource"
	LabelMessage     = "message"
	LabelNodeID      = "nodeid"
	LabelNodeAddress = "nodeaddress"
	LabelNodeRole    = "noderole"
	LabelNodeInfo    = "nodeinfo"
	LabelNodeVersion = "nodeversion"
	LabelPriority    = "priority"
)
View Source
const (
	// collection
	EngineProposal               = "proposal"
	EngineCollectionIngest       = "collection_ingest"
	EngineCollectionProvider     = "collection_provider"
	EngineClusterSynchronization = "cluster-sync"
	// consensus
	EnginePropagation        = "propagation"
	EngineCompliance         = "compliance"
	EngineConsensusProvider  = "consensus_provider"
	EngineConsensusIngestion = "consensus_ingestion"
	EngineSealing            = "sealing"
	EngineSynchronization    = "sync"
	// common
	EngineFollower = "follower"
)
View Source
const (
	ResourceUndefined                = "undefined"
	ResourceProposal                 = "proposal"
	ResourceHeader                   = "header"
	ResourceFinalizedHeight          = "finalized_height"
	ResourceIndex                    = "index"
	ResourceIdentity                 = "identity"
	ResourceGuarantee                = "guarantee"
	ResourceResult                   = "result"
	ResourceResultApprovals          = "result_approvals"
	ResourceReceipt                  = "receipt"
	ResourceMyReceipt                = "my_receipt"
	ResourceCollection               = "collection"
	ResourceApproval                 = "approval"
	ResourceSeal                     = "seal"
	ResourceCommit                   = "commit"
	ResourceTransaction              = "transaction"
	ResourceClusterPayload           = "cluster_payload"
	ResourceClusterProposal          = "cluster_proposal"
	ResourceProcessedResultID        = "processed_result_id"          // verification node, finder engine // TODO: remove finder engine labels
	ResourceDiscardedResultID        = "discarded_result_id"          // verification node, finder engine
	ResourcePendingReceipt           = "pending_receipt"              // verification node, finder engine
	ResourceReceiptIDsByResult       = "receipt_ids_by_result"        // verification node, finder engine
	ResourcePendingReceiptIDsByBlock = "pending_receipt_ids_by_block" // verification node, finder engine
	ResourcePendingResult            = "pending_result"               // verification node, match engine
	ResourceChunkIDsByResult         = "chunk_ids_by_result"          // verification node, match engine
	ResourcePendingChunk             = "pending_chunk"                // verification node, match engine
	ResourcePendingBlock             = "pending_block"                // verification node, match engine
	ResourceCachedReceipt            = "cached_receipt"               // verification node, finder engine
	ResourceCachedBlockID            = "cached_block_id"              // verification node, finder engine
	ResourceChunkStatus              = "chunk_status"                 // verification node, fetcher engine
	ResourceChunkRequest             = "chunk_request"                // verification node, requester engine
	ResourceChunkConsumer            = "chunk_consumer_jobs"          // verification node
	ResourceBlockConsumer            = "block_consumer_jobs"          // verification node
	ResourceEpochSetup               = "epoch_setup"
	ResourceEpochCommit              = "epoch_commit"
	ResourceEpochStatus              = "epoch_status"
	ResourceApprovalQueue            = "sealing_approval_queue"          // consensus node, sealing engine
	ResourceReceiptQueue             = "sealing_receipt_queue"           // consensus node, sealing engine
	ResourceApprovalResponseQueue    = "sealing_approval_response_queue" // consensus node, sealing engine
	ResourceBlockProposalQueue       = "compliance_proposal_queue"       // consensus node, compliance engine
	ResourceBlockVoteQueue           = "compliance_vote_queue"           // consensus node, compliance engine
	ResourceChunkDataPack            = "chunk_data_pack"                 // execution node
	ResourceEvents                   = "events"                          // execution node
	ResourceServiceEvents            = "service_events"                  // execution node
	ResourceTransactionResults       = "transaction_results"             // execution node
)
View Source
const (
	MessageCollectionGuarantee  = "guarantee"
	MessageBlockProposal        = "proposal"
	MessageBlockVote            = "vote"
	MessageExecutionReceipt     = "receipt"
	MessageResultApproval       = "approval"
	MessageSyncRequest          = "ping"
	MessageSyncResponse         = "pong"
	MessageRangeRequest         = "range"
	MessageBatchRequest         = "batch"
	MessageBlockResponse        = "block"
	MessageSyncedBlock          = "synced_block"
	MessageClusterBlockProposal = "cluster_proposal"
	MessageClusterBlockVote     = "cluster_vote"
	MessageClusterBlockResponse = "cluster_block_response"
	MessageSyncedClusterBlock   = "synced_cluster_block"
	MessageTransaction          = "transaction"
	MessageSubmitGuarantee      = "submit_guarantee"
	MessageCollectionRequest    = "collection_request"
	MessageCollectionResponse   = "collection_response"
	MessageEntityRequest        = "entity_request"
	MessageEntityResponse       = "entity_response"
)
View Source
const (
	KiB = 1 << (10 * iota)
	MiB
	GiB
)
View Source
const (
	ChannelOneToOne = "OneToOne"
)

Variables

This section is empty.

Functions

func RegisterBadgerMetrics

func RegisterBadgerMetrics()

Types

type CacheCollector

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

func NewCacheCollector

func NewCacheCollector(chain flow.ChainID) *CacheCollector

func (*CacheCollector) CacheEntries

func (cc *CacheCollector) CacheEntries(resource string, entries uint)

CacheEntries records the size of the node identities cache.

func (*CacheCollector) CacheHit

func (cc *CacheCollector) CacheHit(resource string)

CacheHit records the number of hits in the node identities cache.

func (*CacheCollector) CacheMiss

func (cc *CacheCollector) CacheMiss(resource string)

CacheMiss records the number of times the queried item was not found in cache, but found in database

func (*CacheCollector) CacheNotFound added in v0.16.0

func (cc *CacheCollector) CacheNotFound(resource string)

CacheNotFound records the number of times the queried item was not found in either cache or database

type CleanerCollector

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

func NewCleanerCollector

func NewCleanerCollector() *CleanerCollector

func (*CleanerCollector) RanGC

func (cc *CleanerCollector) RanGC(duration time.Duration)

RanGC records a successful run of the Badger garbage collector.

type CollectionCollector

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

func NewCollectionCollector

func NewCollectionCollector(tracer module.Tracer) *CollectionCollector

func (*CollectionCollector) ClusterBlockFinalized

func (cc *CollectionCollector) ClusterBlockFinalized(block *cluster.Block)

ClusterBlockFinalized updates the guaranteed collection size gauge and finishes the tx->collection span for each constituent transaction.

func (*CollectionCollector) ClusterBlockProposed

func (cc *CollectionCollector) ClusterBlockProposed(block *cluster.Block)

ClusterBlockProposed tracks the size and number of proposals, as well as starting the collection->guarantee span.

func (*CollectionCollector) TransactionIngested

func (cc *CollectionCollector) TransactionIngested(txID flow.Identifier)

TransactionIngested starts a span to trace the duration of a transaction from being created to being included as part of a collection.

type ComplianceCollector

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

func NewComplianceCollector

func NewComplianceCollector() *ComplianceCollector

func (*ComplianceCollector) BlockFinalized

func (cc *ComplianceCollector) BlockFinalized(block *flow.Block)

BlockFinalized reports metrics about finalized blocks.

func (*ComplianceCollector) BlockProposalDuration added in v0.15.0

func (cc *ComplianceCollector) BlockProposalDuration(duration time.Duration)

func (*ComplianceCollector) BlockSealed

func (cc *ComplianceCollector) BlockSealed(block *flow.Block)

BlockSealed reports metrics about sealed blocks.

func (*ComplianceCollector) CommittedEpochFinalView added in v0.18.3

func (cc *ComplianceCollector) CommittedEpochFinalView(view uint64)

func (*ComplianceCollector) FinalizedHeight

func (cc *ComplianceCollector) FinalizedHeight(height uint64)

FinalizedHeight sets the finalized height.

func (*ComplianceCollector) SealedHeight

func (cc *ComplianceCollector) SealedHeight(height uint64)

SealedHeight sets the finalized height.

type ConsensusCollector

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

ConsensusCollector ...

func NewConsensusCollector

func NewConsensusCollector(tracer module.Tracer, registerer prometheus.Registerer) *ConsensusCollector

NewConsensusCollector created a new consensus collector

func (*ConsensusCollector) CheckSealingDuration added in v0.11.0

func (cc *ConsensusCollector) CheckSealingDuration(duration time.Duration)

CheckSealingDuration increases the number of seconds spent in checkSealing

func (*ConsensusCollector) EmergencySeal added in v0.14.0

func (cc *ConsensusCollector) EmergencySeal()

EmergencySeal increments the counter of emergency seals.

func (*ConsensusCollector) FinishBlockToSeal

func (cc *ConsensusCollector) FinishBlockToSeal(blockID flow.Identifier)

FinishBlockToSeal reports Metrics C4: Block Received by CCL → Block Seal in finalized block

func (*ConsensusCollector) FinishCollectionToFinalized

func (cc *ConsensusCollector) FinishCollectionToFinalized(collectionID flow.Identifier)

FinishCollectionToFinalized reports Metrics C1: Collection Received by CCL→ Collection Included in Finalized Block

func (*ConsensusCollector) OnApprovalProcessingDuration added in v0.14.1

func (cc *ConsensusCollector) OnApprovalProcessingDuration(duration time.Duration)

OnApprovalProcessingDuration increases the number of seconds spent processing approvals

func (*ConsensusCollector) OnReceiptProcessingDuration added in v0.14.1

func (cc *ConsensusCollector) OnReceiptProcessingDuration(duration time.Duration)

OnReceiptProcessingDuration increases the number of seconds spent processing receipts

func (*ConsensusCollector) StartBlockToSeal

func (cc *ConsensusCollector) StartBlockToSeal(blockID flow.Identifier)

StartBlockToSeal reports Metrics C4: Block Received by CCL → Block Seal in finalized block

func (*ConsensusCollector) StartCollectionToFinalized

func (cc *ConsensusCollector) StartCollectionToFinalized(collectionID flow.Identifier)

StartCollectionToFinalized reports Metrics C1: Collection Received by CCL→ Collection Included in Finalized Block

type EngineCollector

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

func NewEngineCollector

func NewEngineCollector() *EngineCollector

func (*EngineCollector) MessageHandled

func (ec *EngineCollector) MessageHandled(engine string, message string)

func (*EngineCollector) MessageReceived

func (ec *EngineCollector) MessageReceived(engine string, message string)

func (*EngineCollector) MessageSent

func (ec *EngineCollector) MessageSent(engine string, message string)

type ExecutionCollector

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

func NewExecutionCollector

func NewExecutionCollector(tracer module.Tracer, registerer prometheus.Registerer) *ExecutionCollector

func (*ExecutionCollector) ChunkDataPackRequested

func (ec *ExecutionCollector) ChunkDataPackRequested()

ChunkDataPackRequested is executed every time a chunk data pack request is arrived at execution node. It increases the request counter by one.

func (*ExecutionCollector) DiskSize added in v0.10.0

func (ec *ExecutionCollector) DiskSize(bytes uint64)

func (*ExecutionCollector) ExecutionBlockExecuted added in v0.18.3

func (ec *ExecutionCollector) ExecutionBlockExecuted(dur time.Duration, compUsed uint64, txCounts int, colCounts int)

ExecutionBlockExecuted reports computation and total time spent on a block computation

func (*ExecutionCollector) ExecutionCollectionExecuted added in v0.18.3

func (ec *ExecutionCollector) ExecutionCollectionExecuted(dur time.Duration, compUsed uint64, txCounts int)

ExecutionCollectionExecuted reports computation and total time spent on a block computation

func (*ExecutionCollector) ExecutionCollectionRequestRetried

func (ec *ExecutionCollector) ExecutionCollectionRequestRetried()

func (*ExecutionCollector) ExecutionCollectionRequestSent

func (ec *ExecutionCollector) ExecutionCollectionRequestSent()

func (*ExecutionCollector) ExecutionLastExecutedBlockHeight

func (ec *ExecutionCollector) ExecutionLastExecutedBlockHeight(height uint64)

ExecutionLastExecutedBlockHeight reports last executed block height

func (*ExecutionCollector) ExecutionScriptExecuted added in v0.18.3

func (ec *ExecutionCollector) ExecutionScriptExecuted(dur time.Duration, compUsed uint64)

ScriptExecuted reports the time spent executing a single script

func (*ExecutionCollector) ExecutionStateReadsPerBlock

func (ec *ExecutionCollector) ExecutionStateReadsPerBlock(reads uint64)

ExecutionStateReadsPerBlock reports number of state access/read operations per block

func (*ExecutionCollector) ExecutionStateStorageDiskTotal

func (ec *ExecutionCollector) ExecutionStateStorageDiskTotal(bytes int64)

ExecutionStateStorageDiskTotal reports the total storage size of the execution state on disk in bytes

func (*ExecutionCollector) ExecutionStorageStateCommitment

func (ec *ExecutionCollector) ExecutionStorageStateCommitment(bytes int64)

ExecutionStorageStateCommitment reports the storage size of a state commitment

func (*ExecutionCollector) ExecutionSync

func (ec *ExecutionCollector) ExecutionSync(syncing bool)

func (*ExecutionCollector) ExecutionTransactionExecuted added in v0.18.3

func (ec *ExecutionCollector) ExecutionTransactionExecuted(dur time.Duration, compUsed uint64, eventCounts int, failed bool)

TransactionExecuted reports the time and computation spent executing a single transaction

func (*ExecutionCollector) FinishBlockReceivedToExecuted

func (ec *ExecutionCollector) FinishBlockReceivedToExecuted(blockID flow.Identifier)

FinishBlockReceivedToExecuted finishes a span to trace the duration of a block from being received for execution to execution being finished

func (*ExecutionCollector) ForestApproxMemorySize

func (ec *ExecutionCollector) ForestApproxMemorySize(bytes uint64)

ForestApproxMemorySize records approximate memory usage of forest (all in-memory trees)

func (*ExecutionCollector) ForestNumberOfTrees

func (ec *ExecutionCollector) ForestNumberOfTrees(number uint64)

ForestNumberOfTrees current number of trees in a forest (in memory)

func (*ExecutionCollector) LatestTrieMaxDepth

func (ec *ExecutionCollector) LatestTrieMaxDepth(number uint64)

LatestTrieMaxDepth records the maximum depth of the last created trie

func (*ExecutionCollector) LatestTrieMaxDepthDiff

func (ec *ExecutionCollector) LatestTrieMaxDepthDiff(number uint64)

LatestTrieMaxDepthDiff records the difference between the max depth of the latest created trie and parent trie

func (*ExecutionCollector) LatestTrieRegCount

func (ec *ExecutionCollector) LatestTrieRegCount(number uint64)

LatestTrieRegCount records the number of unique register allocated (the lastest created trie)

func (*ExecutionCollector) LatestTrieRegCountDiff

func (ec *ExecutionCollector) LatestTrieRegCountDiff(number uint64)

LatestTrieRegCountDiff records the difference between the number of unique register allocated of the latest created trie and parent trie

func (*ExecutionCollector) ProofSize

func (ec *ExecutionCollector) ProofSize(bytes uint32)

ProofSize records a proof size

func (*ExecutionCollector) ReadDuration

func (ec *ExecutionCollector) ReadDuration(duration time.Duration)

ReadDuration records absolute time for the read from a trie

func (*ExecutionCollector) ReadDurationPerItem

func (ec *ExecutionCollector) ReadDurationPerItem(duration time.Duration)

ReadDurationPerItem records read time for single value (total duration / number of read values)

func (*ExecutionCollector) ReadValuesNumber

func (ec *ExecutionCollector) ReadValuesNumber(number uint64)

ReadValuesNumber accumulates number of read values

func (*ExecutionCollector) ReadValuesSize

func (ec *ExecutionCollector) ReadValuesSize(bytes uint64)

ReadValuesSize total size (in bytes) of read values

func (*ExecutionCollector) RuntimeSetNumberOfAccounts added in v0.18.3

func (ec *ExecutionCollector) RuntimeSetNumberOfAccounts(count uint64)

func (*ExecutionCollector) RuntimeTransactionChecked added in v0.18.3

func (ec *ExecutionCollector) RuntimeTransactionChecked(dur time.Duration)

TransactionChecked reports the time spent checking a single transaction

func (*ExecutionCollector) RuntimeTransactionInterpreted added in v0.18.3

func (ec *ExecutionCollector) RuntimeTransactionInterpreted(dur time.Duration)

TransactionInterpreted reports the time spent interpreting a single transaction

func (*ExecutionCollector) RuntimeTransactionParsed added in v0.18.3

func (ec *ExecutionCollector) RuntimeTransactionParsed(dur time.Duration)

TransactionParsed reports the time spent parsing a single transaction

func (*ExecutionCollector) StartBlockReceivedToExecuted

func (ec *ExecutionCollector) StartBlockReceivedToExecuted(blockID flow.Identifier)

StartBlockReceivedToExecuted starts a span to trace the duration of a block from being received for execution to execution being finished

func (*ExecutionCollector) UpdateCount

func (ec *ExecutionCollector) UpdateCount()

UpdateCount increase a counter of performed updates

func (*ExecutionCollector) UpdateDuration

func (ec *ExecutionCollector) UpdateDuration(duration time.Duration)

UpdateDuration records absolute time for the update of a trie

func (*ExecutionCollector) UpdateDurationPerItem

func (ec *ExecutionCollector) UpdateDurationPerItem(duration time.Duration)

UpdateDurationPerItem records update time for single value (total duration / number of updated values)

func (*ExecutionCollector) UpdateValuesNumber

func (ec *ExecutionCollector) UpdateValuesNumber(number uint64)

UpdateValuesNumber accumulates number of updated values

func (*ExecutionCollector) UpdateValuesSize

func (ec *ExecutionCollector) UpdateValuesSize(bytes uint64)

UpdateValuesSize total size (in bytes) of updates values

type HotstuffCollector

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

HotstuffCollector implements only the metrics emitted by the HotStuff core logic. We have multiple instances of HotStuff running within Flow: Consensus Nodes form the main consensus committee. In addition each Collector node cluster runs their own HotStuff instance. Depending on the node role, the name space is different. Furthermore, even within the `collection` name space, we need to separate metrics between the different clusters. We do this by adding the label `committeeID` to the HotStuff metrics and allowing for configurable name space.

func NewHotstuffCollector

func NewHotstuffCollector(chain flow.ChainID) *HotstuffCollector

func (*HotstuffCollector) CommitteeProcessingDuration

func (hc *HotstuffCollector) CommitteeProcessingDuration(duration time.Duration)

CommitteeProcessingDuration measures the time which the HotStuff's core logic spends in the hotstuff.Committee component, i.e. the time determining consensus committee relations.

func (*HotstuffCollector) CountSkipped

func (hc *HotstuffCollector) CountSkipped()

CountSkipped counts the number of skips we did.

func (*HotstuffCollector) CountTimeout

func (hc *HotstuffCollector) CountTimeout()

CountTimeout counts the number of timeouts we had.

func (*HotstuffCollector) HotStuffBusyDuration

func (hc *HotstuffCollector) HotStuffBusyDuration(duration time.Duration, event string)

HotStuffBusyDuration reports Metrics C6 HotStuff Busy Duration

func (*HotstuffCollector) HotStuffIdleDuration

func (hc *HotstuffCollector) HotStuffIdleDuration(duration time.Duration)

HotStuffIdleDuration reports Metrics C6 HotStuff Idle Duration

func (*HotstuffCollector) HotStuffWaitDuration

func (hc *HotstuffCollector) HotStuffWaitDuration(duration time.Duration, event string)

HotStuffWaitDuration reports Metrics C6 HotStuff Wait Duration

func (*HotstuffCollector) PayloadProductionDuration

func (hc *HotstuffCollector) PayloadProductionDuration(duration time.Duration)

PayloadProductionDuration reports the time which the HotStuff's core logic spends in the module.Builder component, i.e. the with generating block payloads

func (*HotstuffCollector) SetCurView

func (hc *HotstuffCollector) SetCurView(view uint64)

HotstuffCollector reports Metrics C8: Current View

func (*HotstuffCollector) SetQCView

func (hc *HotstuffCollector) SetQCView(view uint64)

NewestKnownQC reports Metrics C9: View of Newest Known QC

func (*HotstuffCollector) SetTimeout

func (hc *HotstuffCollector) SetTimeout(duration time.Duration)

SetTimeout sets the current timeout duration.

func (*HotstuffCollector) SignerProcessingDuration

func (hc *HotstuffCollector) SignerProcessingDuration(duration time.Duration)

SignerProcessingDuration reports the time which the HotStuff's core logic spends in the hotstuff.Signer component, i.e. the with crypto-related operations.

func (*HotstuffCollector) ValidatorProcessingDuration

func (hc *HotstuffCollector) ValidatorProcessingDuration(duration time.Duration)

ValidatorProcessingDuration reports the time which the HotStuff's core logic spends in the hotstuff.Validator component, i.e. the with verifying higher-level consensus messages.

type LoaderCollector

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

func NewLoaderCollector

func NewLoaderCollector() *LoaderCollector

func (*LoaderCollector) SetTPSConfigured

func (cc *LoaderCollector) SetTPSConfigured(tps int)

func (*LoaderCollector) TransactionSent

func (cc *LoaderCollector) TransactionSent()

type MempoolCollector

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

func NewMempoolCollector

func NewMempoolCollector(interval time.Duration) *MempoolCollector

func (*MempoolCollector) Done

func (mc *MempoolCollector) Done() <-chan struct{}

func (*MempoolCollector) MempoolEntries

func (mc *MempoolCollector) MempoolEntries(resource string, entries uint)

func (*MempoolCollector) Ready

func (mc *MempoolCollector) Ready() <-chan struct{}

func (*MempoolCollector) Register

func (mc *MempoolCollector) Register(resource string, entriesFunc module.EntriesFunc) error

Register registers entriesFunc for a resource

type NetworkCollector

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

func NewNetworkCollector

func NewNetworkCollector() *NetworkCollector

func (*NetworkCollector) InboundConnections added in v0.12.0

func (nc *NetworkCollector) InboundConnections(connectionCount uint)

func (*NetworkCollector) InboundProcessDuration added in v0.14.0

func (nc *NetworkCollector) InboundProcessDuration(topic string, duration time.Duration)

InboundProcessDuration tracks the time a queue worker blocked by an engine for processing an incoming message on specified topic (i.e., channel).

func (*NetworkCollector) MessageAdded

func (nc *NetworkCollector) MessageAdded(priority int)

func (*NetworkCollector) MessageRemoved

func (nc *NetworkCollector) MessageRemoved(priority int)

func (*NetworkCollector) NetworkDuplicateMessagesDropped

func (nc *NetworkCollector) NetworkDuplicateMessagesDropped(topic, messageType string)

NetworkDuplicateMessagesDropped tracks the number of messages dropped by the network layer due to duplication

func (*NetworkCollector) NetworkMessageReceived

func (nc *NetworkCollector) NetworkMessageReceived(sizeBytes int, topic string, messageType string)

NetworkMessageReceived tracks the message size of the last message received on the wire in bytes for the given topic

func (*NetworkCollector) NetworkMessageSent

func (nc *NetworkCollector) NetworkMessageSent(sizeBytes int, topic string, messageType string)

NetworkMessageSent tracks the message size of the last message sent out on the wire in bytes for the given topic

func (*NetworkCollector) OutboundConnections added in v0.12.0

func (nc *NetworkCollector) OutboundConnections(connectionCount uint)

func (*NetworkCollector) QueueDuration

func (nc *NetworkCollector) QueueDuration(duration time.Duration, priority int)

type NoopCollector

type NoopCollector struct{}

func NewNoopCollector

func NewNoopCollector() *NoopCollector

func (*NoopCollector) BadgerLSMSize

func (nc *NoopCollector) BadgerLSMSize(sizeBytes int64)

func (*NoopCollector) BadgerNumBlockedPuts

func (nc *NoopCollector) BadgerNumBlockedPuts(n int64)

func (*NoopCollector) BadgerNumBytesRead

func (nc *NoopCollector) BadgerNumBytesRead(n int64)

func (*NoopCollector) BadgerNumBytesWritten

func (nc *NoopCollector) BadgerNumBytesWritten(n int64)

func (*NoopCollector) BadgerNumGets

func (nc *NoopCollector) BadgerNumGets(n int64)

func (*NoopCollector) BadgerNumMemtableGets

func (nc *NoopCollector) BadgerNumMemtableGets(n int64)

func (*NoopCollector) BadgerNumPuts

func (nc *NoopCollector) BadgerNumPuts(n int64)

func (*NoopCollector) BadgerNumReads

func (nc *NoopCollector) BadgerNumReads(n int64)

func (*NoopCollector) BadgerNumWrites

func (nc *NoopCollector) BadgerNumWrites(n int64)

func (*NoopCollector) BadgerVLogSize

func (nc *NoopCollector) BadgerVLogSize(sizeBytes int64)

func (*NoopCollector) BlockFinalized

func (nc *NoopCollector) BlockFinalized(*flow.Block)

func (*NoopCollector) BlockProposalDuration added in v0.15.0

func (nc *NoopCollector) BlockProposalDuration(duration time.Duration)

func (*NoopCollector) BlockProposed

func (nc *NoopCollector) BlockProposed(*flow.Block)

func (*NoopCollector) BlockSealed

func (nc *NoopCollector) BlockSealed(*flow.Block)

func (*NoopCollector) CacheEntries

func (nc *NoopCollector) CacheEntries(resource string, entries uint)

func (*NoopCollector) CacheHit

func (nc *NoopCollector) CacheHit(resource string)

func (*NoopCollector) CacheMiss

func (nc *NoopCollector) CacheMiss(resource string)

func (*NoopCollector) CacheNotFound added in v0.16.0

func (nc *NoopCollector) CacheNotFound(resource string)

func (*NoopCollector) CheckSealingDuration added in v0.11.0

func (nc *NoopCollector) CheckSealingDuration(duration time.Duration)

func (*NoopCollector) ChunkDataPackRequested

func (nc *NoopCollector) ChunkDataPackRequested()

func (*NoopCollector) ClusterBlockFinalized

func (nc *NoopCollector) ClusterBlockFinalized(*cluster.Block)

func (*NoopCollector) ClusterBlockProposed

func (nc *NoopCollector) ClusterBlockProposed(*cluster.Block)

func (*NoopCollector) CommittedEpochFinalView added in v0.18.3

func (nc *NoopCollector) CommittedEpochFinalView(view uint64)

func (*NoopCollector) CommitteeProcessingDuration

func (nc *NoopCollector) CommitteeProcessingDuration(duration time.Duration)

func (*NoopCollector) CountSkipped

func (nc *NoopCollector) CountSkipped()

func (*NoopCollector) CountTimeout

func (nc *NoopCollector) CountTimeout()

func (*NoopCollector) DiskSize added in v0.10.0

func (nc *NoopCollector) DiskSize(uint64)

func (*NoopCollector) EmergencySeal added in v0.14.0

func (nc *NoopCollector) EmergencySeal()

func (*NoopCollector) ExecutionBlockExecuted added in v0.18.3

func (nc *NoopCollector) ExecutionBlockExecuted(_ time.Duration, _ uint64, _ int, _ int)

func (*NoopCollector) ExecutionCollectionExecuted added in v0.18.3

func (nc *NoopCollector) ExecutionCollectionExecuted(_ time.Duration, _ uint64, _ int)

func (*NoopCollector) ExecutionCollectionRequestRetried

func (nc *NoopCollector) ExecutionCollectionRequestRetried()

func (*NoopCollector) ExecutionCollectionRequestSent

func (nc *NoopCollector) ExecutionCollectionRequestSent()

func (*NoopCollector) ExecutionComputationUsedPerBlock added in v0.18.3

func (nc *NoopCollector) ExecutionComputationUsedPerBlock(computation uint64)

func (*NoopCollector) ExecutionLastExecutedBlockHeight

func (nc *NoopCollector) ExecutionLastExecutedBlockHeight(height uint64)

func (*NoopCollector) ExecutionScriptExecuted added in v0.18.3

func (nc *NoopCollector) ExecutionScriptExecuted(dur time.Duration, compUsed uint64)

func (*NoopCollector) ExecutionStateReadsPerBlock

func (nc *NoopCollector) ExecutionStateReadsPerBlock(reads uint64)

func (*NoopCollector) ExecutionStateStorageDiskTotal

func (nc *NoopCollector) ExecutionStateStorageDiskTotal(bytes int64)

func (*NoopCollector) ExecutionStorageStateCommitment

func (nc *NoopCollector) ExecutionStorageStateCommitment(bytes int64)

func (*NoopCollector) ExecutionSync

func (nc *NoopCollector) ExecutionSync(syncing bool)

func (*NoopCollector) ExecutionTransactionExecuted added in v0.18.3

func (nc *NoopCollector) ExecutionTransactionExecuted(_ time.Duration, _ uint64, _ int, _ bool)

func (*NoopCollector) FinalizedHeight

func (nc *NoopCollector) FinalizedHeight(height uint64)

func (*NoopCollector) FinishBlockReceivedToExecuted

func (nc *NoopCollector) FinishBlockReceivedToExecuted(blockID flow.Identifier)

func (*NoopCollector) FinishBlockToSeal

func (nc *NoopCollector) FinishBlockToSeal(blockID flow.Identifier)

func (*NoopCollector) FinishCollectionToFinalized

func (nc *NoopCollector) FinishCollectionToFinalized(collectionID flow.Identifier)

func (*NoopCollector) ForestApproxMemorySize

func (nc *NoopCollector) ForestApproxMemorySize(bytes uint64)

func (*NoopCollector) ForestNumberOfTrees

func (nc *NoopCollector) ForestNumberOfTrees(number uint64)

func (*NoopCollector) HotStuffBusyDuration

func (nc *NoopCollector) HotStuffBusyDuration(duration time.Duration, event string)

func (*NoopCollector) HotStuffIdleDuration

func (nc *NoopCollector) HotStuffIdleDuration(duration time.Duration)

func (*NoopCollector) HotStuffWaitDuration

func (nc *NoopCollector) HotStuffWaitDuration(duration time.Duration, event string)

func (*NoopCollector) InboundConnections added in v0.12.0

func (nc *NoopCollector) InboundConnections(_ uint)

func (*NoopCollector) InboundProcessDuration added in v0.14.0

func (nc *NoopCollector) InboundProcessDuration(topic string, duration time.Duration)

func (*NoopCollector) LatestTrieMaxDepth

func (nc *NoopCollector) LatestTrieMaxDepth(number uint64)

func (*NoopCollector) LatestTrieMaxDepthDiff

func (nc *NoopCollector) LatestTrieMaxDepthDiff(number uint64)

func (*NoopCollector) LatestTrieRegCount

func (nc *NoopCollector) LatestTrieRegCount(number uint64)

func (*NoopCollector) LatestTrieRegCountDiff

func (nc *NoopCollector) LatestTrieRegCountDiff(number uint64)

func (*NoopCollector) MempoolEntries

func (nc *NoopCollector) MempoolEntries(resource string, entries uint)

func (*NoopCollector) MessageAdded

func (nc *NoopCollector) MessageAdded(priority int)

func (*NoopCollector) MessageHandled

func (nc *NoopCollector) MessageHandled(engine string, message string)

func (*NoopCollector) MessageReceived

func (nc *NoopCollector) MessageReceived(engine string, message string)

func (*NoopCollector) MessageRemoved

func (nc *NoopCollector) MessageRemoved(priority int)

func (*NoopCollector) MessageSent

func (nc *NoopCollector) MessageSent(engine string, message string)

func (*NoopCollector) NetworkDuplicateMessagesDropped

func (nc *NoopCollector) NetworkDuplicateMessagesDropped(topic string, messageType string)

func (*NoopCollector) NetworkMessageReceived

func (nc *NoopCollector) NetworkMessageReceived(sizeBytes int, topic string, messageType string)

func (*NoopCollector) NetworkMessageSent

func (nc *NoopCollector) NetworkMessageSent(sizeBytes int, topic string, messageType string)

func (*NoopCollector) OnApprovalProcessingDuration added in v0.14.1

func (nc *NoopCollector) OnApprovalProcessingDuration(duration time.Duration)

func (*NoopCollector) OnAssignedChunkProcessedAtAssigner added in v0.17.1

func (nc *NoopCollector) OnAssignedChunkProcessedAtAssigner()

func (*NoopCollector) OnAssignedChunkReceivedAtFetcher added in v0.17.1

func (nc *NoopCollector) OnAssignedChunkReceivedAtFetcher()

func (*NoopCollector) OnChunkDataPackArrivedAtFetcher added in v0.17.1

func (nc *NoopCollector) OnChunkDataPackArrivedAtFetcher()

func (*NoopCollector) OnChunkDataPackReceived

func (nc *NoopCollector) OnChunkDataPackReceived()

func (*NoopCollector) OnChunkDataPackRequestDispatchedInNetwork added in v0.17.1

func (nc *NoopCollector) OnChunkDataPackRequestDispatchedInNetwork()

func (*NoopCollector) OnChunkDataPackRequestReceivedByRequester added in v0.17.1

func (nc *NoopCollector) OnChunkDataPackRequestReceivedByRequester()

func (*NoopCollector) OnChunkDataPackRequestSentByFetcher added in v0.17.1

func (nc *NoopCollector) OnChunkDataPackRequestSentByFetcher()

func (*NoopCollector) OnChunkDataPackRequested

func (nc *NoopCollector) OnChunkDataPackRequested()

func (*NoopCollector) OnChunkDataPackResponseReceivedFromNetwork added in v0.17.1

func (nc *NoopCollector) OnChunkDataPackResponseReceivedFromNetwork()

func (*NoopCollector) OnChunkDataPackSentToFetcher added in v0.17.1

func (nc *NoopCollector) OnChunkDataPackSentToFetcher()

func (*NoopCollector) OnChunksAssignmentDoneAtAssigner added in v0.17.1

func (nc *NoopCollector) OnChunksAssignmentDoneAtAssigner(chunks int)

func (*NoopCollector) OnExecutionReceiptReceived

func (nc *NoopCollector) OnExecutionReceiptReceived()

func (*NoopCollector) OnExecutionResultReceived

func (nc *NoopCollector) OnExecutionResultReceived()

func (*NoopCollector) OnExecutionResultSent

func (nc *NoopCollector) OnExecutionResultSent()

func (*NoopCollector) OnFinalizedBlockArrivedAtAssigner added in v0.17.1

func (nc *NoopCollector) OnFinalizedBlockArrivedAtAssigner(height uint64)

func (*NoopCollector) OnReceiptProcessingDuration added in v0.14.1

func (nc *NoopCollector) OnReceiptProcessingDuration(duration time.Duration)

func (*NoopCollector) OnResultApprovalDispatchedInNetwork added in v0.17.1

func (nc *NoopCollector) OnResultApprovalDispatchedInNetwork()

func (*NoopCollector) OnVerifiableChunkReceivedAtVerifierEngine added in v0.17.1

func (nc *NoopCollector) OnVerifiableChunkReceivedAtVerifierEngine()

func (*NoopCollector) OnVerifiableChunkSent

func (nc *NoopCollector) OnVerifiableChunkSent()

func (*NoopCollector) OnVerifiableChunkSentToVerifier added in v0.17.1

func (nc *NoopCollector) OnVerifiableChunkSentToVerifier()

func (*NoopCollector) OutboundConnections added in v0.12.0

func (nc *NoopCollector) OutboundConnections(_ uint)

func (*NoopCollector) PayloadProductionDuration

func (nc *NoopCollector) PayloadProductionDuration(duration time.Duration)

func (*NoopCollector) ProofSize

func (nc *NoopCollector) ProofSize(bytes uint32)

func (*NoopCollector) QueueDuration

func (nc *NoopCollector) QueueDuration(duration time.Duration, priority int)

func (*NoopCollector) RanGC

func (nc *NoopCollector) RanGC(duration time.Duration)

func (*NoopCollector) ReadDuration

func (nc *NoopCollector) ReadDuration(duration time.Duration)

func (*NoopCollector) ReadDurationPerItem

func (nc *NoopCollector) ReadDurationPerItem(duration time.Duration)

func (*NoopCollector) ReadValuesNumber

func (nc *NoopCollector) ReadValuesNumber(number uint64)

func (*NoopCollector) ReadValuesSize

func (nc *NoopCollector) ReadValuesSize(byte uint64)

func (*NoopCollector) Register

func (nc *NoopCollector) Register(resource string, entriesFunc module.EntriesFunc) error

func (*NoopCollector) RuntimeSetNumberOfAccounts added in v0.18.3

func (nc *NoopCollector) RuntimeSetNumberOfAccounts(count uint64)

func (*NoopCollector) RuntimeTransactionChecked added in v0.18.3

func (nc *NoopCollector) RuntimeTransactionChecked(dur time.Duration)

func (*NoopCollector) RuntimeTransactionInterpreted added in v0.18.3

func (nc *NoopCollector) RuntimeTransactionInterpreted(dur time.Duration)

func (*NoopCollector) RuntimeTransactionParsed added in v0.18.3

func (nc *NoopCollector) RuntimeTransactionParsed(dur time.Duration)

func (*NoopCollector) SealedHeight

func (nc *NoopCollector) SealedHeight(height uint64)

func (*NoopCollector) SetCurView

func (nc *NoopCollector) SetCurView(view uint64)

func (*NoopCollector) SetQCView

func (nc *NoopCollector) SetQCView(view uint64)

func (*NoopCollector) SetTimeout

func (nc *NoopCollector) SetTimeout(duration time.Duration)

func (*NoopCollector) SignerProcessingDuration

func (nc *NoopCollector) SignerProcessingDuration(duration time.Duration)

func (*NoopCollector) StartBlockReceivedToExecuted

func (nc *NoopCollector) StartBlockReceivedToExecuted(blockID flow.Identifier)

func (*NoopCollector) StartBlockToSeal

func (nc *NoopCollector) StartBlockToSeal(blockID flow.Identifier)

func (*NoopCollector) StartCollectionToFinalized

func (nc *NoopCollector) StartCollectionToFinalized(collectionID flow.Identifier)

func (*NoopCollector) TransactionExecuted

func (nc *NoopCollector) TransactionExecuted(txID flow.Identifier, when time.Time)

func (*NoopCollector) TransactionExpired

func (nc *NoopCollector) TransactionExpired(txID flow.Identifier)

func (*NoopCollector) TransactionFinalized

func (nc *NoopCollector) TransactionFinalized(txID flow.Identifier, when time.Time)

func (*NoopCollector) TransactionIngested

func (nc *NoopCollector) TransactionIngested(txID flow.Identifier)

func (*NoopCollector) TransactionReceived

func (nc *NoopCollector) TransactionReceived(txID flow.Identifier, when time.Time)

func (*NoopCollector) TransactionSubmissionFailed

func (nc *NoopCollector) TransactionSubmissionFailed()

func (*NoopCollector) UpdateCount

func (nc *NoopCollector) UpdateCount()

func (*NoopCollector) UpdateDuration

func (nc *NoopCollector) UpdateDuration(duration time.Duration)

func (*NoopCollector) UpdateDurationPerItem

func (nc *NoopCollector) UpdateDurationPerItem(duration time.Duration)

func (*NoopCollector) UpdateValuesNumber

func (nc *NoopCollector) UpdateValuesNumber(number uint64)

func (*NoopCollector) UpdateValuesSize

func (nc *NoopCollector) UpdateValuesSize(byte uint64)

func (*NoopCollector) ValidatorProcessingDuration

func (nc *NoopCollector) ValidatorProcessingDuration(duration time.Duration)

type PingCollector

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

func NewPingCollector

func NewPingCollector() *PingCollector

func (*PingCollector) NodeInfo added in v0.17.6

func (pc *PingCollector) NodeInfo(node *flow.Identity, nodeInfo string, version string, sealedHeight uint64)

func (*PingCollector) NodeReachable

func (pc *PingCollector) NodeReachable(node *flow.Identity, nodeInfo string, rtt time.Duration)

type Server

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

Server is the http server that will be serving the /metrics request for prometheus

func NewServer

func NewServer(log zerolog.Logger, port uint, enableProfilerEndpoint bool) *Server

NewServer creates a new server that will start on the specified port, and responds to only the `/metrics` endpoint

func (*Server) Done

func (m *Server) Done() <-chan struct{}

Done returns a channel that will close when shutdown is complete.

func (*Server) Ready

func (m *Server) Ready() <-chan struct{}

Ready returns a channel that will close when the network stack is ready.

type StorageCollector

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

func GetStorageCollector

func GetStorageCollector() *StorageCollector

func (*StorageCollector) RetryOnConflict

func (sc *StorageCollector) RetryOnConflict()

func (*StorageCollector) SkipDuplicate

func (sc *StorageCollector) SkipDuplicate()

type TransactionCollector

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

func NewTransactionCollector

func NewTransactionCollector(transactionTimings mempool.TransactionTimings, log zerolog.Logger,
	logTimeToFinalized bool, logTimeToExecuted bool, logTimeToFinalizedExecuted bool) *TransactionCollector

func (*TransactionCollector) TransactionExecuted

func (tc *TransactionCollector) TransactionExecuted(txID flow.Identifier, when time.Time)

func (*TransactionCollector) TransactionExpired

func (tc *TransactionCollector) TransactionExpired(txID flow.Identifier)

func (*TransactionCollector) TransactionFinalized

func (tc *TransactionCollector) TransactionFinalized(txID flow.Identifier, when time.Time)

func (*TransactionCollector) TransactionReceived

func (tc *TransactionCollector) TransactionReceived(txID flow.Identifier, when time.Time)

func (*TransactionCollector) TransactionSubmissionFailed

func (tc *TransactionCollector) TransactionSubmissionFailed()

type VerificationCollector

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

func NewVerificationCollector

func NewVerificationCollector(tracer module.Tracer, registerer prometheus.Registerer) *VerificationCollector

func (*VerificationCollector) OnAssignedChunkProcessedAtAssigner added in v0.17.1

func (vc *VerificationCollector) OnAssignedChunkProcessedAtAssigner()

OnAssignedChunkProcessedAtAssigner increments a counter that keeps track of the total number of assigned chunks pushed by assigner engine to the fetcher engine.

func (*VerificationCollector) OnAssignedChunkReceivedAtFetcher added in v0.17.1

func (vc *VerificationCollector) OnAssignedChunkReceivedAtFetcher()

OnAssignedChunkReceivedAtFetcher increments a counter that keeps track of number of assigned chunks arrive at fetcher engine.

func (*VerificationCollector) OnChunkDataPackArrivedAtFetcher added in v0.17.1

func (vc *VerificationCollector) OnChunkDataPackArrivedAtFetcher()

OnChunkDataPackArrivedAtFetcher increments a counter that keeps track of number of chunk data packs arrived at fetcher engine from requester engine.

func (*VerificationCollector) OnChunkDataPackReceived

func (vc *VerificationCollector) OnChunkDataPackReceived()

OnChunkDataPackReceived is called on a receiving a chunk data pack by Match engine It increments the total number of chunk data packs received. TODO: remove this method once fetcher is removed.

func (*VerificationCollector) OnChunkDataPackRequestDispatchedInNetwork added in v0.17.1

func (vc *VerificationCollector) OnChunkDataPackRequestDispatchedInNetwork()

OnChunkDataPackRequestDispatchedInNetwork increments a counter that keeps track of number of chunk data pack requests that the requester engine dispatches in the network (to the execution nodes).

func (*VerificationCollector) OnChunkDataPackRequestReceivedByRequester added in v0.17.1

func (vc *VerificationCollector) OnChunkDataPackRequestReceivedByRequester()

OnChunkDataPackRequestReceivedByRequester increments a counter that keeps track of number of chunk data pack requests arrive at the requester engine from the fetcher engine.

func (*VerificationCollector) OnChunkDataPackRequestSentByFetcher added in v0.17.1

func (vc *VerificationCollector) OnChunkDataPackRequestSentByFetcher()

OnChunkDataPackRequestSentByFetcher increments a counter that keeps track of number of chunk data pack requests that fetcher engine sends to requester engine.

func (*VerificationCollector) OnChunkDataPackRequested

func (vc *VerificationCollector) OnChunkDataPackRequested()

OnChunkDataPackRequested is called on requesting a chunk data pack by Match engine It increments the total number of chunk data packs requested. TODO: remove this method once fetcher is removed.

func (*VerificationCollector) OnChunkDataPackResponseReceivedFromNetwork added in v0.17.1

func (vc *VerificationCollector) OnChunkDataPackResponseReceivedFromNetwork()

OnChunkDataPackResponseReceivedFromNetwork increments a counter that keeps track of number of chunk data pack responses that the requester engine receives from execution nodes (through network).

func (*VerificationCollector) OnChunkDataPackSentToFetcher added in v0.17.1

func (vc *VerificationCollector) OnChunkDataPackSentToFetcher()

OnChunkDataPackSentToFetcher increases a counter that keeps track of number of chunk data packs sent to the fetcher engine from requester engine.

func (*VerificationCollector) OnChunksAssignmentDoneAtAssigner added in v0.17.1

func (vc *VerificationCollector) OnChunksAssignmentDoneAtAssigner(chunks int)

OnChunksAssignmentDoneAtAssigner increments a counter that keeps track of the total number of assigned chunks to the verification node.

func (*VerificationCollector) OnExecutionReceiptReceived

func (vc *VerificationCollector) OnExecutionReceiptReceived()

OnExecutionReceiptReceived is called whenever a new execution receipt arrives at Finder engine. It increments total number of received receipts.

func (*VerificationCollector) OnExecutionResultReceived

func (vc *VerificationCollector) OnExecutionResultReceived()

OnExecutionResultReceived is called whenever a new execution result is successfully received by Match engine from Finder engine. It increments the total number of received execution results.

func (*VerificationCollector) OnExecutionResultSent

func (vc *VerificationCollector) OnExecutionResultSent()

OnExecutionResultSent is called whenever a new execution result is sent by Finder engine to the match engine. It increments total number of sent execution results.

func (*VerificationCollector) OnFinalizedBlockArrivedAtAssigner added in v0.17.1

func (vc *VerificationCollector) OnFinalizedBlockArrivedAtAssigner(height uint64)

OnFinalizedBlockArrivedAtAssigner sets a gauge that keeps track of number of the latest block height arrives at assigner engine. Note that it assumes blocks are coming to assigner engine in strictly increasing order of their height.

func (*VerificationCollector) OnResultApprovalDispatchedInNetwork added in v0.17.1

func (vc *VerificationCollector) OnResultApprovalDispatchedInNetwork()

OnResultApprovalDispatchedInNetwork is called whenever a result approval for is emitted to consensus nodes. It increases the total number of result approvals.

func (*VerificationCollector) OnVerifiableChunkReceivedAtVerifierEngine added in v0.17.1

func (vc *VerificationCollector) OnVerifiableChunkReceivedAtVerifierEngine()

OnVerifiableChunkReceivedAtVerifierEngine is called whenever a verifiable chunk is received by Verifier engine from Match engine.It increments the total number of sent verifiable chunks.

func (*VerificationCollector) OnVerifiableChunkSent

func (vc *VerificationCollector) OnVerifiableChunkSent()

OnVerifiableChunkSent is called on a successful submission of matched chunk by Match engine to Verifier engine. It increments the total number of chunks matched by match engine. TODO: remove this method once fetcher is removed.

func (*VerificationCollector) OnVerifiableChunkSentToVerifier added in v0.17.1

func (vc *VerificationCollector) OnVerifiableChunkSentToVerifier()

OnVerifiableChunkSentToVerifier increments a counter that keeps track of number of verifiable chunks fetcher engine sent to verifier engine.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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