Log frame age (#351)

This commit is contained in:
petricadaipegsp 2024-11-13 18:36:49 +01:00 committed by GitHub
parent 2780b643d8
commit 37761ebd83
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 33 additions and 1 deletions

View File

@ -9,7 +9,9 @@ import (
"source.quilibrium.com/quilibrium/monorepo/node/config"
"source.quilibrium.com/quilibrium/monorepo/node/consensus"
"source.quilibrium.com/quilibrium/monorepo/node/consensus/data/internal"
"source.quilibrium.com/quilibrium/monorepo/node/internal/frametime"
"github.com/libp2p/go-libp2p/core/peer"
"github.com/pkg/errors"
"go.uber.org/zap"
"google.golang.org/grpc"
@ -45,6 +47,7 @@ func (e *DataClockConsensusEngine) collect(
e.logger.Info(
"returning leader frame",
zap.Uint64("frame_number", latest.FrameNumber),
zap.Duration("frame_age", frametime.Since(latest)),
)
return latest, nil
@ -271,7 +274,12 @@ func (e *DataClockConsensusEngine) sync(
e.syncingStatus = SyncStatusSynchronizing
defer func() { e.syncingStatus = SyncStatusNotSyncing }()
latest := currentLatest
e.logger.Info("polling peer for new frames", zap.Binary("peer_id", peerId))
e.logger.Info(
"polling peer for new frames",
zap.String("peer_id", peer.ID(peerId).String()),
zap.Uint64("current_frame", latest.FrameNumber),
zap.Uint64("max_frame", maxFrame),
)
cc, err := e.pubSub.GetDirectChannel(peerId, "sync")
if err != nil {
e.logger.Debug(
@ -344,6 +352,7 @@ func (e *DataClockConsensusEngine) sync(
e.logger.Info(
"received new leading frame",
zap.Uint64("frame_number", response.ClockFrame.FrameNumber),
zap.Duration("frame_age", frametime.Since(response.ClockFrame)),
)
if !e.IsInProverTrie(
response.ClockFrame.GetPublicKeySignatureEd448().PublicKey.KeyValue,

View File

@ -27,6 +27,7 @@ import (
qcrypto "source.quilibrium.com/quilibrium/monorepo/node/crypto"
"source.quilibrium.com/quilibrium/monorepo/node/execution"
"source.quilibrium.com/quilibrium/monorepo/node/internal/cas"
"source.quilibrium.com/quilibrium/monorepo/node/internal/frametime"
"source.quilibrium.com/quilibrium/monorepo/node/keys"
"source.quilibrium.com/quilibrium/monorepo/node/p2p"
"source.quilibrium.com/quilibrium/monorepo/node/protobufs"
@ -418,6 +419,7 @@ func (e *DataClockConsensusEngine) Start() <-chan error {
e.logger.Info(
"preparing peer announce",
zap.Uint64("frame_number", frame.FrameNumber),
zap.Duration("frame_age", frametime.Since(frame)),
)
e.peerMapMx.Lock()
@ -461,6 +463,7 @@ func (e *DataClockConsensusEngine) Start() <-chan error {
e.logger.Info(
"broadcasting peer info",
zap.Uint64("frame_number", frame.FrameNumber),
zap.Duration("frame_age", frametime.Since(frame)),
)
if err := e.publishMessage(e.infoFilter, list); err != nil {
@ -542,6 +545,8 @@ func (e *DataClockConsensusEngine) PerformTimeProof(
"creating data shard ring proof",
zap.Int("ring", ring),
zap.Int("active_workers", len(actives)),
zap.Uint64("frame_number", frame.FrameNumber),
zap.Duration("frame_age", frametime.Since(frame)),
)
wg := sync.WaitGroup{}

View File

@ -9,6 +9,7 @@ import (
"go.uber.org/zap"
"source.quilibrium.com/quilibrium/monorepo/node/consensus"
"source.quilibrium.com/quilibrium/monorepo/node/internal/cas"
"source.quilibrium.com/quilibrium/monorepo/node/internal/frametime"
"source.quilibrium.com/quilibrium/monorepo/node/protobufs"
"source.quilibrium.com/quilibrium/monorepo/node/tries"
)
@ -98,6 +99,7 @@ func (e *DataClockConsensusEngine) processFrame(
e.logger.Info(
"current frame head",
zap.Uint64("frame_number", dataFrame.FrameNumber),
zap.Duration("frame_age", frametime.Since(dataFrame)),
)
var err error
if !e.GetFrameProverTries()[0].Contains(e.provingKeyBytes) {
@ -249,6 +251,8 @@ func (e *DataClockConsensusEngine) processFrame(
"submitting data proof",
zap.Int("ring", ring),
zap.Int("active_workers", len(outputs)),
zap.Uint64("frame_number", latestFrame.FrameNumber),
zap.Duration("frame_age", frametime.Since(latestFrame)),
)
e.publishMessage(e.txFilter, &protobufs.TokenRequest{

View File

@ -26,6 +26,7 @@ import (
qcrypto "source.quilibrium.com/quilibrium/monorepo/node/crypto"
"source.quilibrium.com/quilibrium/monorepo/node/execution"
"source.quilibrium.com/quilibrium/monorepo/node/execution/intrinsics/token/application"
"source.quilibrium.com/quilibrium/monorepo/node/internal/frametime"
"source.quilibrium.com/quilibrium/monorepo/node/keys"
"source.quilibrium.com/quilibrium/monorepo/node/p2p"
"source.quilibrium.com/quilibrium/monorepo/node/protobufs"
@ -509,6 +510,7 @@ func (e *TokenExecutionEngine) ProcessFrame(
"frame_number",
frame.FrameNumber,
),
zap.Duration("frame_age", frametime.Since(frame)),
)
app, err := application.MaterializeApplicationFromFrame(
e.provingKey,

View File

@ -0,0 +1,12 @@
package frametime
import (
"time"
"source.quilibrium.com/quilibrium/monorepo/node/protobufs"
)
// Since returns the time elapsed since the given frame was created.
func Since(frame *protobufs.ClockFrame) time.Duration {
return time.Since(time.UnixMilli(frame.Timestamp))
}