mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-12 04:30:04 +00:00
Add flag to enable logging on rejected gossip message (#11524)
* add option to log rejected gossip message * fix rejectGossipMessage return * revert test + fix import * revert all beaconchain/sync/validate_* files * log object and message if flag is set * fix failing build * remove object field Co-authored-by: terencechain <terence@prysmaticlabs.com> Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
This commit is contained in:
parent
c1446a35c5
commit
8049060119
@ -103,6 +103,7 @@ go_library(
|
||||
"//runtime/version:go_default_library",
|
||||
"//time:go_default_library",
|
||||
"//time/slots:go_default_library",
|
||||
"@com_github_ethereum_go_ethereum//common/hexutil:go_default_library",
|
||||
"@com_github_hashicorp_golang_lru//:go_default_library",
|
||||
"@com_github_kevinms_leakybucket_go//:go_default_library",
|
||||
"@com_github_libp2p_go_libp2p_core//:go_default_library",
|
||||
|
@ -8,6 +8,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
||||
"github.com/libp2p/go-libp2p-core/host"
|
||||
"github.com/libp2p/go-libp2p-core/peer"
|
||||
pubsub "github.com/libp2p/go-libp2p-pubsub"
|
||||
@ -15,6 +16,7 @@ import (
|
||||
"github.com/prysmaticlabs/prysm/v3/beacon-chain/p2p"
|
||||
"github.com/prysmaticlabs/prysm/v3/beacon-chain/p2p/peers"
|
||||
"github.com/prysmaticlabs/prysm/v3/cmd/beacon-chain/flags"
|
||||
"github.com/prysmaticlabs/prysm/v3/config/features"
|
||||
"github.com/prysmaticlabs/prysm/v3/config/params"
|
||||
types "github.com/prysmaticlabs/prysm/v3/consensus-types/primitives"
|
||||
"github.com/prysmaticlabs/prysm/v3/container/slice"
|
||||
@ -257,13 +259,17 @@ func (s *Service) wrapAndReportValidation(topic string, v wrappedVal) (string, p
|
||||
}
|
||||
b, err := v(ctx, pid, msg)
|
||||
if b == pubsub.ValidationReject {
|
||||
log.WithError(err).WithFields(logrus.Fields{
|
||||
fields := logrus.Fields{
|
||||
"topic": topic,
|
||||
"multiaddress": multiAddr(pid, s.cfg.p2p.Peers()),
|
||||
"peer id": pid.String(),
|
||||
"agent": agentString(pid, s.cfg.p2p.Host()),
|
||||
"gossip score": s.cfg.p2p.Peers().Scorers().GossipScorer().Score(pid),
|
||||
}).Debugf("Gossip message was rejected")
|
||||
}
|
||||
if features.Get().EnableFullSSZDataLogging {
|
||||
fields["message"] = hexutil.Encode(msg.Data)
|
||||
}
|
||||
log.WithError(err).WithFields(fields).Debugf("Gossip message was rejected")
|
||||
messageFailedValidationCounter.WithLabelValues(topic).Inc()
|
||||
}
|
||||
if b == pubsub.ValidationIgnore {
|
||||
|
@ -49,6 +49,7 @@ type Flags struct {
|
||||
EnableHistoricalSpaceRepresentation bool // EnableHistoricalSpaceRepresentation enables the saving of registry validators in separate buckets to save space
|
||||
// Logging related toggles.
|
||||
DisableGRPCConnectionLogs bool // Disables logging when a new grpc client has connected.
|
||||
EnableFullSSZDataLogging bool // Enables logging for full ssz data on rejected gossip messages
|
||||
|
||||
// Slasher toggles.
|
||||
DisableBroadcastSlashings bool // DisableBroadcastSlashings disables p2p broadcasting of proposer and attester slashings.
|
||||
@ -251,6 +252,10 @@ func ConfigureBeaconChain(ctx *cli.Context) error {
|
||||
logEnabled(enableStartupOptimistic)
|
||||
cfg.EnableStartOptimistic = true
|
||||
}
|
||||
if ctx.IsSet(enableFullSSZDataLogging.Name) {
|
||||
logEnabled(enableFullSSZDataLogging)
|
||||
cfg.EnableFullSSZDataLogging = true
|
||||
}
|
||||
Init(cfg)
|
||||
return nil
|
||||
}
|
||||
|
@ -124,6 +124,10 @@ var (
|
||||
Value: false,
|
||||
Hidden: true,
|
||||
}
|
||||
enableFullSSZDataLogging = &cli.BoolFlag{
|
||||
Name: "enable-full-ssz-data-logging",
|
||||
Usage: "Enables displaying logs for full ssz data on rejected gossip messages",
|
||||
}
|
||||
)
|
||||
|
||||
// devModeFlags holds list of flags that are set when development mode is on.
|
||||
@ -168,6 +172,7 @@ var BeaconChainFlags = append(deprecatedBeaconFlags, append(deprecatedFlags, []c
|
||||
EnableOnlyBlindedBeaconBlocks,
|
||||
enableStartupOptimistic,
|
||||
disableDefensivePull,
|
||||
enableFullSSZDataLogging,
|
||||
}...)...)
|
||||
|
||||
// E2EBeaconChainFlags contains a list of the beacon chain feature flags to be tested in E2E.
|
||||
|
Loading…
Reference in New Issue
Block a user