diff --git a/justfile b/justfile index 849c6749d..72edfd9bb 100644 --- a/justfile +++ b/justfile @@ -66,6 +66,7 @@ localnet bin="wardend": {{bin}} config set app minimum-gas-prices 0uward {{bin}} config set app api.enable true {{bin}} config set app api.enabled-unsafe-cors true + {{bin}} config set app telemetry.enabled true {{bin}} config set config consensus.timeout_commit 1s -s replace 's/cors_allowed_origins = \[\]/cors_allowed_origins = ["*"]/' ~/.warden/config/config.toml {{bin}} keys add val > /dev/null diff --git a/warden/x/act/keeper/actions.go b/warden/x/act/keeper/actions.go index a2601bbd1..02320603b 100644 --- a/warden/x/act/keeper/actions.go +++ b/warden/x/act/keeper/actions.go @@ -8,6 +8,7 @@ import ( errorsmod "cosmossdk.io/errors" "github.com/cosmos/cosmos-sdk/baseapp" codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/warden-protocol/wardenprotocol/shield" "github.com/warden-protocol/wardenprotocol/shield/object" @@ -61,6 +62,8 @@ func (k Keeper) executeAction(ctx context.Context, act *types.Action) error { return fmt.Errorf("unpacking Action.Msg: %w", err) } + defer telemetry.MeasureSince(telemetry.Now(), sdk.MsgTypeURL(msg)) + handler := k.router.Handler(msg) if handler == nil { return fmt.Errorf("no handler registered for %s", sdk.MsgTypeURL(msg)) @@ -149,8 +152,10 @@ func (k Keeper) AddAction(ctx context.Context, creator string, msg sdk.Msg, time return nil, err } + parsingTs := telemetry.Now() ctxWithMsg := cosmoshield.NewContext(ctx, msg) preprocessedExpr, mentions, err := k.preprocessRule(ctxWithMsg, rule) + telemetry.MeasureSince(parsingTs, "rule_preprocessing", sdk.MsgTypeURL(msg)) if err != nil { return nil, err } @@ -183,6 +188,8 @@ func (k Keeper) AddAction(ctx context.Context, creator string, msg sdk.Msg, time return nil, err } + telemetry.IncrCounter(1, "action", "count") + // try executing the action immediately if err := k.TryExecuteAction(ctx, act); err != nil { return nil, err diff --git a/warden/x/act/keeper/msg_server_approve_action.go b/warden/x/act/keeper/msg_server_approve_action.go index 4133ad6d6..daa6ea33f 100644 --- a/warden/x/act/keeper/msg_server_approve_action.go +++ b/warden/x/act/keeper/msg_server_approve_action.go @@ -4,6 +4,7 @@ import ( "context" "fmt" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/act/types/v1beta1" ) @@ -40,5 +41,7 @@ func (k msgServer) ApproveAction(goCtx context.Context, msg *types.MsgApproveAct return nil, err } + telemetry.IncrCounter(1, "approve_action", "msg", "count") + return &types.MsgApproveActionResponse{Status: act.Status.String()}, nil } diff --git a/warden/x/act/keeper/msg_server_new_action.go b/warden/x/act/keeper/msg_server_new_action.go index 86329c46a..a697b9440 100644 --- a/warden/x/act/keeper/msg_server_new_action.go +++ b/warden/x/act/keeper/msg_server_new_action.go @@ -4,6 +4,7 @@ import ( "context" "fmt" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/act/types/v1beta1" ) @@ -27,6 +28,8 @@ func (k msgServer) NewAction(ctx context.Context, msg *types.MsgNewAction) (*typ }); err != nil { return nil, err } + telemetry.IncrCounter(1, "action", "count") + return &types.MsgNewActionResponse{ Id: act.Id, }, nil diff --git a/warden/x/act/keeper/msg_server_new_rule.go b/warden/x/act/keeper/msg_server_new_rule.go index 4303c3789..8a3408a9b 100644 --- a/warden/x/act/keeper/msg_server_new_rule.go +++ b/warden/x/act/keeper/msg_server_new_rule.go @@ -3,6 +3,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/warden-protocol/wardenprotocol/shield" types "github.com/warden-protocol/wardenprotocol/warden/x/act/types/v1beta1" @@ -38,6 +39,8 @@ func (k msgServer) NewRule(goCtx context.Context, msg *types.MsgNewRule) (*types return nil, err } + telemetry.IncrCounter(1, "new_rule", "msg", "count") + return &types.MsgNewRuleResponse{ Id: id, }, nil diff --git a/warden/x/act/keeper/msg_server_revoke_action.go b/warden/x/act/keeper/msg_server_revoke_action.go index f8b15a724..fdc24fd2c 100644 --- a/warden/x/act/keeper/msg_server_revoke_action.go +++ b/warden/x/act/keeper/msg_server_revoke_action.go @@ -4,6 +4,7 @@ import ( "context" "fmt" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/act/types/v1beta1" ) @@ -32,5 +33,7 @@ func (k msgServer) RevokeAction(goCtx context.Context, msg *types.MsgRevokeActio return nil, err } + telemetry.IncrCounter(1, "revoke_action", "msg", "count") + return &types.MsgRevokeActionResponse{}, nil } diff --git a/warden/x/act/keeper/msg_server_update_params.go b/warden/x/act/keeper/msg_server_update_params.go index d2eed8842..61cf6cdbc 100644 --- a/warden/x/act/keeper/msg_server_update_params.go +++ b/warden/x/act/keeper/msg_server_update_params.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/telemetry" errorsmod "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" @@ -19,5 +20,7 @@ func (k msgServer) UpdateParams(goCtx context.Context, req *types.MsgUpdateParam return nil, err } + telemetry.IncrCounter(1, "intent", "update_params", "msg", "count") + return &types.MsgUpdateParamsResponse{}, nil } diff --git a/warden/x/act/keeper/msg_server_update_rule.go b/warden/x/act/keeper/msg_server_update_rule.go index d7f67513a..256674072 100644 --- a/warden/x/act/keeper/msg_server_update_rule.go +++ b/warden/x/act/keeper/msg_server_update_rule.go @@ -4,6 +4,7 @@ import ( "context" "fmt" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/warden-protocol/wardenprotocol/shield" @@ -43,5 +44,7 @@ func (k msgServer) UpdateRule(ctx context.Context, msg *types.MsgUpdateRule) (*t return nil, err } + telemetry.IncrCounter(1, "update_rule", "msg", "count") + return &types.MsgUpdateRuleResponse{}, nil } diff --git a/warden/x/ibctransfer/keeper/ibctransfer.go b/warden/x/ibctransfer/keeper/ibctransfer.go index 1aea0ce4a..65b17140c 100644 --- a/warden/x/ibctransfer/keeper/ibctransfer.go +++ b/warden/x/ibctransfer/keeper/ibctransfer.go @@ -5,6 +5,7 @@ import ( storetypes "cosmossdk.io/store/types" "fmt" "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ibctransferkeeper "github.com/cosmos/ibc-go/v8/modules/apps/transfer/keeper" @@ -47,6 +48,8 @@ func (k Keeper) Transfer(goCtx context.Context, msg *types.MsgTransfer) (*types. gmpKeeper := *k.GmpKeeper gmpParams := gmpKeeper.GetParams(ctx) + telemetry.IncrCounter(1, "ibc_transfer_attempt", "msg", "count") + if msg.Receiver == gmpParams.GmpAddress { bridgeMsg := &gmptypes.MsgBridge{} // safe byte conversion for invalid UTF-8 diff --git a/warden/x/warden/keeper/msg_server_add_keychain_writer.go b/warden/x/warden/keeper/msg_server_add_keychain_writer.go index 1fb9d2791..1bdf92cc8 100644 --- a/warden/x/warden/keeper/msg_server_add_keychain_writer.go +++ b/warden/x/warden/keeper/msg_server_add_keychain_writer.go @@ -4,6 +4,7 @@ import ( "context" "fmt" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/warden/types/v1beta2" ) @@ -43,5 +44,7 @@ func (k msgServer) AddKeychainWriter(goCtx context.Context, msg *types.MsgAddKey return nil, err } + telemetry.IncrCounter(1, "add_keychain_writer", "msg", "count") + return &types.MsgAddKeychainWriterResponse{}, nil } diff --git a/warden/x/warden/keeper/msg_server_add_space_owner.go b/warden/x/warden/keeper/msg_server_add_space_owner.go index 70f214449..1fe93706a 100644 --- a/warden/x/warden/keeper/msg_server_add_space_owner.go +++ b/warden/x/warden/keeper/msg_server_add_space_owner.go @@ -3,6 +3,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/warden/types/v1beta2" ) @@ -35,5 +36,7 @@ func (k msgServer) AddSpaceOwner(ctx context.Context, msg *types.MsgAddSpaceOwne return nil, err } + telemetry.IncrCounter(1, "add_space_owner", "msg", "count") + return &types.MsgAddSpaceOwnerResponse{}, nil } diff --git a/warden/x/warden/keeper/msg_server_fulfil_key_request.go b/warden/x/warden/keeper/msg_server_fulfil_key_request.go index 879bbbf74..77acba56b 100644 --- a/warden/x/warden/keeper/msg_server_fulfil_key_request.go +++ b/warden/x/warden/keeper/msg_server_fulfil_key_request.go @@ -5,6 +5,7 @@ import ( "crypto/ed25519" "fmt" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/warden/types/v1beta2" @@ -79,6 +80,7 @@ func (k msgServer) FulfilKeyRequest(goCtx context.Context, msg *types.MsgFulfilK }); err != nil { return nil, err } + telemetry.IncrCounter(1, "update_key_request", "msg", "count") case types.KeyRequestStatus_KEY_REQUEST_STATUS_REJECTED: req.Status = types.KeyRequestStatus_KEY_REQUEST_STATUS_REJECTED @@ -94,6 +96,8 @@ func (k msgServer) FulfilKeyRequest(goCtx context.Context, msg *types.MsgFulfilK return nil, err } + telemetry.IncrCounter(1, "update_key_request", "msg", "count") + default: return nil, fmt.Errorf("invalid status field, should be either fulfilled/rejected") } diff --git a/warden/x/warden/keeper/msg_server_fulfil_sign_request.go b/warden/x/warden/keeper/msg_server_fulfil_sign_request.go index e0547c60e..e681c603e 100644 --- a/warden/x/warden/keeper/msg_server_fulfil_sign_request.go +++ b/warden/x/warden/keeper/msg_server_fulfil_sign_request.go @@ -5,6 +5,7 @@ import ( "crypto/ed25519" "fmt" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/warden/types/v1beta2" ) @@ -69,6 +70,7 @@ func (k msgServer) FulfilSignRequest(goCtx context.Context, msg *types.MsgFulfil return nil, err } + telemetry.IncrCounter(1, "fulfill_signature_request", "msg", "count") case types.SignRequestStatus_SIGN_REQUEST_STATUS_REJECTED: req.Status = types.SignRequestStatus_SIGN_REQUEST_STATUS_REJECTED req.Result = &types.SignRequest_RejectReason{ @@ -84,6 +86,7 @@ func (k msgServer) FulfilSignRequest(goCtx context.Context, msg *types.MsgFulfil return nil, err } + telemetry.IncrCounter(1, "reject_signature_request", "msg", "count") default: return nil, fmt.Errorf("invalid status field, should be either fulfilled/rejected") } diff --git a/warden/x/warden/keeper/msg_server_new_key_request.go b/warden/x/warden/keeper/msg_server_new_key_request.go index 08583afa9..b418a50ac 100644 --- a/warden/x/warden/keeper/msg_server_new_key_request.go +++ b/warden/x/warden/keeper/msg_server_new_key_request.go @@ -3,6 +3,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/warden/types/v1beta2" ) @@ -61,6 +62,8 @@ func (k msgServer) NewKeyRequest(ctx context.Context, msg *types.MsgNewKeyReques return nil, err } + telemetry.IncrCounter(1, "new_key_request", "msg", "count") + return &types.MsgNewKeyRequestResponse{ Id: id, }, nil diff --git a/warden/x/warden/keeper/msg_server_new_keychain.go b/warden/x/warden/keeper/msg_server_new_keychain.go index c2386de9b..b6ffea64b 100644 --- a/warden/x/warden/keeper/msg_server_new_keychain.go +++ b/warden/x/warden/keeper/msg_server_new_keychain.go @@ -3,6 +3,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/warden/types/v1beta2" ) @@ -30,6 +31,8 @@ func (k msgServer) NewKeychain(goCtx context.Context, msg *types.MsgNewKeychain) return nil, err } + telemetry.IncrCounter(1, "new_keychain", "msg", "count") + return &types.MsgNewKeychainResponse{ Id: id, }, nil diff --git a/warden/x/warden/keeper/msg_server_new_sign_request.go b/warden/x/warden/keeper/msg_server_new_sign_request.go index 3148c4a79..645967b8a 100644 --- a/warden/x/warden/keeper/msg_server_new_sign_request.go +++ b/warden/x/warden/keeper/msg_server_new_sign_request.go @@ -3,6 +3,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/warden/types/v1beta2" @@ -64,5 +65,7 @@ func (k msgServer) NewSignRequest(ctx context.Context, msg *types.MsgNewSignRequ return nil, err } + telemetry.IncrCounter(1, "new_signature_request", "msg", "count") + return &types.MsgNewSignRequestResponse{Id: id}, nil } diff --git a/warden/x/warden/keeper/msg_server_new_space.go b/warden/x/warden/keeper/msg_server_new_space.go index 47b59a109..ea86e9a7b 100644 --- a/warden/x/warden/keeper/msg_server_new_space.go +++ b/warden/x/warden/keeper/msg_server_new_space.go @@ -3,6 +3,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/warden/types/v1beta2" ) @@ -40,6 +41,8 @@ func (k msgServer) NewSpace(goCtx context.Context, msg *types.MsgNewSpace) (*typ return nil, err } + telemetry.IncrCounter(1, "new_space", "msg", "count") + return &types.MsgNewSpaceResponse{ Id: id, }, nil diff --git a/warden/x/warden/keeper/msg_server_remove_space_owner.go b/warden/x/warden/keeper/msg_server_remove_space_owner.go index 7a91df29b..303a18e3d 100644 --- a/warden/x/warden/keeper/msg_server_remove_space_owner.go +++ b/warden/x/warden/keeper/msg_server_remove_space_owner.go @@ -4,6 +4,7 @@ import ( "context" "fmt" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/warden/types/v1beta2" ) @@ -37,5 +38,7 @@ func (k msgServer) RemoveSpaceOwner(ctx context.Context, msg *types.MsgRemoveSpa return nil, err } + telemetry.IncrCounter(1, "remove_space_owner", "msg", "count") + return &types.MsgRemoveSpaceOwnerResponse{}, nil } diff --git a/warden/x/warden/keeper/msg_server_update_key.go b/warden/x/warden/keeper/msg_server_update_key.go index ddaa38012..be8415da9 100644 --- a/warden/x/warden/keeper/msg_server_update_key.go +++ b/warden/x/warden/keeper/msg_server_update_key.go @@ -3,6 +3,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/warden/types/v1beta2" ) @@ -31,5 +32,7 @@ func (k msgServer) UpdateKey(ctx context.Context, msg *types.MsgUpdateKey) (*typ return nil, err } + telemetry.IncrCounter(1, "update_key", "msg", "count") + return &types.MsgUpdateKeyResponse{}, nil } diff --git a/warden/x/warden/keeper/msg_server_update_keychain.go b/warden/x/warden/keeper/msg_server_update_keychain.go index 705b801a8..51e870435 100644 --- a/warden/x/warden/keeper/msg_server_update_keychain.go +++ b/warden/x/warden/keeper/msg_server_update_keychain.go @@ -4,6 +4,7 @@ import ( "context" "fmt" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/warden/types/v1beta2" ) @@ -37,5 +38,7 @@ func (k msgServer) UpdateKeychain(goCtx context.Context, msg *types.MsgUpdateKey return nil, err } + telemetry.IncrCounter(1, "update_keychain", "msg", "count") + return &types.MsgUpdateKeychainResponse{}, nil } diff --git a/warden/x/warden/keeper/msg_server_update_params.go b/warden/x/warden/keeper/msg_server_update_params.go index b56f1014d..9d58aedcf 100644 --- a/warden/x/warden/keeper/msg_server_update_params.go +++ b/warden/x/warden/keeper/msg_server_update_params.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/telemetry" errorsmod "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" @@ -19,5 +20,7 @@ func (k msgServer) UpdateParams(goCtx context.Context, req *types.MsgUpdateParam return nil, err } + telemetry.IncrCounter(1, "warden", "update_params", "msg", "count") + return &types.MsgUpdateParamsResponse{}, nil } diff --git a/warden/x/warden/keeper/msg_server_update_space.go b/warden/x/warden/keeper/msg_server_update_space.go index b772a3b8b..1da889293 100644 --- a/warden/x/warden/keeper/msg_server_update_space.go +++ b/warden/x/warden/keeper/msg_server_update_space.go @@ -3,6 +3,7 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" types "github.com/warden-protocol/wardenprotocol/warden/x/warden/types/v1beta2" ) @@ -44,6 +45,8 @@ func (k msgServer) UpdateSpace(ctx context.Context, msg *types.MsgUpdateSpace) ( return nil, err } + telemetry.IncrCounter(1, "update_space", "msg", "count") + return &types.MsgUpdateSpaceResponse{}, nil }