Skip to content

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

@github-actions
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

@github-actions
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

@github-actions
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
@matthewwalsh0 matthewwalsh0 deleted the feat/transaction-controller-trace branch August 16, 2024 08:49
OGPoyraz pushed a commit that referenced this pull request Sep 12, 2024
Add an optional `trace` constructor callback to the `TransactionController`.
Add an optional `traceContext` argument to `addTransaction`.
Add initial instrumentation of the transaction lifecycle.
@OGPoyraz OGPoyraz mentioned this pull request Sep 12, 2024
3 tasks
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.

3 participants