Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add initial tracing to transaction controller #4575

Merged
merged 8 commits into from
Aug 16, 2024

Conversation

matthewwalsh0
Copy link
Member

@matthewwalsh0 matthewwalsh0 commented Jul 31, 2024

Explanation

Add an optional trace constructor callback to the TransactionController to support generating Sentry traces within the controller, without coupling to the Sentry package.

Add an optional traceContext argument to addTransaction to facilitate generating nested traces within a parent trace generated within a client.

Add initial instrumentation of the transaction lifecycle.

References

#2849 #2903

Changelog

@metamask/transaction-controller

  • ADDED: Add optional trace callback to constructor.
  • ADDED: Add optional traceContext option to addTransaction method.

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've highlighted breaking changes using the "BREAKING" category above as appropriate

@matthewwalsh0 matthewwalsh0 changed the title feat: add trace infrastructure to transaction controller feat: add initial tracing to transaction controller Aug 2, 2024
@matthewwalsh0
Copy link
Member Author

@metamaskbot publish-preview

Copy link
Contributor

github-actions bot commented Aug 2, 2024

Preview builds have been published. See these instructions for more information about preview builds.

Expand for full list of packages and versions.
{
  "@metamask-previews/accounts-controller": "18.0.0-preview-a90bc717",
  "@metamask-previews/address-book-controller": "5.0.0-preview-a90bc717",
  "@metamask-previews/announcement-controller": "7.0.0-preview-a90bc717",
  "@metamask-previews/approval-controller": "7.0.2-preview-a90bc717",
  "@metamask-previews/assets-controllers": "37.0.0-preview-a90bc717",
  "@metamask-previews/base-controller": "6.0.2-preview-a90bc717",
  "@metamask-previews/build-utils": "3.0.0-preview-a90bc717",
  "@metamask-previews/chain-controller": "0.1.1-preview-a90bc717",
  "@metamask-previews/composable-controller": "7.0.0-preview-a90bc717",
  "@metamask-previews/controller-utils": "11.0.2-preview-a90bc717",
  "@metamask-previews/ens-controller": "13.0.1-preview-a90bc717",
  "@metamask-previews/eth-json-rpc-provider": "4.1.2-preview-a90bc717",
  "@metamask-previews/gas-fee-controller": "19.0.1-preview-a90bc717",
  "@metamask-previews/json-rpc-engine": "9.0.2-preview-a90bc717",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.2-preview-a90bc717",
  "@metamask-previews/keyring-controller": "17.1.2-preview-a90bc717",
  "@metamask-previews/logging-controller": "5.0.0-preview-a90bc717",
  "@metamask-previews/message-manager": "10.0.2-preview-a90bc717",
  "@metamask-previews/name-controller": "8.0.0-preview-a90bc717",
  "@metamask-previews/network-controller": "20.1.0-preview-a90bc717",
  "@metamask-previews/notification-controller": "6.0.0-preview-a90bc717",
  "@metamask-previews/notification-services-controller": "0.2.0-preview-a90bc717",
  "@metamask-previews/permission-controller": "11.0.0-preview-a90bc717",
  "@metamask-previews/permission-log-controller": "3.0.0-preview-a90bc717",
  "@metamask-previews/phishing-controller": "10.1.1-preview-a90bc717",
  "@metamask-previews/polling-controller": "9.0.1-preview-a90bc717",
  "@metamask-previews/preferences-controller": "13.0.1-preview-a90bc717",
  "@metamask-previews/profile-sync-controller": "0.2.0-preview-a90bc717",
  "@metamask-previews/queued-request-controller": "4.0.0-preview-a90bc717",
  "@metamask-previews/rate-limit-controller": "6.0.0-preview-a90bc717",
  "@metamask-previews/selected-network-controller": "17.0.0-preview-a90bc717",
  "@metamask-previews/signature-controller": "18.0.1-preview-a90bc717",
  "@metamask-previews/transaction-controller": "35.1.0-preview-a90bc717",
  "@metamask-previews/user-operation-controller": "14.0.1-preview-a90bc717"
}

@matthewwalsh0
Copy link
Member Author

@metamaskbot publish-preview

Copy link
Contributor

github-actions bot commented Aug 2, 2024

Preview builds have been published. See these instructions for more information about preview builds.

