From 4b9f5e77d6858182463ed7849764bc3c575b6652 Mon Sep 17 00:00:00 2001 From: Ash Kunda <18058966+akundaz@users.noreply.github.com> Date: Thu, 29 Jan 2026 10:42:27 -0500 Subject: [PATCH] chore: log rpc calls --- server/analyse.go | 6 ++++++ server/monitor.go | 28 ++++++++++++++++++++++------ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/server/analyse.go b/server/analyse.go index dba0e9b..733f646 100644 --- a/server/analyse.go +++ b/server/analyse.go @@ -215,6 +215,12 @@ func (s *Server) analyseTxpool(ctx context.Context, status map[string]*types.Bui continue } + l.Debug("Calling builder RPC", + zap.String("builder", builder), + zap.String("method", "eth_getTransactionCount"), + zap.String("addr", addr), + ) + noncePending, err := s.builders[builder].NonceAt(ctx, addrEth, nil) if err != nil { l.Warn("Failed to get pending nonce", diff --git a/server/monitor.go b/server/monitor.go index 2f486ea..4a9b030 100644 --- a/server/monitor.go +++ b/server/monitor.go @@ -33,7 +33,7 @@ func (s *Server) monitor(ctx context.Context, ts time.Time) { go func() { defer wg.Done() - s := s.getStatus(ctx, rpc) + s := s.getStatus(ctx, name, rpc) mx.Lock() status[name] = s mx.Unlock() @@ -50,28 +50,30 @@ func (s *Server) process(ctx context.Context, status map[string]*types.BuilderSt s.analyseTxpool(ctx, status) } -func (s *Server) getStatus(ctx context.Context, builder *ethclient.Client) *types.BuilderStatus { +func (s *Server) getStatus(ctx context.Context, name string, builder *ethclient.Client) *types.BuilderStatus { l := logutils.LoggerFromContext(ctx) res := &types.BuilderStatus{} errs := make([]error, 0) - if peers, err := s.getPeers(ctx, builder); err == nil { + if peers, err := s.getPeers(ctx, name, builder); err == nil { res.Peers = peers } else { errs = append(errs, err) l.Error("Failed to get builder's peers", zap.Error(err), + zap.String("builder", name), ) } if !s.cfg.Monitor.NoTxpool { - if txpool, err := s.getTxpool(ctx, builder); err == nil { + if txpool, err := s.getTxpool(ctx, name, builder); err == nil { res.Txpool = txpool } else { errs = append(errs, err) l.Error("Failed to get builder's txpool", zap.Error(err), + zap.String("builder", name), ) } } @@ -81,10 +83,17 @@ func (s *Server) getStatus(ctx context.Context, builder *ethclient.Client) *type return res } -func (s *Server) getPeers(ctx context.Context, builder *ethclient.Client) (*jrpc.AdminPeers, error) { +func (s *Server) getPeers(ctx context.Context, name string, builder *ethclient.Client) (*jrpc.AdminPeers, error) { + l := logutils.LoggerFromContext(ctx) + ctx, cancel := context.WithTimeout(ctx, s.cfg.Monitor.Timeout) defer cancel() + l.Debug("Calling builder RPC", + zap.String("builder", name), + zap.String("method", "admin_peers"), + ) + res := &jrpc.AdminPeers{} if err := builder.Client().CallContext(ctx, res, "admin_peers"); err != nil { return nil, err @@ -93,10 +102,17 @@ func (s *Server) getPeers(ctx context.Context, builder *ethclient.Client) (*jrpc return res, nil } -func (s *Server) getTxpool(ctx context.Context, builder *ethclient.Client) (*jrpc.TxpoolContent, error) { +func (s *Server) getTxpool(ctx context.Context, name string, builder *ethclient.Client) (*jrpc.TxpoolContent, error) { + l := logutils.LoggerFromContext(ctx) + ctx, cancel := context.WithTimeout(ctx, s.cfg.Monitor.Timeout) defer cancel() + l.Debug("Calling builder RPC", + zap.String("builder", name), + zap.String("method", "txpool_content"), + ) + res := &jrpc.TxpoolContent{} if err := builder.Client().CallContext(ctx, res, "txpool_content"); err != nil { return nil, err