From 5722a5793c6c69148a2ddbeee7a7860481c762e7 Mon Sep 17 00:00:00 2001 From: Preston Van Loon Date: Thu, 14 Jul 2022 12:00:33 -0500 Subject: [PATCH] Tracing: properly overwrite context so that spans can be correctly attributed (#11012) Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> --- beacon-chain/blockchain/head.go | 2 +- .../cache/depositcache/deposits_cache.go | 16 ++++++------ .../cache/depositcache/pending_deposits.go | 8 +++--- beacon-chain/core/altair/epoch_precompute.go | 6 ++--- beacon-chain/core/epoch/precompute/new.go | 2 +- beacon-chain/db/kv/archived_point.go | 8 +++--- beacon-chain/db/kv/blocks.go | 26 +++++++++---------- beacon-chain/db/kv/deposit_contract.go | 4 +-- beacon-chain/db/kv/encoding.go | 4 +-- beacon-chain/db/kv/finalized_block_roots.go | 2 +- beacon-chain/db/kv/powchain.go | 4 +-- beacon-chain/db/kv/state.go | 6 ++--- beacon-chain/db/kv/state_summary.go | 2 +- beacon-chain/db/kv/utils.go | 6 ++--- beacon-chain/db/slasherkv/slasher.go | 18 ++++++------- .../doubly-linked-tree/forkchoice.go | 2 +- .../forkchoice/doubly-linked-tree/store.go | 6 ++--- beacon-chain/forkchoice/protoarray/helpers.go | 2 +- beacon-chain/forkchoice/protoarray/store.go | 8 +++--- .../operations/attestations/kv/aggregated.go | 4 +-- .../attestations/kv/unaggregated.go | 2 +- beacon-chain/operations/slashings/service.go | 6 ++--- .../operations/voluntaryexits/service.go | 2 +- beacon-chain/p2p/broadcaster.go | 2 +- beacon-chain/rpc/eth/beacon/config.go | 6 ++--- beacon-chain/rpc/eth/beacon/pool.go | 2 +- beacon-chain/rpc/eth/beacon/state.go | 2 +- beacon-chain/rpc/eth/debug/debug.go | 4 +-- beacon-chain/rpc/eth/node/node.go | 12 ++++----- beacon-chain/rpc/eth/validator/validator.go | 8 +++--- .../rpc/prysm/v1alpha1/validator/proposer.go | 2 +- .../v1alpha1/validator/proposer_altair.go | 2 +- beacon-chain/state/state-native/hasher.go | 2 +- beacon-chain/state/state-native/state_trie.go | 2 +- beacon-chain/state/stateutil/state_hasher.go | 6 ++--- beacon-chain/state/v1/state_trie.go | 2 +- beacon-chain/state/v2/state_trie.go | 4 +-- beacon-chain/state/v3/state_trie.go | 2 +- beacon-chain/sync/batch_verifier.go | 2 +- .../sync/initial-sync/blocks_fetcher_peers.go | 2 +- .../sync/pending_attestations_queue.go | 2 +- beacon-chain/sync/validate_aggregate_proof.go | 2 +- .../sync/validate_sync_committee_message.go | 2 +- .../sync/validate_sync_contribution_proof.go | 10 +++---- .../v1alpha1/attestation/attestation_utils.go | 6 ++--- validator/db/kv/attester_protection.go | 14 +++++----- validator/db/kv/backup.go | 2 +- validator/db/kv/eip_blacklisted_keys.go | 4 +-- validator/db/kv/proposer_protection.go | 10 +++---- validator/db/kv/prune_attester_protection.go | 2 +- validator/keymanager/local/keymanager.go | 4 +-- 51 files changed, 133 insertions(+), 133 deletions(-) diff --git a/beacon-chain/blockchain/head.go b/beacon-chain/blockchain/head.go index 4b4e61d2c0..6bfc4abb74 100644 --- a/beacon-chain/blockchain/head.go +++ b/beacon-chain/blockchain/head.go @@ -220,7 +220,7 @@ func (s *Service) headBlock() interfaces.SignedBeaconBlock { // It does a full copy on head state for immutability. // This is a lock free version. func (s *Service) headState(ctx context.Context) state.BeaconState { - _, span := trace.StartSpan(ctx, "blockChain.headState") + ctx, span := trace.StartSpan(ctx, "blockChain.headState") defer span.End() return s.head.state.Copy() diff --git a/beacon-chain/cache/depositcache/deposits_cache.go b/beacon-chain/cache/depositcache/deposits_cache.go index d2d263a367..beb3767e1a 100644 --- a/beacon-chain/cache/depositcache/deposits_cache.go +++ b/beacon-chain/cache/depositcache/deposits_cache.go @@ -77,7 +77,7 @@ func New() (*DepositCache, error) { // InsertDeposit into the database. If deposit or block number are nil // then this method does nothing. func (dc *DepositCache) InsertDeposit(ctx context.Context, d *ethpb.Deposit, blockNum uint64, index int64, depositRoot [32]byte) error { - _, span := trace.StartSpan(ctx, "DepositsCache.InsertDeposit") + ctx, span := trace.StartSpan(ctx, "DepositsCache.InsertDeposit") defer span.End() if d == nil { log.WithFields(logrus.Fields{ @@ -111,7 +111,7 @@ func (dc *DepositCache) InsertDeposit(ctx context.Context, d *ethpb.Deposit, blo // InsertDepositContainers inserts a set of deposit containers into our deposit cache. func (dc *DepositCache) InsertDepositContainers(ctx context.Context, ctrs []*ethpb.DepositContainer) { - _, span := trace.StartSpan(ctx, "DepositsCache.InsertDepositContainers") + ctx, span := trace.StartSpan(ctx, "DepositsCache.InsertDepositContainers") defer span.End() dc.depositsLock.Lock() defer dc.depositsLock.Unlock() @@ -130,7 +130,7 @@ func (dc *DepositCache) InsertDepositContainers(ctx context.Context, ctrs []*eth // InsertFinalizedDeposits inserts deposits up to eth1DepositIndex (inclusive) into the finalized deposits cache. func (dc *DepositCache) InsertFinalizedDeposits(ctx context.Context, eth1DepositIndex int64) { - _, span := trace.StartSpan(ctx, "DepositsCache.InsertFinalizedDeposits") + ctx, span := trace.StartSpan(ctx, "DepositsCache.InsertFinalizedDeposits") defer span.End() dc.depositsLock.Lock() defer dc.depositsLock.Unlock() @@ -180,7 +180,7 @@ func (dc *DepositCache) InsertFinalizedDeposits(ctx context.Context, eth1Deposit // AllDepositContainers returns all historical deposit containers. func (dc *DepositCache) AllDepositContainers(ctx context.Context) []*ethpb.DepositContainer { - _, span := trace.StartSpan(ctx, "DepositsCache.AllDepositContainers") + ctx, span := trace.StartSpan(ctx, "DepositsCache.AllDepositContainers") defer span.End() dc.depositsLock.RLock() defer dc.depositsLock.RUnlock() @@ -191,7 +191,7 @@ func (dc *DepositCache) AllDepositContainers(ctx context.Context) []*ethpb.Depos // AllDeposits returns a list of historical deposits until the given block number // (inclusive). If no block is specified then this method returns all historical deposits. func (dc *DepositCache) AllDeposits(ctx context.Context, untilBlk *big.Int) []*ethpb.Deposit { - _, span := trace.StartSpan(ctx, "DepositsCache.AllDeposits") + ctx, span := trace.StartSpan(ctx, "DepositsCache.AllDeposits") defer span.End() dc.depositsLock.RLock() defer dc.depositsLock.RUnlock() @@ -212,7 +212,7 @@ func (dc *DepositCache) allDeposits(untilBlk *big.Int) []*ethpb.Deposit { // DepositsNumberAndRootAtHeight returns number of deposits made up to blockheight and the // root that corresponds to the latest deposit at that blockheight. func (dc *DepositCache) DepositsNumberAndRootAtHeight(ctx context.Context, blockHeight *big.Int) (uint64, [32]byte) { - _, span := trace.StartSpan(ctx, "DepositsCache.DepositsNumberAndRootAtHeight") + ctx, span := trace.StartSpan(ctx, "DepositsCache.DepositsNumberAndRootAtHeight") defer span.End() dc.depositsLock.RLock() defer dc.depositsLock.RUnlock() @@ -228,7 +228,7 @@ func (dc *DepositCache) DepositsNumberAndRootAtHeight(ctx context.Context, block // DepositByPubkey looks through historical deposits and finds one which contains // a certain public key within its deposit data. func (dc *DepositCache) DepositByPubkey(ctx context.Context, pubKey []byte) (*ethpb.Deposit, *big.Int) { - _, span := trace.StartSpan(ctx, "DepositsCache.DepositByPubkey") + ctx, span := trace.StartSpan(ctx, "DepositsCache.DepositByPubkey") defer span.End() dc.depositsLock.RLock() defer dc.depositsLock.RUnlock() @@ -249,7 +249,7 @@ func (dc *DepositCache) DepositByPubkey(ctx context.Context, pubKey []byte) (*et // FinalizedDeposits returns the finalized deposits trie. func (dc *DepositCache) FinalizedDeposits(ctx context.Context) *FinalizedDeposits { - _, span := trace.StartSpan(ctx, "DepositsCache.FinalizedDeposits") + ctx, span := trace.StartSpan(ctx, "DepositsCache.FinalizedDeposits") defer span.End() dc.depositsLock.RLock() defer dc.depositsLock.RUnlock() diff --git a/beacon-chain/cache/depositcache/pending_deposits.go b/beacon-chain/cache/depositcache/pending_deposits.go index 99dec1bf82..b383840d38 100644 --- a/beacon-chain/cache/depositcache/pending_deposits.go +++ b/beacon-chain/cache/depositcache/pending_deposits.go @@ -29,7 +29,7 @@ type PendingDepositsFetcher interface { // InsertPendingDeposit into the database. If deposit or block number are nil // then this method does nothing. func (dc *DepositCache) InsertPendingDeposit(ctx context.Context, d *ethpb.Deposit, blockNum uint64, index int64, depositRoot [32]byte) { - _, span := trace.StartSpan(ctx, "DepositsCache.InsertPendingDeposit") + ctx, span := trace.StartSpan(ctx, "DepositsCache.InsertPendingDeposit") defer span.End() if d == nil { log.WithFields(logrus.Fields{ @@ -66,7 +66,7 @@ func (dc *DepositCache) PendingDeposits(ctx context.Context, untilBlk *big.Int) // PendingContainers returns a list of deposit containers until the given block number // (inclusive). func (dc *DepositCache) PendingContainers(ctx context.Context, untilBlk *big.Int) []*ethpb.DepositContainer { - _, span := trace.StartSpan(ctx, "DepositsCache.PendingDeposits") + ctx, span := trace.StartSpan(ctx, "DepositsCache.PendingDeposits") defer span.End() dc.depositsLock.RLock() defer dc.depositsLock.RUnlock() @@ -90,7 +90,7 @@ func (dc *DepositCache) PendingContainers(ctx context.Context, untilBlk *big.Int // RemovePendingDeposit from the database. The deposit is indexed by the // Index. This method does nothing if deposit ptr is nil. func (dc *DepositCache) RemovePendingDeposit(ctx context.Context, d *ethpb.Deposit) { - _, span := trace.StartSpan(ctx, "DepositsCache.RemovePendingDeposit") + ctx, span := trace.StartSpan(ctx, "DepositsCache.RemovePendingDeposit") defer span.End() if d == nil { @@ -128,7 +128,7 @@ func (dc *DepositCache) RemovePendingDeposit(ctx context.Context, d *ethpb.Depos // PrunePendingDeposits removes any deposit which is older than the given deposit merkle tree index. func (dc *DepositCache) PrunePendingDeposits(ctx context.Context, merkleTreeIndex int64) { - _, span := trace.StartSpan(ctx, "DepositsCache.PrunePendingDeposits") + ctx, span := trace.StartSpan(ctx, "DepositsCache.PrunePendingDeposits") defer span.End() if merkleTreeIndex == 0 { diff --git a/beacon-chain/core/altair/epoch_precompute.go b/beacon-chain/core/altair/epoch_precompute.go index b137dedf74..9358eac252 100644 --- a/beacon-chain/core/altair/epoch_precompute.go +++ b/beacon-chain/core/altair/epoch_precompute.go @@ -15,7 +15,7 @@ import ( // InitializePrecomputeValidators precomputes individual validator for its attested balances and the total sum of validators attested balances of the epoch. func InitializePrecomputeValidators(ctx context.Context, beaconState state.BeaconState) ([]*precompute.Validator, *precompute.Balance, error) { - _, span := trace.StartSpan(ctx, "altair.InitializePrecomputeValidators") + ctx, span := trace.StartSpan(ctx, "altair.InitializePrecomputeValidators") defer span.End() vals := make([]*precompute.Validator, beaconState.NumValidators()) bal := &precompute.Balance{} @@ -76,7 +76,7 @@ func ProcessInactivityScores( beaconState state.BeaconState, vals []*precompute.Validator, ) (state.BeaconState, []*precompute.Validator, error) { - _, span := trace.StartSpan(ctx, "altair.ProcessInactivityScores") + ctx, span := trace.StartSpan(ctx, "altair.ProcessInactivityScores") defer span.End() cfg := params.BeaconConfig() @@ -144,7 +144,7 @@ func ProcessEpochParticipation( bal *precompute.Balance, vals []*precompute.Validator, ) ([]*precompute.Validator, *precompute.Balance, error) { - _, span := trace.StartSpan(ctx, "altair.ProcessEpochParticipation") + ctx, span := trace.StartSpan(ctx, "altair.ProcessEpochParticipation") defer span.End() cp, err := beaconState.CurrentEpochParticipation() diff --git a/beacon-chain/core/epoch/precompute/new.go b/beacon-chain/core/epoch/precompute/new.go index a41d35c3b3..1186213e38 100644 --- a/beacon-chain/core/epoch/precompute/new.go +++ b/beacon-chain/core/epoch/precompute/new.go @@ -18,7 +18,7 @@ import ( // pre computed instances of validators attesting records and total // balances attested in an epoch. func New(ctx context.Context, s state.BeaconState) ([]*Validator, *Balance, error) { - _, span := trace.StartSpan(ctx, "precomputeEpoch.New") + ctx, span := trace.StartSpan(ctx, "precomputeEpoch.New") defer span.End() pValidators := make([]*Validator, s.NumValidators()) diff --git a/beacon-chain/db/kv/archived_point.go b/beacon-chain/db/kv/archived_point.go index 3d01a0881a..7eaf7f4f75 100644 --- a/beacon-chain/db/kv/archived_point.go +++ b/beacon-chain/db/kv/archived_point.go @@ -11,7 +11,7 @@ import ( // LastArchivedSlot from the db. func (s *Store) LastArchivedSlot(ctx context.Context) (types.Slot, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.LastArchivedSlot") + ctx, span := trace.StartSpan(ctx, "BeaconDB.LastArchivedSlot") defer span.End() var index types.Slot err := s.db.View(func(tx *bolt.Tx) error { @@ -26,7 +26,7 @@ func (s *Store) LastArchivedSlot(ctx context.Context) (types.Slot, error) { // LastArchivedRoot from the db. func (s *Store) LastArchivedRoot(ctx context.Context) [32]byte { - _, span := trace.StartSpan(ctx, "BeaconDB.LastArchivedRoot") + ctx, span := trace.StartSpan(ctx, "BeaconDB.LastArchivedRoot") defer span.End() var blockRoot []byte @@ -44,7 +44,7 @@ func (s *Store) LastArchivedRoot(ctx context.Context) [32]byte { // ArchivedPointRoot returns the block root of an archived point from the DB. // This is essential for cold state management and to restore a cold state. func (s *Store) ArchivedPointRoot(ctx context.Context, slot types.Slot) [32]byte { - _, span := trace.StartSpan(ctx, "BeaconDB.ArchivedPointRoot") + ctx, span := trace.StartSpan(ctx, "BeaconDB.ArchivedPointRoot") defer span.End() var blockRoot []byte @@ -61,7 +61,7 @@ func (s *Store) ArchivedPointRoot(ctx context.Context, slot types.Slot) [32]byte // HasArchivedPoint returns true if an archived point exists in DB. func (s *Store) HasArchivedPoint(ctx context.Context, slot types.Slot) bool { - _, span := trace.StartSpan(ctx, "BeaconDB.HasArchivedPoint") + ctx, span := trace.StartSpan(ctx, "BeaconDB.HasArchivedPoint") defer span.End() var exists bool if err := s.db.View(func(tx *bolt.Tx) error { diff --git a/beacon-chain/db/kv/blocks.go b/beacon-chain/db/kv/blocks.go index 473d9e0cad..52232db8bb 100644 --- a/beacon-chain/db/kv/blocks.go +++ b/beacon-chain/db/kv/blocks.go @@ -54,7 +54,7 @@ func (s *Store) Block(ctx context.Context, blockRoot [32]byte) (interfaces.Signe // at the time the chain was started, used to initialize the database and chain // without syncing from genesis. func (s *Store) OriginCheckpointBlockRoot(ctx context.Context) ([32]byte, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.OriginCheckpointBlockRoot") + ctx, span := trace.StartSpan(ctx, "BeaconDB.OriginCheckpointBlockRoot") defer span.End() var root [32]byte @@ -73,7 +73,7 @@ func (s *Store) OriginCheckpointBlockRoot(ctx context.Context) ([32]byte, error) // BackfillBlockRoot keeps track of the highest block available before the OriginCheckpointBlockRoot func (s *Store) BackfillBlockRoot(ctx context.Context) ([32]byte, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.BackfillBlockRoot") + ctx, span := trace.StartSpan(ctx, "BeaconDB.BackfillBlockRoot") defer span.End() var root [32]byte @@ -169,7 +169,7 @@ func (s *Store) BlockRoots(ctx context.Context, f *filters.QueryFilter) ([][32]b // HasBlock checks if a block by root exists in the db. func (s *Store) HasBlock(ctx context.Context, blockRoot [32]byte) bool { - _, span := trace.StartSpan(ctx, "BeaconDB.HasBlock") + ctx, span := trace.StartSpan(ctx, "BeaconDB.HasBlock") defer span.End() if v, ok := s.blockCache.Get(string(blockRoot[:])); v != nil && ok { return true @@ -326,7 +326,7 @@ func (s *Store) SaveBlocks(ctx context.Context, blocks []interfaces.SignedBeacon // SaveHeadBlockRoot to the db. func (s *Store) SaveHeadBlockRoot(ctx context.Context, blockRoot [32]byte) error { - _, span := trace.StartSpan(ctx, "BeaconDB.SaveHeadBlockRoot") + ctx, span := trace.StartSpan(ctx, "BeaconDB.SaveHeadBlockRoot") defer span.End() return s.db.Update(func(tx *bolt.Tx) error { hasStateSummary := s.hasStateSummaryBytes(tx, blockRoot) @@ -377,7 +377,7 @@ func (s *Store) GenesisBlockRoot(ctx context.Context) ([32]byte, error) { // SaveGenesisBlockRoot to the db. func (s *Store) SaveGenesisBlockRoot(ctx context.Context, blockRoot [32]byte) error { - _, span := trace.StartSpan(ctx, "BeaconDB.SaveGenesisBlockRoot") + ctx, span := trace.StartSpan(ctx, "BeaconDB.SaveGenesisBlockRoot") defer span.End() return s.db.Update(func(tx *bolt.Tx) error { bucket := tx.Bucket(blocksBucket) @@ -390,7 +390,7 @@ func (s *Store) SaveGenesisBlockRoot(ctx context.Context, blockRoot [32]byte) er // This value is used by a running beacon chain node to locate the state at the beginning // of the chain history, in places where genesis would typically be used. func (s *Store) SaveOriginCheckpointBlockRoot(ctx context.Context, blockRoot [32]byte) error { - _, span := trace.StartSpan(ctx, "BeaconDB.SaveOriginCheckpointBlockRoot") + ctx, span := trace.StartSpan(ctx, "BeaconDB.SaveOriginCheckpointBlockRoot") defer span.End() return s.db.Update(func(tx *bolt.Tx) error { bucket := tx.Bucket(blocksBucket) @@ -401,7 +401,7 @@ func (s *Store) SaveOriginCheckpointBlockRoot(ctx context.Context, blockRoot [32 // SaveBackfillBlockRoot is used to keep track of the most recently backfilled block root when // the node was initialized via checkpoint sync. func (s *Store) SaveBackfillBlockRoot(ctx context.Context, blockRoot [32]byte) error { - _, span := trace.StartSpan(ctx, "BeaconDB.SaveBackfillBlockRoot") + ctx, span := trace.StartSpan(ctx, "BeaconDB.SaveBackfillBlockRoot") defer span.End() return s.db.Update(func(tx *bolt.Tx) error { bucket := tx.Bucket(blocksBucket) @@ -500,7 +500,7 @@ func (s *Store) FeeRecipientByValidatorID(ctx context.Context, id types.Validato // SaveFeeRecipientsByValidatorIDs saves the fee recipients for validator ids. // Error is returned if `ids` and `recipients` are not the same length. func (s *Store) SaveFeeRecipientsByValidatorIDs(ctx context.Context, ids []types.ValidatorIndex, feeRecipients []common.Address) error { - _, span := trace.StartSpan(ctx, "BeaconDB.SaveFeeRecipientByValidatorID") + ctx, span := trace.StartSpan(ctx, "BeaconDB.SaveFeeRecipientByValidatorID") defer span.End() if len(ids) != len(feeRecipients) { @@ -538,7 +538,7 @@ func (s *Store) RegistrationByValidatorID(ctx context.Context, id types.Validato // SaveRegistrationsByValidatorIDs saves the validator registrations for validator ids. // Error is returned if `ids` and `registrations` are not the same length. func (s *Store) SaveRegistrationsByValidatorIDs(ctx context.Context, ids []types.ValidatorIndex, regs []*ethpb.ValidatorRegistrationV1) error { - _, span := trace.StartSpan(ctx, "BeaconDB.SaveRegistrationsByValidatorIDs") + ctx, span := trace.StartSpan(ctx, "BeaconDB.SaveRegistrationsByValidatorIDs") defer span.End() if len(ids) != len(regs) { @@ -625,7 +625,7 @@ func blockRootsBySlotRange( bkt *bolt.Bucket, startSlotEncoded, endSlotEncoded, startEpochEncoded, endEpochEncoded, slotStepEncoded interface{}, ) ([][]byte, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.blockRootsBySlotRange") + ctx, span := trace.StartSpan(ctx, "BeaconDB.blockRootsBySlotRange") defer span.End() // Return nothing when all slot parameters are missing @@ -690,7 +690,7 @@ func blockRootsBySlotRange( // blockRootsBySlot retrieves the block roots by slot func blockRootsBySlot(ctx context.Context, tx *bolt.Tx, slot types.Slot) ([][32]byte, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.blockRootsBySlot") + ctx, span := trace.StartSpan(ctx, "BeaconDB.blockRootsBySlot") defer span.End() bkt := tx.Bucket(blockSlotIndicesBucket) @@ -711,7 +711,7 @@ func blockRootsBySlot(ctx context.Context, tx *bolt.Tx, slot types.Slot) ([][32] // a map of bolt DB index buckets corresponding to each particular key for indices for // data, such as (shard indices bucket -> shard 5). func createBlockIndicesFromBlock(ctx context.Context, block interfaces.BeaconBlock) map[string][]byte { - _, span := trace.StartSpan(ctx, "BeaconDB.createBlockIndicesFromBlock") + ctx, span := trace.StartSpan(ctx, "BeaconDB.createBlockIndicesFromBlock") defer span.End() indicesByBucket := make(map[string][]byte) // Every index has a unique bucket for fast, binary-search @@ -739,7 +739,7 @@ func createBlockIndicesFromBlock(ctx context.Context, block interfaces.BeaconBlo // objects. If a certain filter criterion does not apply to // blocks, an appropriate error is returned. func createBlockIndicesFromFilters(ctx context.Context, f *filters.QueryFilter) (map[string][]byte, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.createBlockIndicesFromFilters") + ctx, span := trace.StartSpan(ctx, "BeaconDB.createBlockIndicesFromFilters") defer span.End() indicesByBucket := make(map[string][]byte) for k, v := range f.Filters() { diff --git a/beacon-chain/db/kv/deposit_contract.go b/beacon-chain/db/kv/deposit_contract.go index 3e67b1925b..caba31c704 100644 --- a/beacon-chain/db/kv/deposit_contract.go +++ b/beacon-chain/db/kv/deposit_contract.go @@ -12,7 +12,7 @@ import ( // DepositContractAddress returns contract address is the address of // the deposit contract on the proof of work chain. func (s *Store) DepositContractAddress(ctx context.Context) ([]byte, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.DepositContractAddress") + ctx, span := trace.StartSpan(ctx, "BeaconDB.DepositContractAddress") defer span.End() var addr []byte if err := s.db.View(func(tx *bolt.Tx) error { @@ -27,7 +27,7 @@ func (s *Store) DepositContractAddress(ctx context.Context) ([]byte, error) { // SaveDepositContractAddress to the db. It returns an error if an address has been previously saved. func (s *Store) SaveDepositContractAddress(ctx context.Context, addr common.Address) error { - _, span := trace.StartSpan(ctx, "BeaconDB.VerifyContractAddress") + ctx, span := trace.StartSpan(ctx, "BeaconDB.VerifyContractAddress") defer span.End() return s.db.Update(func(tx *bolt.Tx) error { diff --git a/beacon-chain/db/kv/encoding.go b/beacon-chain/db/kv/encoding.go index 6bb0a237cf..1a043c54e8 100644 --- a/beacon-chain/db/kv/encoding.go +++ b/beacon-chain/db/kv/encoding.go @@ -13,7 +13,7 @@ import ( ) func decode(ctx context.Context, data []byte, dst proto.Message) error { - _, span := trace.StartSpan(ctx, "BeaconDB.decode") + ctx, span := trace.StartSpan(ctx, "BeaconDB.decode") defer span.End() data, err := snappy.Decode(nil, data) @@ -27,7 +27,7 @@ func decode(ctx context.Context, data []byte, dst proto.Message) error { } func encode(ctx context.Context, msg proto.Message) ([]byte, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.encode") + ctx, span := trace.StartSpan(ctx, "BeaconDB.encode") defer span.End() if msg == nil || reflect.ValueOf(msg).IsNil() { diff --git a/beacon-chain/db/kv/finalized_block_roots.go b/beacon-chain/db/kv/finalized_block_roots.go index 42d51440f7..477f25cd66 100644 --- a/beacon-chain/db/kv/finalized_block_roots.go +++ b/beacon-chain/db/kv/finalized_block_roots.go @@ -166,7 +166,7 @@ func (s *Store) updateFinalizedBlockRoots(ctx context.Context, tx *bolt.Tx, chec // Note: beacon blocks from the latest finalized epoch return true, whether or not they are // considered canonical in the "head view" of the beacon node. func (s *Store) IsFinalizedBlock(ctx context.Context, blockRoot [32]byte) bool { - _, span := trace.StartSpan(ctx, "BeaconDB.IsFinalizedBlock") + ctx, span := trace.StartSpan(ctx, "BeaconDB.IsFinalizedBlock") defer span.End() var exists bool diff --git a/beacon-chain/db/kv/powchain.go b/beacon-chain/db/kv/powchain.go index 76ddafa214..b090780784 100644 --- a/beacon-chain/db/kv/powchain.go +++ b/beacon-chain/db/kv/powchain.go @@ -13,7 +13,7 @@ import ( // SavePowchainData saves the pow chain data. func (s *Store) SavePowchainData(ctx context.Context, data *v2.ETH1ChainData) error { - _, span := trace.StartSpan(ctx, "BeaconDB.SavePowchainData") + ctx, span := trace.StartSpan(ctx, "BeaconDB.SavePowchainData") defer span.End() if data == nil { @@ -36,7 +36,7 @@ func (s *Store) SavePowchainData(ctx context.Context, data *v2.ETH1ChainData) er // PowchainData retrieves the powchain data. func (s *Store) PowchainData(ctx context.Context) (*v2.ETH1ChainData, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.PowchainData") + ctx, span := trace.StartSpan(ctx, "BeaconDB.PowchainData") defer span.End() var data *v2.ETH1ChainData diff --git a/beacon-chain/db/kv/state.go b/beacon-chain/db/kv/state.go index 1a1c30b17e..c5ab8d75ca 100644 --- a/beacon-chain/db/kv/state.go +++ b/beacon-chain/db/kv/state.go @@ -338,7 +338,7 @@ func (s *Store) storeValidatorEntriesSeparately(ctx context.Context, tx *bolt.Tx // HasState checks if a state by root exists in the db. func (s *Store) HasState(ctx context.Context, blockRoot [32]byte) bool { - _, span := trace.StartSpan(ctx, "BeaconDB.HasState") + ctx, span := trace.StartSpan(ctx, "BeaconDB.HasState") defer span.End() hasState := false err := s.db.View(func(tx *bolt.Tx) error { @@ -615,7 +615,7 @@ func (s *Store) validatorEntries(ctx context.Context, blockRoot [32]byte) ([]*et // retrieves and assembles the state information from multiple buckets. func (s *Store) stateBytes(ctx context.Context, blockRoot [32]byte) ([]byte, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.stateBytes") + ctx, span := trace.StartSpan(ctx, "BeaconDB.stateBytes") defer span.End() var dst []byte err := s.db.View(func(tx *bolt.Tx) error { @@ -738,7 +738,7 @@ func (s *Store) HighestSlotStatesBelow(ctx context.Context, slot types.Slot) ([] // a map of bolt DB index buckets corresponding to each particular key for indices for // data, such as (shard indices bucket -> shard 5). func createStateIndicesFromStateSlot(ctx context.Context, slot types.Slot) map[string][]byte { - _, span := trace.StartSpan(ctx, "BeaconDB.createStateIndicesFromState") + ctx, span := trace.StartSpan(ctx, "BeaconDB.createStateIndicesFromState") defer span.End() indicesByBucket := make(map[string][]byte) // Every index has a unique bucket for fast, binary-search diff --git a/beacon-chain/db/kv/state_summary.go b/beacon-chain/db/kv/state_summary.go index 861cafec26..5bb45690ca 100644 --- a/beacon-chain/db/kv/state_summary.go +++ b/beacon-chain/db/kv/state_summary.go @@ -64,7 +64,7 @@ func (s *Store) StateSummary(ctx context.Context, blockRoot [32]byte) (*ethpb.St // HasStateSummary returns true if a state summary exists in DB. func (s *Store) HasStateSummary(ctx context.Context, blockRoot [32]byte) bool { - _, span := trace.StartSpan(ctx, "BeaconDB.HasStateSummary") + ctx, span := trace.StartSpan(ctx, "BeaconDB.HasStateSummary") defer span.End() var hasSummary bool diff --git a/beacon-chain/db/kv/utils.go b/beacon-chain/db/kv/utils.go index 88d2e98d45..14d3ec6946 100644 --- a/beacon-chain/db/kv/utils.go +++ b/beacon-chain/db/kv/utils.go @@ -18,7 +18,7 @@ import ( // we might find roots `0x23` and `0x45` stored under that index. We can then // do a batch read for attestations corresponding to those roots. func lookupValuesForIndices(ctx context.Context, indicesByBucket map[string][]byte, tx *bolt.Tx) [][][]byte { - _, span := trace.StartSpan(ctx, "BeaconDB.lookupValuesForIndices") + ctx, span := trace.StartSpan(ctx, "BeaconDB.lookupValuesForIndices") defer span.End() values := make([][][]byte, 0, len(indicesByBucket)) for k, v := range indicesByBucket { @@ -37,7 +37,7 @@ func lookupValuesForIndices(ctx context.Context, indicesByBucket map[string][]by // values stored at said index. Typically, indices are roots of data that can then // be used for reads or batch reads from the DB. func updateValueForIndices(ctx context.Context, indicesByBucket map[string][]byte, root []byte, tx *bolt.Tx) error { - _, span := trace.StartSpan(ctx, "BeaconDB.updateValueForIndices") + ctx, span := trace.StartSpan(ctx, "BeaconDB.updateValueForIndices") defer span.End() for k, idx := range indicesByBucket { bkt := tx.Bucket([]byte(k)) @@ -63,7 +63,7 @@ func updateValueForIndices(ctx context.Context, indicesByBucket map[string][]byt // deleteValueForIndices clears a root stored at each index. func deleteValueForIndices(ctx context.Context, indicesByBucket map[string][]byte, root []byte, tx *bolt.Tx) error { - _, span := trace.StartSpan(ctx, "BeaconDB.deleteValueForIndices") + ctx, span := trace.StartSpan(ctx, "BeaconDB.deleteValueForIndices") defer span.End() for k, idx := range indicesByBucket { bkt := tx.Bucket([]byte(k)) diff --git a/beacon-chain/db/slasherkv/slasher.go b/beacon-chain/db/slasherkv/slasher.go index 315292487e..7baec7be1b 100644 --- a/beacon-chain/db/slasherkv/slasher.go +++ b/beacon-chain/db/slasherkv/slasher.go @@ -31,7 +31,7 @@ const ( func (s *Store) LastEpochWrittenForValidators( ctx context.Context, validatorIndices []types.ValidatorIndex, ) ([]*slashertypes.AttestedEpochForValidator, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.LastEpochWrittenForValidators") + ctx, span := trace.StartSpan(ctx, "BeaconDB.LastEpochWrittenForValidators") defer span.End() attestedEpochs := make([]*slashertypes.AttestedEpochForValidator, 0) encodedIndices := make([][]byte, len(validatorIndices)) @@ -63,7 +63,7 @@ func (s *Store) LastEpochWrittenForValidators( func (s *Store) SaveLastEpochsWrittenForValidators( ctx context.Context, epochByValidator map[types.ValidatorIndex]types.Epoch, ) error { - _, span := trace.StartSpan(ctx, "BeaconDB.SaveLastEpochsWrittenForValidators") + ctx, span := trace.StartSpan(ctx, "BeaconDB.SaveLastEpochsWrittenForValidators") defer span.End() encodedIndices := make([][]byte, 0, len(epochByValidator)) encodedEpochs := make([][]byte, 0, len(epochByValidator)) @@ -183,7 +183,7 @@ func (s *Store) CheckAttesterDoubleVotes( func (s *Store) AttestationRecordForValidator( ctx context.Context, validatorIdx types.ValidatorIndex, targetEpoch types.Epoch, ) (*slashertypes.IndexedAttestationWrapper, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.AttestationRecordForValidator") + ctx, span := trace.StartSpan(ctx, "BeaconDB.AttestationRecordForValidator") defer span.End() var record *slashertypes.IndexedAttestationWrapper encIdx := encodeValidatorIndex(validatorIdx) @@ -215,7 +215,7 @@ func (s *Store) SaveAttestationRecordsForValidators( ctx context.Context, attestations []*slashertypes.IndexedAttestationWrapper, ) error { - _, span := trace.StartSpan(ctx, "BeaconDB.SaveAttestationRecordsForValidators") + ctx, span := trace.StartSpan(ctx, "BeaconDB.SaveAttestationRecordsForValidators") defer span.End() encodedTargetEpoch := make([][]byte, len(attestations)) encodedRecords := make([][]byte, len(attestations)) @@ -259,7 +259,7 @@ func (s *Store) SaveAttestationRecordsForValidators( func (s *Store) LoadSlasherChunks( ctx context.Context, kind slashertypes.ChunkKind, diskKeys [][]byte, ) ([][]uint16, []bool, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.LoadSlasherChunk") + ctx, span := trace.StartSpan(ctx, "BeaconDB.LoadSlasherChunk") defer span.End() chunks := make([][]uint16, 0) var exists []bool @@ -290,7 +290,7 @@ func (s *Store) LoadSlasherChunks( func (s *Store) SaveSlasherChunks( ctx context.Context, kind slashertypes.ChunkKind, chunkKeys [][]byte, chunks [][]uint16, ) error { - _, span := trace.StartSpan(ctx, "BeaconDB.SaveSlasherChunks") + ctx, span := trace.StartSpan(ctx, "BeaconDB.SaveSlasherChunks") defer span.End() encodedKeys := make([][]byte, len(chunkKeys)) encodedChunks := make([][]byte, len(chunkKeys)) @@ -320,7 +320,7 @@ func (s *Store) SaveSlasherChunks( func (s *Store) CheckDoubleBlockProposals( ctx context.Context, proposals []*slashertypes.SignedBlockHeaderWrapper, ) ([]*ethpb.ProposerSlashing, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.CheckDoubleBlockProposals") + ctx, span := trace.StartSpan(ctx, "BeaconDB.CheckDoubleBlockProposals") defer span.End() proposerSlashings := make([]*ethpb.ProposerSlashing, 0, len(proposals)) err := s.db.View(func(tx *bolt.Tx) error { @@ -359,7 +359,7 @@ func (s *Store) CheckDoubleBlockProposals( func (s *Store) BlockProposalForValidator( ctx context.Context, validatorIdx types.ValidatorIndex, slot types.Slot, ) (*slashertypes.SignedBlockHeaderWrapper, error) { - _, span := trace.StartSpan(ctx, "BeaconDB.BlockProposalForValidator") + ctx, span := trace.StartSpan(ctx, "BeaconDB.BlockProposalForValidator") defer span.End() var record *slashertypes.SignedBlockHeaderWrapper key, err := keyForValidatorProposal(slot, validatorIdx) @@ -387,7 +387,7 @@ func (s *Store) BlockProposalForValidator( func (s *Store) SaveBlockProposals( ctx context.Context, proposals []*slashertypes.SignedBlockHeaderWrapper, ) error { - _, span := trace.StartSpan(ctx, "BeaconDB.SaveBlockProposals") + ctx, span := trace.StartSpan(ctx, "BeaconDB.SaveBlockProposals") defer span.End() encodedKeys := make([][]byte, len(proposals)) encodedProposals := make([][]byte, len(proposals)) diff --git a/beacon-chain/forkchoice/doubly-linked-tree/forkchoice.go b/beacon-chain/forkchoice/doubly-linked-tree/forkchoice.go index 9129491514..c584755acd 100644 --- a/beacon-chain/forkchoice/doubly-linked-tree/forkchoice.go +++ b/beacon-chain/forkchoice/doubly-linked-tree/forkchoice.go @@ -89,7 +89,7 @@ func (f *ForkChoice) Head( // ProcessAttestation processes attestation for vote accounting, it iterates around validator indices // and update their votes accordingly. func (f *ForkChoice) ProcessAttestation(ctx context.Context, validatorIndices []uint64, blockRoot [32]byte, targetEpoch types.Epoch) { - _, span := trace.StartSpan(ctx, "doublyLinkedForkchoice.ProcessAttestation") + ctx, span := trace.StartSpan(ctx, "doublyLinkedForkchoice.ProcessAttestation") defer span.End() f.votesLock.Lock() defer f.votesLock.Unlock() diff --git a/beacon-chain/forkchoice/doubly-linked-tree/store.go b/beacon-chain/forkchoice/doubly-linked-tree/store.go index bdec7d2c90..634d3c91ef 100644 --- a/beacon-chain/forkchoice/doubly-linked-tree/store.go +++ b/beacon-chain/forkchoice/doubly-linked-tree/store.go @@ -63,7 +63,7 @@ func (s *Store) PruneThreshold() uint64 { // head starts from justified root and then follows the best descendant links // to find the best block for head. This function assumes a lock on s.nodesLock func (s *Store) head(ctx context.Context) ([32]byte, error) { - _, span := trace.StartSpan(ctx, "doublyLinkedForkchoice.head") + ctx, span := trace.StartSpan(ctx, "doublyLinkedForkchoice.head") defer span.End() s.checkpointsLock.RLock() defer s.checkpointsLock.RUnlock() @@ -109,7 +109,7 @@ func (s *Store) insert(ctx context.Context, slot types.Slot, root, parentRoot, payloadHash [fieldparams.RootLength]byte, justifiedEpoch, finalizedEpoch types.Epoch) (*Node, error) { - _, span := trace.StartSpan(ctx, "doublyLinkedForkchoice.insert") + ctx, span := trace.StartSpan(ctx, "doublyLinkedForkchoice.insert") defer span.End() s.nodesLock.Lock() @@ -196,7 +196,7 @@ func (s *Store) pruneFinalizedNodeByRootMap(ctx context.Context, node, finalized // root is different than the current store finalized root, and the number of the store has met prune threshold. // This function does not prune for invalid optimistically synced nodes, it deals only with pruning upon finalization func (s *Store) prune(ctx context.Context) error { - _, span := trace.StartSpan(ctx, "doublyLinkedForkchoice.Prune") + ctx, span := trace.StartSpan(ctx, "doublyLinkedForkchoice.Prune") defer span.End() s.nodesLock.Lock() diff --git a/beacon-chain/forkchoice/protoarray/helpers.go b/beacon-chain/forkchoice/protoarray/helpers.go index d42d0fc7c2..f2da116ea3 100644 --- a/beacon-chain/forkchoice/protoarray/helpers.go +++ b/beacon-chain/forkchoice/protoarray/helpers.go @@ -19,7 +19,7 @@ func computeDeltas( oldBalances, newBalances []uint64, slashedIndices map[types.ValidatorIndex]bool, ) ([]int, []Vote, error) { - _, span := trace.StartSpan(ctx, "doublyLinkedForkchoice.computeDeltas") + ctx, span := trace.StartSpan(ctx, "doublyLinkedForkchoice.computeDeltas") defer span.End() deltas := make([]int, count) diff --git a/beacon-chain/forkchoice/protoarray/store.go b/beacon-chain/forkchoice/protoarray/store.go index a16d6954b3..80f74a6c12 100644 --- a/beacon-chain/forkchoice/protoarray/store.go +++ b/beacon-chain/forkchoice/protoarray/store.go @@ -82,7 +82,7 @@ func (f *ForkChoice) Head(ctx context.Context, justifiedStateBalances []uint64) // ProcessAttestation processes attestation for vote accounting, it iterates around validator indices // and update their votes accordingly. func (f *ForkChoice) ProcessAttestation(ctx context.Context, validatorIndices []uint64, blockRoot [32]byte, targetEpoch types.Epoch) { - _, span := trace.StartSpan(ctx, "protoArrayForkChoice.ProcessAttestation") + ctx, span := trace.StartSpan(ctx, "protoArrayForkChoice.ProcessAttestation") defer span.End() f.votesLock.Lock() defer f.votesLock.Unlock() @@ -470,7 +470,7 @@ func (s *Store) insert(ctx context.Context, slot types.Slot, root, parent, payloadHash [32]byte, justifiedEpoch, finalizedEpoch types.Epoch) (*Node, error) { - _, span := trace.StartSpan(ctx, "protoArrayForkChoice.insert") + ctx, span := trace.StartSpan(ctx, "protoArrayForkChoice.insert") defer span.End() s.nodesLock.Lock() @@ -541,7 +541,7 @@ func (s *Store) insert(ctx context.Context, func (s *Store) applyWeightChanges( ctx context.Context, newBalances []uint64, delta []int, ) error { - _, span := trace.StartSpan(ctx, "protoArrayForkChoice.applyWeightChanges") + ctx, span := trace.StartSpan(ctx, "protoArrayForkChoice.applyWeightChanges") defer span.End() // The length of the nodes can not be different than length of the delta. @@ -746,7 +746,7 @@ func (s *Store) updateBestChildAndDescendant(parentIndex, childIndex uint64) err // prune prunes the store with the new finalized root. The tree is only // pruned if the number of the nodes in store has met prune threshold. func (s *Store) prune(ctx context.Context) error { - _, span := trace.StartSpan(ctx, "protoArrayForkChoice.prune") + ctx, span := trace.StartSpan(ctx, "protoArrayForkChoice.prune") defer span.End() s.nodesLock.Lock() diff --git a/beacon-chain/operations/attestations/kv/aggregated.go b/beacon-chain/operations/attestations/kv/aggregated.go index 46f3197655..808cc4d148 100644 --- a/beacon-chain/operations/attestations/kv/aggregated.go +++ b/beacon-chain/operations/attestations/kv/aggregated.go @@ -37,7 +37,7 @@ func (c *AttCaches) AggregateUnaggregatedAttestationsBySlotIndex(ctx context.Con } func (c *AttCaches) aggregateUnaggregatedAttestations(ctx context.Context, unaggregatedAtts []*ethpb.Attestation) error { - _, span := trace.StartSpan(ctx, "operations.attestations.kv.aggregateUnaggregatedAttestations") + ctx, span := trace.StartSpan(ctx, "operations.attestations.kv.aggregateUnaggregatedAttestations") defer span.End() attsByDataRoot := make(map[[32]byte][]*ethpb.Attestation, len(unaggregatedAtts)) @@ -168,7 +168,7 @@ func (c *AttCaches) AggregatedAttestations() []*ethpb.Attestation { // AggregatedAttestationsBySlotIndex returns the aggregated attestations in cache, // filtered by committee index and slot. func (c *AttCaches) AggregatedAttestationsBySlotIndex(ctx context.Context, slot types.Slot, committeeIndex types.CommitteeIndex) []*ethpb.Attestation { - _, span := trace.StartSpan(ctx, "operations.attestations.kv.AggregatedAttestationsBySlotIndex") + ctx, span := trace.StartSpan(ctx, "operations.attestations.kv.AggregatedAttestationsBySlotIndex") defer span.End() atts := make([]*ethpb.Attestation, 0) diff --git a/beacon-chain/operations/attestations/kv/unaggregated.go b/beacon-chain/operations/attestations/kv/unaggregated.go index b30bd3b3d7..8eabe94330 100644 --- a/beacon-chain/operations/attestations/kv/unaggregated.go +++ b/beacon-chain/operations/attestations/kv/unaggregated.go @@ -71,7 +71,7 @@ func (c *AttCaches) UnaggregatedAttestations() ([]*ethpb.Attestation, error) { // UnaggregatedAttestationsBySlotIndex returns the unaggregated attestations in cache, // filtered by committee index and slot. func (c *AttCaches) UnaggregatedAttestationsBySlotIndex(ctx context.Context, slot types.Slot, committeeIndex types.CommitteeIndex) []*ethpb.Attestation { - _, span := trace.StartSpan(ctx, "operations.attestations.kv.UnaggregatedAttestationsBySlotIndex") + ctx, span := trace.StartSpan(ctx, "operations.attestations.kv.UnaggregatedAttestationsBySlotIndex") defer span.End() atts := make([]*ethpb.Attestation, 0) diff --git a/beacon-chain/operations/slashings/service.go b/beacon-chain/operations/slashings/service.go index 98b22a8abb..68317bc6a7 100644 --- a/beacon-chain/operations/slashings/service.go +++ b/beacon-chain/operations/slashings/service.go @@ -33,7 +33,7 @@ func NewPool() *Pool { func (p *Pool) PendingAttesterSlashings(ctx context.Context, state state.ReadOnlyBeaconState, noLimit bool) []*ethpb.AttesterSlashing { p.lock.Lock() defer p.lock.Unlock() - _, span := trace.StartSpan(ctx, "operations.PendingAttesterSlashing") + ctx, span := trace.StartSpan(ctx, "operations.PendingAttesterSlashing") defer span.End() // Update prom metric. @@ -80,7 +80,7 @@ func (p *Pool) PendingAttesterSlashings(ctx context.Context, state state.ReadOnl func (p *Pool) PendingProposerSlashings(ctx context.Context, state state.ReadOnlyBeaconState, noLimit bool) []*ethpb.ProposerSlashing { p.lock.Lock() defer p.lock.Unlock() - _, span := trace.StartSpan(ctx, "operations.PendingProposerSlashing") + ctx, span := trace.StartSpan(ctx, "operations.PendingProposerSlashing") defer span.End() // Update prom metric. @@ -187,7 +187,7 @@ func (p *Pool) InsertProposerSlashing( ) error { p.lock.Lock() defer p.lock.Unlock() - _, span := trace.StartSpan(ctx, "operations.InsertProposerSlashing") + ctx, span := trace.StartSpan(ctx, "operations.InsertProposerSlashing") defer span.End() if err := blocks.VerifyProposerSlashing(state, slashing); err != nil { diff --git a/beacon-chain/operations/voluntaryexits/service.go b/beacon-chain/operations/voluntaryexits/service.go index 0f9270dc96..49edcc2929 100644 --- a/beacon-chain/operations/voluntaryexits/service.go +++ b/beacon-chain/operations/voluntaryexits/service.go @@ -66,7 +66,7 @@ func (p *Pool) PendingExits(state state.ReadOnlyBeaconState, slot types.Slot, no // InsertVoluntaryExit into the pool. This method is a no-op if the pending exit already exists, // or the validator is already exited. func (p *Pool) InsertVoluntaryExit(ctx context.Context, state state.ReadOnlyBeaconState, exit *ethpb.SignedVoluntaryExit) { - _, span := trace.StartSpan(ctx, "exitPool.InsertVoluntaryExit") + ctx, span := trace.StartSpan(ctx, "exitPool.InsertVoluntaryExit") defer span.End() p.lock.Lock() defer p.lock.Unlock() diff --git a/beacon-chain/p2p/broadcaster.go b/beacon-chain/p2p/broadcaster.go index 1f31f9c5eb..4915b31d3a 100644 --- a/beacon-chain/p2p/broadcaster.go +++ b/beacon-chain/p2p/broadcaster.go @@ -198,7 +198,7 @@ func (s *Service) broadcastSyncCommittee(ctx context.Context, subnet uint64, sMs // method to broadcast messages to other peers in our gossip mesh. func (s *Service) broadcastObject(ctx context.Context, obj ssz.Marshaler, topic string) error { - _, span := trace.StartSpan(ctx, "p2p.broadcastObject") + ctx, span := trace.StartSpan(ctx, "p2p.broadcastObject") defer span.End() span.AddAttributes(trace.StringAttribute("topic", topic)) diff --git a/beacon-chain/rpc/eth/beacon/config.go b/beacon-chain/rpc/eth/beacon/config.go index 94935391b6..1fc033894a 100644 --- a/beacon-chain/rpc/eth/beacon/config.go +++ b/beacon-chain/rpc/eth/beacon/config.go @@ -19,7 +19,7 @@ import ( // GetForkSchedule retrieve all scheduled upcoming forks this node is aware of. func (_ *Server) GetForkSchedule(ctx context.Context, _ *emptypb.Empty) (*ethpb.ForkScheduleResponse, error) { - _, span := trace.StartSpan(ctx, "beacon.GetForkSchedule") + ctx, span := trace.StartSpan(ctx, "beacon.GetForkSchedule") defer span.End() schedule := params.BeaconConfig().ForkVersionSchedule @@ -57,7 +57,7 @@ func (_ *Server) GetForkSchedule(ctx context.Context, _ *emptypb.Empty) (*ethpb. // - any value starting with 0x in the spec is returned as a hex string. // - all other values are returned as number. func (_ *Server) GetSpec(ctx context.Context, _ *emptypb.Empty) (*ethpb.SpecResponse, error) { - _, span := trace.StartSpan(ctx, "beacon.GetSpec") + ctx, span := trace.StartSpan(ctx, "beacon.GetSpec") defer span.End() data, err := prepareConfigSpec() @@ -69,7 +69,7 @@ func (_ *Server) GetSpec(ctx context.Context, _ *emptypb.Empty) (*ethpb.SpecResp // GetDepositContract retrieves deposit contract address and genesis fork version. func (_ *Server) GetDepositContract(ctx context.Context, _ *emptypb.Empty) (*ethpb.DepositContractResponse, error) { - _, span := trace.StartSpan(ctx, "beaconv1.GetDepositContract") + ctx, span := trace.StartSpan(ctx, "beaconv1.GetDepositContract") defer span.End() return ðpb.DepositContractResponse{ diff --git a/beacon-chain/rpc/eth/beacon/pool.go b/beacon-chain/rpc/eth/beacon/pool.go index 034c30b5ff..dadd61e1dc 100644 --- a/beacon-chain/rpc/eth/beacon/pool.go +++ b/beacon-chain/rpc/eth/beacon/pool.go @@ -24,7 +24,7 @@ import ( // ListPoolAttestations retrieves attestations known by the node but // not necessarily incorporated into any block. Allows filtering by committee index or slot. func (bs *Server) ListPoolAttestations(ctx context.Context, req *ethpbv1.AttestationsPoolRequest) (*ethpbv1.AttestationsPoolResponse, error) { - _, span := trace.StartSpan(ctx, "beacon.ListPoolAttestations") + ctx, span := trace.StartSpan(ctx, "beacon.ListPoolAttestations") defer span.End() attestations := bs.AttestationsPool.AggregatedAttestations() diff --git a/beacon-chain/rpc/eth/beacon/state.go b/beacon-chain/rpc/eth/beacon/state.go index 089ae35ffc..4ac4b9e063 100644 --- a/beacon-chain/rpc/eth/beacon/state.go +++ b/beacon-chain/rpc/eth/beacon/state.go @@ -27,7 +27,7 @@ type stateRequest struct { // GetGenesis retrieves details of the chain's genesis which can be used to identify chain. func (bs *Server) GetGenesis(ctx context.Context, _ *emptypb.Empty) (*ethpb.GenesisResponse, error) { - _, span := trace.StartSpan(ctx, "beacon.GetGenesis") + ctx, span := trace.StartSpan(ctx, "beacon.GetGenesis") defer span.End() genesisTime := bs.GenesisTimeFetcher.GenesisTime() diff --git a/beacon-chain/rpc/eth/debug/debug.go b/beacon-chain/rpc/eth/debug/debug.go index e14ac045eb..68b4d70ca0 100644 --- a/beacon-chain/rpc/eth/debug/debug.go +++ b/beacon-chain/rpc/eth/debug/debug.go @@ -142,7 +142,7 @@ func (ds *Server) GetBeaconStateSSZV2(ctx context.Context, req *ethpbv2.StateReq // ListForkChoiceHeads retrieves the leaves of the current fork choice tree. func (ds *Server) ListForkChoiceHeads(ctx context.Context, _ *emptypb.Empty) (*ethpbv1.ForkChoiceHeadsResponse, error) { - _, span := trace.StartSpan(ctx, "debug.ListForkChoiceHeads") + ctx, span := trace.StartSpan(ctx, "debug.ListForkChoiceHeads") defer span.End() headRoots, headSlots := ds.HeadFetcher.ChainHeads() @@ -161,7 +161,7 @@ func (ds *Server) ListForkChoiceHeads(ctx context.Context, _ *emptypb.Empty) (*e // ListForkChoiceHeadsV2 retrieves the leaves of the current fork choice tree. func (ds *Server) ListForkChoiceHeadsV2(ctx context.Context, _ *emptypb.Empty) (*ethpbv2.ForkChoiceHeadsResponse, error) { - _, span := trace.StartSpan(ctx, "debug.ListForkChoiceHeadsV2") + ctx, span := trace.StartSpan(ctx, "debug.ListForkChoiceHeadsV2") defer span.End() headRoots, headSlots := ds.HeadFetcher.ChainHeads() diff --git a/beacon-chain/rpc/eth/node/node.go b/beacon-chain/rpc/eth/node/node.go index 8bf2876c84..2fcadd0688 100644 --- a/beacon-chain/rpc/eth/node/node.go +++ b/beacon-chain/rpc/eth/node/node.go @@ -38,7 +38,7 @@ var ( // GetIdentity retrieves data about the node's network presence. func (ns *Server) GetIdentity(ctx context.Context, _ *emptypb.Empty) (*ethpb.IdentityResponse, error) { - _, span := trace.StartSpan(ctx, "node.GetIdentity") + ctx, span := trace.StartSpan(ctx, "node.GetIdentity") defer span.End() peerId := ns.PeerManager.PeerID().Pretty() @@ -82,7 +82,7 @@ func (ns *Server) GetIdentity(ctx context.Context, _ *emptypb.Empty) (*ethpb.Ide // GetPeer retrieves data about the given peer. func (ns *Server) GetPeer(ctx context.Context, req *ethpb.PeerRequest) (*ethpb.PeerResponse, error) { - _, span := trace.StartSpan(ctx, "node.GetPeer") + ctx, span := trace.StartSpan(ctx, "node.GetPeer") defer span.End() peerStatus := ns.PeersFetcher.Peers() @@ -135,7 +135,7 @@ func (ns *Server) GetPeer(ctx context.Context, req *ethpb.PeerRequest) (*ethpb.P // ListPeers retrieves data about the node's network peers. func (ns *Server) ListPeers(ctx context.Context, req *ethpb.PeersRequest) (*ethpb.PeersResponse, error) { - _, span := trace.StartSpan(ctx, "node.ListPeers") + ctx, span := trace.StartSpan(ctx, "node.ListPeers") defer span.End() peerStatus := ns.PeersFetcher.Peers() @@ -231,7 +231,7 @@ func (ns *Server) ListPeers(ctx context.Context, req *ethpb.PeersRequest) (*ethp // PeerCount retrieves retrieves number of known peers. func (ns *Server) PeerCount(ctx context.Context, _ *emptypb.Empty) (*ethpb.PeerCountResponse, error) { - _, span := trace.StartSpan(ctx, "node.PeerCount") + ctx, span := trace.StartSpan(ctx, "node.PeerCount") defer span.End() peerStatus := ns.PeersFetcher.Peers() @@ -249,7 +249,7 @@ func (ns *Server) PeerCount(ctx context.Context, _ *emptypb.Empty) (*ethpb.PeerC // GetVersion requests that the beacon node identify information about its implementation in a // format similar to a HTTP User-Agent field. func (_ *Server) GetVersion(ctx context.Context, _ *emptypb.Empty) (*ethpb.VersionResponse, error) { - _, span := trace.StartSpan(ctx, "node.GetVersion") + ctx, span := trace.StartSpan(ctx, "node.GetVersion") defer span.End() v := fmt.Sprintf("Prysm/%s (%s %s)", version.SemanticVersion(), runtime.GOOS, runtime.GOARCH) @@ -263,7 +263,7 @@ func (_ *Server) GetVersion(ctx context.Context, _ *emptypb.Empty) (*ethpb.Versi // GetSyncStatus requests the beacon node to describe if it's currently syncing or not, and // if it is, what block it is up to. func (ns *Server) GetSyncStatus(ctx context.Context, _ *emptypb.Empty) (*ethpb.SyncingResponse, error) { - _, span := trace.StartSpan(ctx, "node.GetSyncStatus") + ctx, span := trace.StartSpan(ctx, "node.GetSyncStatus") defer span.End() headSlot := ns.HeadFetcher.HeadSlot() diff --git a/beacon-chain/rpc/eth/validator/validator.go b/beacon-chain/rpc/eth/validator/validator.go index 4539e8800c..071ed7588a 100644 --- a/beacon-chain/rpc/eth/validator/validator.go +++ b/beacon-chain/rpc/eth/validator/validator.go @@ -288,7 +288,7 @@ func (vs *Server) ProduceBlock(ctx context.Context, req *ethpbv1.ProduceBlockReq // ProduceBlockV2 requests the beacon node to produce a valid unsigned beacon block, which can then be signed by a proposer and submitted. func (vs *Server) ProduceBlockV2(ctx context.Context, req *ethpbv1.ProduceBlockRequest) (*ethpbv2.ProduceBlockResponseV2, error) { - _, span := trace.StartSpan(ctx, "validator.ProduceBlockV2") + ctx, span := trace.StartSpan(ctx, "validator.ProduceBlockV2") defer span.End() if err := rpchelpers.ValidateSync(ctx, vs.SyncChecker, vs.HeadFetcher, vs.TimeFetcher, vs.OptimisticModeFetcher); err != nil { @@ -352,7 +352,7 @@ func (vs *Server) ProduceBlockV2(ctx context.Context, req *ethpbv1.ProduceBlockR // // The produced block is in SSZ form. func (vs *Server) ProduceBlockV2SSZ(ctx context.Context, req *ethpbv1.ProduceBlockRequest) (*ethpbv2.SSZContainer, error) { - _, span := trace.StartSpan(ctx, "validator.ProduceBlockV2SSZ") + ctx, span := trace.StartSpan(ctx, "validator.ProduceBlockV2SSZ") defer span.End() if err := rpchelpers.ValidateSync(ctx, vs.SyncChecker, vs.HeadFetcher, vs.TimeFetcher, vs.OptimisticModeFetcher); err != nil { @@ -560,7 +560,7 @@ func (vs *Server) ProduceBlindedBlockSSZ(ctx context.Context, req *ethpbv1.Produ func (vs *Server) PrepareBeaconProposer( ctx context.Context, request *ethpbv1.PrepareBeaconProposerRequest, ) (*emptypb.Empty, error) { - _, span := trace.StartSpan(ctx, "validator.PrepareBeaconProposer") + ctx, span := trace.StartSpan(ctx, "validator.PrepareBeaconProposer") defer span.End() var feeRecipients []common.Address var validatorIndices []types.ValidatorIndex @@ -603,7 +603,7 @@ func (vs *Server) ProduceAttestationData(ctx context.Context, req *ethpbv1.Produ // GetAggregateAttestation aggregates all attestations matching the given attestation data root and slot, returning the aggregated result. func (vs *Server) GetAggregateAttestation(ctx context.Context, req *ethpbv1.AggregateAttestationRequest) (*ethpbv1.AggregateAttestationResponse, error) { - _, span := trace.StartSpan(ctx, "validator.GetAggregateAttestation") + ctx, span := trace.StartSpan(ctx, "validator.GetAggregateAttestation") defer span.End() allAtts := vs.AttestationsPool.AggregatedAttestations() diff --git a/beacon-chain/rpc/prysm/v1alpha1/validator/proposer.go b/beacon-chain/rpc/prysm/v1alpha1/validator/proposer.go index 9355751dfd..fc1bec8c3d 100644 --- a/beacon-chain/rpc/prysm/v1alpha1/validator/proposer.go +++ b/beacon-chain/rpc/prysm/v1alpha1/validator/proposer.go @@ -107,7 +107,7 @@ func (vs *Server) ProposeBlock(ctx context.Context, rBlk *ethpb.SignedBeaconBloc func (vs *Server) PrepareBeaconProposer( ctx context.Context, request *ethpb.PrepareBeaconProposerRequest, ) (*emptypb.Empty, error) { - _, span := trace.StartSpan(ctx, "validator.PrepareBeaconProposer") + ctx, span := trace.StartSpan(ctx, "validator.PrepareBeaconProposer") defer span.End() var feeRecipients []common.Address var validatorIndices []types.ValidatorIndex diff --git a/beacon-chain/rpc/prysm/v1alpha1/validator/proposer_altair.go b/beacon-chain/rpc/prysm/v1alpha1/validator/proposer_altair.go index 17a780b3aa..1272726bcc 100644 --- a/beacon-chain/rpc/prysm/v1alpha1/validator/proposer_altair.go +++ b/beacon-chain/rpc/prysm/v1alpha1/validator/proposer_altair.go @@ -78,7 +78,7 @@ func (vs *Server) getAltairBeaconBlock(ctx context.Context, req *ethpb.BlockRequ // getSyncAggregate retrieves the sync contributions from the pool to construct the sync aggregate object. // The contributions are filtered based on matching of the input root and slot then profitability. func (vs *Server) getSyncAggregate(ctx context.Context, slot types.Slot, root [32]byte) (*ethpb.SyncAggregate, error) { - _, span := trace.StartSpan(ctx, "ProposerServer.getSyncAggregate") + ctx, span := trace.StartSpan(ctx, "ProposerServer.getSyncAggregate") defer span.End() // Contributions have to match the input root diff --git a/beacon-chain/state/state-native/hasher.go b/beacon-chain/state/state-native/hasher.go index ad4a76e12e..05577cbf25 100644 --- a/beacon-chain/state/state-native/hasher.go +++ b/beacon-chain/state/state-native/hasher.go @@ -18,7 +18,7 @@ import ( // ComputeFieldRootsWithHasher hashes the provided state and returns its respective field roots. func ComputeFieldRootsWithHasher(ctx context.Context, state *BeaconState) ([][]byte, error) { - _, span := trace.StartSpan(ctx, "ComputeFieldRootsWithHasher") + ctx, span := trace.StartSpan(ctx, "ComputeFieldRootsWithHasher") defer span.End() if state == nil { diff --git a/beacon-chain/state/state-native/state_trie.go b/beacon-chain/state/state-native/state_trie.go index 4dd881d483..2884c91ad7 100644 --- a/beacon-chain/state/state-native/state_trie.go +++ b/beacon-chain/state/state-native/state_trie.go @@ -591,7 +591,7 @@ func (b *BeaconState) IsNil() bool { } func (b *BeaconState) rootSelector(ctx context.Context, field nativetypes.FieldIndex) ([32]byte, error) { - _, span := trace.StartSpan(ctx, "beaconState.rootSelector") + ctx, span := trace.StartSpan(ctx, "beaconState.rootSelector") defer span.End() span.AddAttributes(trace.StringAttribute("field", field.String(b.version))) diff --git a/beacon-chain/state/stateutil/state_hasher.go b/beacon-chain/state/stateutil/state_hasher.go index f8cdc7ca38..e6ed13d9c1 100644 --- a/beacon-chain/state/stateutil/state_hasher.go +++ b/beacon-chain/state/stateutil/state_hasher.go @@ -16,7 +16,7 @@ import ( // ComputeFieldRootsWithHasherPhase0 hashes the provided phase 0 state and returns its respective field roots. func ComputeFieldRootsWithHasherPhase0(ctx context.Context, state *ethpb.BeaconState) ([][]byte, error) { - _, span := trace.StartSpan(ctx, "ComputeFieldRootsWithHasherPhase0") + ctx, span := trace.StartSpan(ctx, "ComputeFieldRootsWithHasherPhase0") defer span.End() if state == nil { @@ -164,7 +164,7 @@ func ComputeFieldRootsWithHasherPhase0(ctx context.Context, state *ethpb.BeaconS // ComputeFieldRootsWithHasherAltair hashes the provided altair state and returns its respective field roots. func ComputeFieldRootsWithHasherAltair(ctx context.Context, state *ethpb.BeaconStateAltair) ([][]byte, error) { - _, span := trace.StartSpan(ctx, "ComputeFieldRootsWithHasherAltair") + ctx, span := trace.StartSpan(ctx, "ComputeFieldRootsWithHasherAltair") defer span.End() if state == nil { @@ -334,7 +334,7 @@ func ComputeFieldRootsWithHasherAltair(ctx context.Context, state *ethpb.BeaconS // ComputeFieldRootsWithHasherBellatrix hashes the provided bellatrix state and returns its respective field roots. func ComputeFieldRootsWithHasherBellatrix(ctx context.Context, state *ethpb.BeaconStateBellatrix) ([][]byte, error) { - _, span := trace.StartSpan(ctx, "ComputeFieldRootsWithHasherBellatrix") + ctx, span := trace.StartSpan(ctx, "ComputeFieldRootsWithHasherBellatrix") defer span.End() if state == nil { diff --git a/beacon-chain/state/v1/state_trie.go b/beacon-chain/state/v1/state_trie.go index 5e248bf387..cc50f61aa1 100644 --- a/beacon-chain/state/v1/state_trie.go +++ b/beacon-chain/state/v1/state_trie.go @@ -257,7 +257,7 @@ func (b *BeaconState) IsNil() bool { } func (b *BeaconState) rootSelector(ctx context.Context, field types.FieldIndex) ([32]byte, error) { - _, span := trace.StartSpan(ctx, "beaconState.rootSelector") + ctx, span := trace.StartSpan(ctx, "beaconState.rootSelector") defer span.End() span.AddAttributes(trace.StringAttribute("field", field.String(b.Version()))) diff --git a/beacon-chain/state/v2/state_trie.go b/beacon-chain/state/v2/state_trie.go index d8e79ddedd..9c892db963 100644 --- a/beacon-chain/state/v2/state_trie.go +++ b/beacon-chain/state/v2/state_trie.go @@ -189,7 +189,7 @@ func (b *BeaconState) Copy() state.BeaconState { // HashTreeRoot of the beacon state retrieves the Merkle root of the trie // representation of the beacon state based on the eth2 Simple Serialize specification. func (b *BeaconState) HashTreeRoot(ctx context.Context) ([32]byte, error) { - _, span := trace.StartSpan(ctx, "beaconStateAltair.HashTreeRoot") + ctx, span := trace.StartSpan(ctx, "beaconStateAltair.HashTreeRoot") defer span.End() b.lock.Lock() @@ -263,7 +263,7 @@ func (b *BeaconState) IsNil() bool { } func (b *BeaconState) rootSelector(ctx context.Context, field types.FieldIndex) ([32]byte, error) { - _, span := trace.StartSpan(ctx, "beaconState.rootSelector") + ctx, span := trace.StartSpan(ctx, "beaconState.rootSelector") defer span.End() span.AddAttributes(trace.StringAttribute("field", field.String(b.Version()))) diff --git a/beacon-chain/state/v3/state_trie.go b/beacon-chain/state/v3/state_trie.go index 5f0abe7a29..ab0bd4b909 100644 --- a/beacon-chain/state/v3/state_trie.go +++ b/beacon-chain/state/v3/state_trie.go @@ -189,7 +189,7 @@ func (b *BeaconState) Copy() state.BeaconState { // HashTreeRoot of the beacon state retrieves the Merkle root of the trie // representation of the beacon state based on the eth2 Simple Serialize specification. func (b *BeaconState) HashTreeRoot(ctx context.Context) ([32]byte, error) { - _, span := trace.StartSpan(ctx, "BeaconStateBellatrix.HashTreeRoot") + ctx, span := trace.StartSpan(ctx, "BeaconStateBellatrix.HashTreeRoot") defer span.End() b.lock.Lock() diff --git a/beacon-chain/sync/batch_verifier.go b/beacon-chain/sync/batch_verifier.go index 6528b49469..9ba6b241a7 100644 --- a/beacon-chain/sync/batch_verifier.go +++ b/beacon-chain/sync/batch_verifier.go @@ -51,7 +51,7 @@ func (s *Service) verifierRoutine() { } func (s *Service) validateWithBatchVerifier(ctx context.Context, message string, set *bls.SignatureBatch) (pubsub.ValidationResult, error) { - _, span := trace.StartSpan(ctx, "sync.validateWithBatchVerifier") + ctx, span := trace.StartSpan(ctx, "sync.validateWithBatchVerifier") defer span.End() resChan := make(chan error) diff --git a/beacon-chain/sync/initial-sync/blocks_fetcher_peers.go b/beacon-chain/sync/initial-sync/blocks_fetcher_peers.go index 06a2081bbf..23f98c0646 100644 --- a/beacon-chain/sync/initial-sync/blocks_fetcher_peers.go +++ b/beacon-chain/sync/initial-sync/blocks_fetcher_peers.go @@ -93,7 +93,7 @@ func (f *blocksFetcher) waitForMinimumPeers(ctx context.Context) ([]peer.ID, err // filterPeers returns transformed list of peers, weight sorted by scores and capacity remaining. // List can be further constrained using peersPercentage, where only percentage of peers are returned. func (f *blocksFetcher) filterPeers(ctx context.Context, peers []peer.ID, peersPercentage float64) []peer.ID { - _, span := trace.StartSpan(ctx, "initialsync.filterPeers") + ctx, span := trace.StartSpan(ctx, "initialsync.filterPeers") defer span.End() if len(peers) == 0 { diff --git a/beacon-chain/sync/pending_attestations_queue.go b/beacon-chain/sync/pending_attestations_queue.go index 3c6f1d3d0e..c45343724a 100644 --- a/beacon-chain/sync/pending_attestations_queue.go +++ b/beacon-chain/sync/pending_attestations_queue.go @@ -184,7 +184,7 @@ func (s *Service) savePendingAtt(att *ethpb.SignedAggregateAttestationAndProof) // check specifies the pending attestation could not fall one epoch behind // of the current slot. func (s *Service) validatePendingAtts(ctx context.Context, slot types.Slot) { - _, span := trace.StartSpan(ctx, "validatePendingAtts") + ctx, span := trace.StartSpan(ctx, "validatePendingAtts") defer span.End() s.pendingAttsLock.Lock() diff --git a/beacon-chain/sync/validate_aggregate_proof.go b/beacon-chain/sync/validate_aggregate_proof.go index 743fc3c6ff..bab5189fdc 100644 --- a/beacon-chain/sync/validate_aggregate_proof.go +++ b/beacon-chain/sync/validate_aggregate_proof.go @@ -262,7 +262,7 @@ func validateSelectionIndex( validatorIndex types.ValidatorIndex, proof []byte, ) (*bls.SignatureBatch, error) { - _, span := trace.StartSpan(ctx, "sync.validateSelectionIndex") + ctx, span := trace.StartSpan(ctx, "sync.validateSelectionIndex") defer span.End() committee, err := helpers.BeaconCommitteeFromState(ctx, bs, data.Slot, data.CommitteeIndex) diff --git a/beacon-chain/sync/validate_sync_committee_message.go b/beacon-chain/sync/validate_sync_committee_message.go index e8cadd9a36..c47994a1a8 100644 --- a/beacon-chain/sync/validate_sync_committee_message.go +++ b/beacon-chain/sync/validate_sync_committee_message.go @@ -165,7 +165,7 @@ func (s *Service) rejectIncorrectSyncCommittee( committeeIndices []types.CommitteeIndex, topic string, ) validationFn { return func(ctx context.Context) (pubsub.ValidationResult, error) { - _, span := trace.StartSpan(ctx, "sync.rejectIncorrectSyncCommittee") + ctx, span := trace.StartSpan(ctx, "sync.rejectIncorrectSyncCommittee") defer span.End() isValid := false digest, err := s.currentForkDigest() diff --git a/beacon-chain/sync/validate_sync_contribution_proof.go b/beacon-chain/sync/validate_sync_contribution_proof.go index eda2f75406..f7057c6823 100644 --- a/beacon-chain/sync/validate_sync_contribution_proof.go +++ b/beacon-chain/sync/validate_sync_contribution_proof.go @@ -128,7 +128,7 @@ func rejectIncorrectSubcommitteeIndex( m *ethpb.SignedContributionAndProof, ) validationFn { return func(ctx context.Context) (pubsub.ValidationResult, error) { - _, span := trace.StartSpan(ctx, "sync.rejectIncorrectSubcommitteeIndex") + ctx, span := trace.StartSpan(ctx, "sync.rejectIncorrectSubcommitteeIndex") defer span.End() // The subcommittee index is in the allowed range, i.e. `contribution.subcommittee_index < SYNC_COMMITTEE_SUBNET_COUNT`. if m.Message.Contribution.SubcommitteeIndex >= params.BeaconConfig().SyncCommitteeSubnetCount { @@ -181,7 +181,7 @@ func rejectInvalidAggregator(m *ethpb.SignedContributionAndProof) validationFn { func (s *Service) rejectInvalidIndexInSubCommittee(m *ethpb.SignedContributionAndProof) validationFn { return func(ctx context.Context) (pubsub.ValidationResult, error) { - _, span := trace.StartSpan(ctx, "sync.rejectInvalidIndexInSubCommittee") + ctx, span := trace.StartSpan(ctx, "sync.rejectInvalidIndexInSubCommittee") defer span.End() // The aggregator's validator index is in the declared subcommittee of the current sync committee. committeeIndices, err := s.cfg.chain.HeadSyncCommitteeIndices(ctx, m.Message.AggregatorIndex, m.Message.Contribution.Slot) @@ -210,7 +210,7 @@ func (s *Service) rejectInvalidIndexInSubCommittee(m *ethpb.SignedContributionAn func (s *Service) rejectInvalidSelectionProof(m *ethpb.SignedContributionAndProof) validationFn { return func(ctx context.Context) (pubsub.ValidationResult, error) { - _, span := trace.StartSpan(ctx, "sync.rejectInvalidSelectionProof") + ctx, span := trace.StartSpan(ctx, "sync.rejectInvalidSelectionProof") defer span.End() // The `contribution_and_proof.selection_proof` is a valid signature of the `SyncAggregatorSelectionData`. if err := s.verifySyncSelectionData(ctx, m.Message); err != nil { @@ -223,7 +223,7 @@ func (s *Service) rejectInvalidSelectionProof(m *ethpb.SignedContributionAndProo func (s *Service) rejectInvalidContributionSignature(m *ethpb.SignedContributionAndProof) validationFn { return func(ctx context.Context) (pubsub.ValidationResult, error) { - _, span := trace.StartSpan(ctx, "sync.rejectInvalidContributionSignature") + ctx, span := trace.StartSpan(ctx, "sync.rejectInvalidContributionSignature") defer span.End() // The aggregator signature, `signed_contribution_and_proof.signature`, is valid. d, err := s.cfg.chain.HeadSyncContributionProofDomain(ctx, m.Message.Contribution.Slot) @@ -256,7 +256,7 @@ func (s *Service) rejectInvalidContributionSignature(m *ethpb.SignedContribution func (s *Service) rejectInvalidSyncAggregateSignature(m *ethpb.SignedContributionAndProof) validationFn { return func(ctx context.Context) (pubsub.ValidationResult, error) { - _, span := trace.StartSpan(ctx, "sync.rejectInvalidSyncAggregateSignature") + ctx, span := trace.StartSpan(ctx, "sync.rejectInvalidSyncAggregateSignature") defer span.End() // The aggregate signature is valid for the message `beacon_block_root` and aggregate pubkey // derived from the participation info in `aggregation_bits` for the subcommittee specified by the `contribution.subcommittee_index`. diff --git a/proto/prysm/v1alpha1/attestation/attestation_utils.go b/proto/prysm/v1alpha1/attestation/attestation_utils.go index 63e3d8b912..addaa33c47 100644 --- a/proto/prysm/v1alpha1/attestation/attestation_utils.go +++ b/proto/prysm/v1alpha1/attestation/attestation_utils.go @@ -37,7 +37,7 @@ import ( // signature=attestation.signature, // ) func ConvertToIndexed(ctx context.Context, attestation *ethpb.Attestation, committee []types.ValidatorIndex) (*ethpb.IndexedAttestation, error) { - _, span := trace.StartSpan(ctx, "attestationutil.ConvertToIndexed") + ctx, span := trace.StartSpan(ctx, "attestationutil.ConvertToIndexed") defer span.End() attIndices, err := AttestingIndices(attestation.AggregationBits, committee) @@ -101,7 +101,7 @@ func AttestingIndices(bf bitfield.Bitfield, committee []types.ValidatorIndex) ([ // signing_root = compute_signing_root(indexed_attestation.data, domain) // return bls.FastAggregateVerify(pubkeys, signing_root, indexed_attestation.signature) func VerifyIndexedAttestationSig(ctx context.Context, indexedAtt *ethpb.IndexedAttestation, pubKeys []bls.PublicKey, domain []byte) error { - _, span := trace.StartSpan(ctx, "attestationutil.VerifyIndexedAttestationSig") + ctx, span := trace.StartSpan(ctx, "attestationutil.VerifyIndexedAttestationSig") defer span.End() indices := indexedAtt.AttestingIndices messageHash, err := signing.ComputeSigningRoot(indexedAtt.Data, domain) @@ -140,7 +140,7 @@ func VerifyIndexedAttestationSig(ctx context.Context, indexedAtt *ethpb.IndexedA // signing_root = compute_signing_root(indexed_attestation.data, domain) // return bls.FastAggregateVerify(pubkeys, signing_root, indexed_attestation.signature) func IsValidAttestationIndices(ctx context.Context, indexedAttestation *ethpb.IndexedAttestation) error { - _, span := trace.StartSpan(ctx, "attestationutil.IsValidAttestationIndices") + ctx, span := trace.StartSpan(ctx, "attestationutil.IsValidAttestationIndices") defer span.End() if indexedAttestation == nil || indexedAttestation.Data == nil || indexedAttestation.Data.Target == nil || indexedAttestation.AttestingIndices == nil { diff --git a/validator/db/kv/attester_protection.go b/validator/db/kv/attester_protection.go index 324410b914..fb8126c830 100644 --- a/validator/db/kv/attester_protection.go +++ b/validator/db/kv/attester_protection.go @@ -95,7 +95,7 @@ var ( // we have stored in the database for the given validator public key. func (s *Store) AttestationHistoryForPubKey(ctx context.Context, pubKey [fieldparams.BLSPubkeyLength]byte) ([]*AttestationRecord, error) { records := make([]*AttestationRecord, 0) - _, span := trace.StartSpan(ctx, "Validator.AttestationHistoryForPubKey") + ctx, span := trace.StartSpan(ctx, "Validator.AttestationHistoryForPubKey") defer span.End() err := s.view(func(tx *bolt.Tx) error { bucket := tx.Bucket(pubKeysBucket) @@ -302,7 +302,7 @@ func (s *Store) SaveAttestationsForPubKey( func (s *Store) SaveAttestationForPubKey( ctx context.Context, pubKey [fieldparams.BLSPubkeyLength]byte, signingRoot [32]byte, att *ethpb.IndexedAttestation, ) error { - _, span := trace.StartSpan(ctx, "Validator.SaveAttestationForPubKey") + ctx, span := trace.StartSpan(ctx, "Validator.SaveAttestationForPubKey") defer span.End() s.batchedAttestationsChan <- &AttestationRecord{ PubKey: pubKey, @@ -397,7 +397,7 @@ func (s *Store) flushAttestationRecords(ctx context.Context, records []*Attestat // transaction to minimize write lock contention compared to doing them // all in individual, isolated boltDB transactions. func (s *Store) saveAttestationRecords(ctx context.Context, atts []*AttestationRecord) error { - _, span := trace.StartSpan(ctx, "Validator.saveAttestationRecords") + ctx, span := trace.StartSpan(ctx, "Validator.saveAttestationRecords") defer span.End() return s.update(func(tx *bolt.Tx) error { // Initialize buckets for the lowest target and source epochs. @@ -493,7 +493,7 @@ func (s *Store) saveAttestationRecords(ctx context.Context, atts []*AttestationR // AttestedPublicKeys retrieves all public keys that have attested. func (s *Store) AttestedPublicKeys(ctx context.Context) ([][fieldparams.BLSPubkeyLength]byte, error) { - _, span := trace.StartSpan(ctx, "Validator.AttestedPublicKeys") + ctx, span := trace.StartSpan(ctx, "Validator.AttestedPublicKeys") defer span.End() var err error attestedPublicKeys := make([][fieldparams.BLSPubkeyLength]byte, 0) @@ -512,7 +512,7 @@ func (s *Store) AttestedPublicKeys(ctx context.Context) ([][fieldparams.BLSPubke // SigningRootAtTargetEpoch checks for an existing signing root at a specified // target epoch for a given validator public key. func (s *Store) SigningRootAtTargetEpoch(ctx context.Context, pubKey [fieldparams.BLSPubkeyLength]byte, target types.Epoch) ([32]byte, error) { - _, span := trace.StartSpan(ctx, "Validator.SigningRootAtTargetEpoch") + ctx, span := trace.StartSpan(ctx, "Validator.SigningRootAtTargetEpoch") defer span.End() var signingRoot [32]byte err := s.view(func(tx *bolt.Tx) error { @@ -535,7 +535,7 @@ func (s *Store) SigningRootAtTargetEpoch(ctx context.Context, pubKey [fieldparam // LowestSignedSourceEpoch returns the lowest signed source epoch for a validator public key. // If no data exists, returning 0 is a sensible default. func (s *Store) LowestSignedSourceEpoch(ctx context.Context, publicKey [fieldparams.BLSPubkeyLength]byte) (types.Epoch, bool, error) { - _, span := trace.StartSpan(ctx, "Validator.LowestSignedSourceEpoch") + ctx, span := trace.StartSpan(ctx, "Validator.LowestSignedSourceEpoch") defer span.End() var err error @@ -558,7 +558,7 @@ func (s *Store) LowestSignedSourceEpoch(ctx context.Context, publicKey [fieldpar // LowestSignedTargetEpoch returns the lowest signed target epoch for a validator public key. // If no data exists, returning 0 is a sensible default. func (s *Store) LowestSignedTargetEpoch(ctx context.Context, publicKey [fieldparams.BLSPubkeyLength]byte) (types.Epoch, bool, error) { - _, span := trace.StartSpan(ctx, "Validator.LowestSignedTargetEpoch") + ctx, span := trace.StartSpan(ctx, "Validator.LowestSignedTargetEpoch") defer span.End() var err error diff --git a/validator/db/kv/backup.go b/validator/db/kv/backup.go index 7beed06e6f..950ceb7ff2 100644 --- a/validator/db/kv/backup.go +++ b/validator/db/kv/backup.go @@ -17,7 +17,7 @@ const backupsDirectoryName = "backups" // Backup the database to the datadir backup directory. // Example for backup: $DATADIR/backups/prysm_validatordb_1029019.backup func (s *Store) Backup(ctx context.Context, outputDir string, permissionOverride bool) error { - _, span := trace.StartSpan(ctx, "ValidatorDB.Backup") + ctx, span := trace.StartSpan(ctx, "ValidatorDB.Backup") defer span.End() var backupsDir string diff --git a/validator/db/kv/eip_blacklisted_keys.go b/validator/db/kv/eip_blacklisted_keys.go index 04c7f66883..6a0aabf833 100644 --- a/validator/db/kv/eip_blacklisted_keys.go +++ b/validator/db/kv/eip_blacklisted_keys.go @@ -11,7 +11,7 @@ import ( // EIPImportBlacklistedPublicKeys returns keys that were marked as blacklisted during EIP-3076 slashing // protection imports, ensuring that we can prevent these keys from having duties at runtime. func (s *Store) EIPImportBlacklistedPublicKeys(ctx context.Context) ([][fieldparams.BLSPubkeyLength]byte, error) { - _, span := trace.StartSpan(ctx, "Validator.EIPImportBlacklistedPublicKeys") + ctx, span := trace.StartSpan(ctx, "Validator.EIPImportBlacklistedPublicKeys") defer span.End() var err error publicKeys := make([][fieldparams.BLSPubkeyLength]byte, 0) @@ -32,7 +32,7 @@ func (s *Store) EIPImportBlacklistedPublicKeys(ctx context.Context) ([][fieldpar // SaveEIPImportBlacklistedPublicKeys stores a list of blacklisted public keys that // were determined during EIP-3076 slashing protection imports. func (s *Store) SaveEIPImportBlacklistedPublicKeys(ctx context.Context, publicKeys [][fieldparams.BLSPubkeyLength]byte) error { - _, span := trace.StartSpan(ctx, "Validator.SaveEIPImportBlacklistedPublicKeys") + ctx, span := trace.StartSpan(ctx, "Validator.SaveEIPImportBlacklistedPublicKeys") defer span.End() return s.db.Update(func(tx *bolt.Tx) error { bkt := tx.Bucket(slashablePublicKeysBucket) diff --git a/validator/db/kv/proposer_protection.go b/validator/db/kv/proposer_protection.go index b121a37667..e1e39f1fd5 100644 --- a/validator/db/kv/proposer_protection.go +++ b/validator/db/kv/proposer_protection.go @@ -27,7 +27,7 @@ type Proposal struct { // ProposedPublicKeys retrieves all public keys in our proposals history bucket. func (s *Store) ProposedPublicKeys(ctx context.Context) ([][fieldparams.BLSPubkeyLength]byte, error) { - _, span := trace.StartSpan(ctx, "Validator.ProposedPublicKeys") + ctx, span := trace.StartSpan(ctx, "Validator.ProposedPublicKeys") defer span.End() var err error proposedPublicKeys := make([][fieldparams.BLSPubkeyLength]byte, 0) @@ -47,7 +47,7 @@ func (s *Store) ProposedPublicKeys(ctx context.Context) ([][fieldparams.BLSPubke // as a boolean that tells us if we have a proposal history stored at the slot. It is possible we have proposed // a slot but stored a nil signing root, so the boolean helps give full information. func (s *Store) ProposalHistoryForSlot(ctx context.Context, publicKey [fieldparams.BLSPubkeyLength]byte, slot types.Slot) ([32]byte, bool, error) { - _, span := trace.StartSpan(ctx, "Validator.ProposalHistoryForSlot") + ctx, span := trace.StartSpan(ctx, "Validator.ProposalHistoryForSlot") defer span.End() var err error @@ -100,7 +100,7 @@ func (s *Store) ProposalHistoryForPubKey(ctx context.Context, publicKey [fieldpa // We also check if the incoming proposal slot is lower than the lowest signed proposal slot // for the validator and override its value on disk. func (s *Store) SaveProposalHistoryForSlot(ctx context.Context, pubKey [fieldparams.BLSPubkeyLength]byte, slot types.Slot, signingRoot []byte) error { - _, span := trace.StartSpan(ctx, "Validator.SaveProposalHistoryForEpoch") + ctx, span := trace.StartSpan(ctx, "Validator.SaveProposalHistoryForEpoch") defer span.End() err := s.update(func(tx *bolt.Tx) error { @@ -147,7 +147,7 @@ func (s *Store) SaveProposalHistoryForSlot(ctx context.Context, pubKey [fieldpar // LowestSignedProposal returns the lowest signed proposal slot for a validator public key. // If no data exists, a boolean of value false is returned. func (s *Store) LowestSignedProposal(ctx context.Context, publicKey [fieldparams.BLSPubkeyLength]byte) (types.Slot, bool, error) { - _, span := trace.StartSpan(ctx, "Validator.LowestSignedProposal") + ctx, span := trace.StartSpan(ctx, "Validator.LowestSignedProposal") defer span.End() var err error @@ -170,7 +170,7 @@ func (s *Store) LowestSignedProposal(ctx context.Context, publicKey [fieldparams // HighestSignedProposal returns the highest signed proposal slot for a validator public key. // If no data exists, a boolean of value false is returned. func (s *Store) HighestSignedProposal(ctx context.Context, publicKey [fieldparams.BLSPubkeyLength]byte) (types.Slot, bool, error) { - _, span := trace.StartSpan(ctx, "Validator.HighestSignedProposal") + ctx, span := trace.StartSpan(ctx, "Validator.HighestSignedProposal") defer span.End() var err error diff --git a/validator/db/kv/prune_attester_protection.go b/validator/db/kv/prune_attester_protection.go index 239748f2ce..27748eb5fb 100644 --- a/validator/db/kv/prune_attester_protection.go +++ b/validator/db/kv/prune_attester_protection.go @@ -15,7 +15,7 @@ import ( // target epoch minus some constant of how many epochs we keep track of for slashing // protection. This routine is meant to run on startup. func (s *Store) PruneAttestations(ctx context.Context) error { - _, span := trace.StartSpan(ctx, "Validator.PruneAttestations") + ctx, span := trace.StartSpan(ctx, "Validator.PruneAttestations") defer span.End() var pubkeys [][]byte err := s.view(func(tx *bolt.Tx) error { diff --git a/validator/keymanager/local/keymanager.go b/validator/keymanager/local/keymanager.go index 48736c08d5..ed5264cfef 100644 --- a/validator/keymanager/local/keymanager.go +++ b/validator/keymanager/local/keymanager.go @@ -168,7 +168,7 @@ func (km *Keymanager) initializeKeysCachesFromKeystore() error { // FetchValidatingPublicKeys fetches the list of active public keys from the local account keystores. func (_ *Keymanager) FetchValidatingPublicKeys(ctx context.Context) ([][fieldparams.BLSPubkeyLength]byte, error) { - _, span := trace.StartSpan(ctx, "keymanager.FetchValidatingPublicKeys") + ctx, span := trace.StartSpan(ctx, "keymanager.FetchValidatingPublicKeys") defer span.End() lock.RLock() @@ -200,7 +200,7 @@ func (km *Keymanager) FetchValidatingPrivateKeys(ctx context.Context) ([][32]byt // Sign signs a message using a validator key. func (_ *Keymanager) Sign(ctx context.Context, req *validatorpb.SignRequest) (bls.Signature, error) { - _, span := trace.StartSpan(ctx, "keymanager.Sign") + ctx, span := trace.StartSpan(ctx, "keymanager.Sign") defer span.End() publicKey := req.PublicKey