mirror of
https://source.quilibrium.com/quilibrium/ceremonyclient.git
synced 2024-12-26 08:35:17 +00:00
32 lines
947 B
Go
32 lines
947 B
Go
|
// Package metrics provides metrics collection and reporting interfaces for libp2p.
|
||
|
package metrics
|
||
|
|
||
|
import (
|
||
|
"github.com/libp2p/go-libp2p/core/peer"
|
||
|
"github.com/libp2p/go-libp2p/core/protocol"
|
||
|
)
|
||
|
|
||
|
// Stats represents a point-in-time snapshot of bandwidth metrics.
|
||
|
//
|
||
|
// The TotalIn and TotalOut fields record cumulative bytes sent / received.
|
||
|
// The RateIn and RateOut fields record bytes sent / received per second.
|
||
|
type Stats struct {
|
||
|
TotalIn int64
|
||
|
TotalOut int64
|
||
|
RateIn float64
|
||
|
RateOut float64
|
||
|
}
|
||
|
|
||
|
// Reporter provides methods for logging and retrieving metrics.
|
||
|
type Reporter interface {
|
||
|
LogSentMessage(int64)
|
||
|
LogRecvMessage(int64)
|
||
|
LogSentMessageStream(int64, protocol.ID, peer.ID)
|
||
|
LogRecvMessageStream(int64, protocol.ID, peer.ID)
|
||
|
GetBandwidthForPeer(peer.ID) Stats
|
||
|
GetBandwidthForProtocol(protocol.ID) Stats
|
||
|
GetBandwidthTotals() Stats
|
||
|
GetBandwidthByPeer() map[peer.ID]Stats
|
||
|
GetBandwidthByProtocol() map[protocol.ID]Stats
|
||
|
}
|