diff --git a/management/server/grpcserver.go b/management/server/grpcserver.go index 84c6d561d..ddf88ef6d 100644 --- a/management/server/grpcserver.go +++ b/management/server/grpcserver.go @@ -321,6 +321,12 @@ func (s *GRPCServer) parseRequest(req *proto.EncryptedMessage, parsed pb.Message // In case it isn't, the endpoint checks whether setup key is provided within the request and tries to register a peer. // In case of the successful registration login is also successful func (s *GRPCServer) Login(ctx context.Context, req *proto.EncryptedMessage) (*proto.EncryptedMessage, error) { + startTime := time.Now() + defer func() { + duration := time.Since(startTime) + log.Debugf("Login took %s", duration) + }() + reqStart := time.Now() defer func() { if s.appMetrics != nil { diff --git a/management/server/peer.go b/management/server/peer.go index 9712bd1f6..784cd7bf2 100644 --- a/management/server/peer.go +++ b/management/server/peer.go @@ -585,6 +585,12 @@ func (am *DefaultAccountManager) SyncPeer(sync PeerSync) (*nbpeer.Peer, *Network // LoginPeer logs in or registers a peer. // If peer doesn't exist the function checks whether a setup key or a user is present and registers a new peer if so. func (am *DefaultAccountManager) LoginPeer(login PeerLogin) (*nbpeer.Peer, *NetworkMap, error) { + startTime := time.Now() + defer func() { + duration := time.Since(startTime) + log.Debugf("LoginPeer took %s", duration) + }() + account, err := am.Store.GetAccountByPeerPubKey(login.WireGuardPubKey) if err != nil { if errStatus, ok := status.FromError(err); ok && errStatus.Type() == status.NotFound { @@ -742,6 +748,12 @@ func updatePeerLastLogin(peer *nbpeer.Peer, account *Account) { } func (am *DefaultAccountManager) checkAndUpdatePeerSSHKey(peer *nbpeer.Peer, account *Account, newSSHKey string) (*nbpeer.Peer, error) { + startTime := time.Now() + defer func() { + duration := time.Since(startTime) + log.Debugf("checkAndUpdatePeerSSHKey took %s", duration) + }() + if len(newSSHKey) == 0 { log.Debugf("no new SSH key provided for peer %s, skipping update", peer.ID) return peer, nil @@ -865,6 +877,12 @@ func (am *DefaultAccountManager) GetPeer(accountID, peerID, userID string) (*nbp } func updatePeerMeta(peer *nbpeer.Peer, meta nbpeer.PeerSystemMeta, account *Account) (*nbpeer.Peer, bool) { + startTime := time.Now() + defer func() { + duration := time.Since(startTime) + log.Debugf("updatePeerMeta took %s", duration) + }() + if peer.UpdateMetaIfNew(meta) { account.UpdatePeer(peer) return peer, true