Expand for full list of packages and versions.
{
  "@metamask-previews/accounts-controller": "18.0.0-preview-401e7319",
  "@metamask-previews/address-book-controller": "5.0.0-preview-401e7319",
  "@metamask-previews/announcement-controller": "7.0.0-preview-401e7319",
  "@metamask-previews/approval-controller": "7.0.2-preview-401e7319",
  "@metamask-previews/assets-controllers": "37.0.0-preview-401e7319",
  "@metamask-previews/base-controller": "6.0.2-preview-401e7319",
  "@metamask-previews/build-utils": "3.0.0-preview-401e7319",
  "@metamask-previews/chain-controller": "0.1.1-preview-401e7319",
  "@metamask-previews/composable-controller": "7.0.0-preview-401e7319",
  "@metamask-previews/controller-utils": "11.0.2-preview-401e7319",
  "@metamask-previews/ens-controller": "13.0.1-preview-401e7319",
  "@metamask-previews/eth-json-rpc-provider": "4.1.2-preview-401e7319",
  "@metamask-previews/gas-fee-controller": "19.0.1-preview-401e7319",
  "@metamask-previews/json-rpc-engine": "9.0.2-preview-401e7319",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.2-preview-401e7319",
  "@metamask-previews/keyring-controller": "17.1.2-preview-401e7319",
  "@metamask-previews/logging-controller": "5.0.0-preview-401e7319",
  "@metamask-previews/message-manager": "10.0.2-preview-401e7319",
  "@metamask-previews/name-controller": "8.0.0-preview-401e7319",
  "@metamask-previews/network-controller": "20.1.0-preview-401e7319",
  "@metamask-previews/notification-controller": "6.0.0-preview-401e7319",
  "@metamask-previews/notification-services-controller": "0.2.0-preview-401e7319",
  "@metamask-previews/permission-controller": "11.0.0-preview-401e7319",
  "@metamask-previews/permission-log-controller": "3.0.0-preview-401e7319",
  "@metamask-previews/phishing-controller": "10.1.1-preview-401e7319",
  "@metamask-previews/polling-controller": "9.0.1-preview-401e7319",
  "@metamask-previews/preferences-controller": "13.0.1-preview-401e7319",
  "@metamask-previews/profile-sync-controller": "0.2.0-preview-401e7319",
  "@metamask-previews/queued-request-controller": "4.0.0-preview-401e7319",
  "@metamask-previews/rate-limit-controller": "6.0.0-preview-401e7319",
  "@metamask-previews/selected-network-controller": "17.0.0-preview-401e7319",
  "@metamask-previews/signature-controller": "18.0.1-preview-401e7319",
  "@metamask-previews/transaction-controller": "35.1.0-preview-401e7319",
  "@metamask-previews/user-operation-controller": "14.0.1-preview-401e7319"
}

@matthewwalsh0 matthewwalsh0 marked this pull request as ready for review August 13, 2024 12:26
@matthewwalsh0 matthewwalsh0 requested a review from a team as a code owner August 13, 2024 12:26
@matthewwalsh0 matthewwalsh0 added the team-tiger Tiger team (for tech debt reduction + performance improvements) label Aug 13, 2024
@matthewwalsh0
Copy link
Member Author

@metamaskbot publish-preview

Copy link
Contributor

Preview builds have been published. See these instructions for more information about preview builds.

Expand for full list of packages and versions.
{
  "@metamask-previews/accounts-controller": "18.0.0-preview-aa054ee6",
  "@metamask-previews/address-book-controller": "5.0.0-preview-aa054ee6",
  "@metamask-previews/announcement-controller": "7.0.0-preview-aa054ee6",
  "@metamask-previews/approval-controller": "7.0.2-preview-aa054ee6",
  "@metamask-previews/assets-controllers": "37.0.0-preview-aa054ee6",
  "@metamask-previews/base-controller": "6.0.2-preview-aa054ee6",
  "@metamask-previews/build-utils": "3.0.0-preview-aa054ee6",
  "@metamask-previews/chain-controller": "0.1.1-preview-aa054ee6",
  "@metamask-previews/composable-controller": "7.0.0-preview-aa054ee6",
  "@metamask-previews/controller-utils": "11.0.2-preview-aa054ee6",
  "@metamask-previews/ens-controller": "13.0.1-preview-aa054ee6",
  "@metamask-previews/eth-json-rpc-provider": "4.1.3-preview-aa054ee6",
  "@metamask-previews/gas-fee-controller": "19.0.1-preview-aa054ee6",
  "@metamask-previews/json-rpc-engine": "9.0.2-preview-aa054ee6",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.2-preview-aa054ee6",
  "@metamask-previews/keyring-controller": "17.1.2-preview-aa054ee6",
  "@metamask-previews/logging-controller": "5.0.0-preview-aa054ee6",
  "@metamask-previews/message-manager": "10.0.2-preview-aa054ee6",
  "@metamask-previews/name-controller": "8.0.0-preview-aa054ee6",
  "@metamask-previews/network-controller": "20.1.0-preview-aa054ee6",
  "@metamask-previews/notification-controller": "6.0.0-preview-aa054ee6",
  "@metamask-previews/notification-services-controller": "0.2.1-preview-aa054ee6",
  "@metamask-previews/permission-controller": "11.0.0-preview-aa054ee6",
  "@metamask-previews/permission-log-controller": "3.0.0-preview-aa054ee6",
  "@metamask-previews/phishing-controller": "10.1.1-preview-aa054ee6",
  "@metamask-previews/polling-controller": "9.0.1-preview-aa054ee6",
  "@metamask-previews/preferences-controller": "13.0.1-preview-aa054ee6",
  "@metamask-previews/profile-sync-controller": "0.2.1-preview-aa054ee6",
  "@metamask-previews/queued-request-controller": "4.0.0-preview-aa054ee6",
  "@metamask-previews/rate-limit-controller": "6.0.0-preview-aa054ee6",
  "@metamask-previews/selected-network-controller": "17.0.0-preview-aa054ee6",
  "@metamask-previews/signature-controller": "18.0.1-preview-aa054ee6",
  "@metamask-previews/transaction-controller": "35.1.1-preview-aa054ee6",
  "@metamask-previews/user-operation-controller": "14.0.1-preview-aa054ee6"
}

@matthewwalsh0 matthewwalsh0 merged commit b4506ba into main Aug 16, 2024
116 checks passed
@matthewwalsh0 matthewwalsh0 deleted the feat/transaction-controller-trace branch August 16, 2024 08:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team-confirmations team-tiger Tiger team (for tech debt reduction + performance improvements)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants