Skip to content

Conversation

@rubennorte
Copy link
Contributor

Summary:
This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870

@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner labels Jul 16, 2024
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

@analysis-bot
Copy link

analysis-bot commented Jul 16, 2024

Platform Engine Arch Size (bytes) Diff
android hermes arm64-v8a 21,355,273 +442
android hermes armeabi-v7a n/a --
android hermes x86 n/a --
android hermes x86_64 n/a --
android jsc arm64-v8a 24,550,165 +182
android jsc armeabi-v7a n/a --
android jsc x86 n/a --
android jsc x86_64 n/a --

Base commit: c82edec
Branch: main

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 16, 2024
Summary:
Pull Request resolved: facebook#45473

This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45473

This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Changelog: [internal]

When testing the changes in facebook#45473 / D55491870, I saw that the reported time spans for long tasks didn't perfectly align with the long tasks themselves in traces (Perfetto).

Taking a closer look, I realized that I wasn't doing the conversion between times and durations from `chrono` and `DOMHighResTimeStamp` (a `double`) correctly, and we're doing this conversion very often.

This moves the definition of `DOMHighResTimeStamp` to its own library and adds conversion methods to make sure we don't make this mistake in the future.

Differential Revision: D59820241
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45473

This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45492

Changelog: [internal]

When testing the changes in facebook#45473 / D55491870, I saw that the reported time spans for long tasks didn't perfectly align with the long tasks themselves in traces (Perfetto).

Taking a closer look, I realized that I wasn't doing the conversion between times and durations from `chrono` and `DOMHighResTimeStamp` (a `double`) correctly, and we're doing this conversion very often.

This moves the definition of `DOMHighResTimeStamp` to its own library and adds conversion methods to make sure we don't make this mistake in the future.

Reviewed By: rshest

Differential Revision: D59820241
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45473

This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45492

Changelog: [internal]

When testing the changes in facebook#45473 / D55491870, I saw that the reported time spans for long tasks didn't perfectly align with the long tasks themselves in traces (Perfetto).

Taking a closer look, I realized that I wasn't doing the conversion between times and durations from `chrono` and `DOMHighResTimeStamp` (a `double`) correctly, and we're doing this conversion very often.

This moves the definition of `DOMHighResTimeStamp` to its own library and adds conversion methods to make sure we don't make this mistake in the future.

Reviewed By: rshest

Differential Revision: D59820241
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45473

This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45473

This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45492

Changelog: [internal]

When testing the changes in facebook#45473 / D55491870, I saw that the reported time spans for long tasks didn't perfectly align with the long tasks themselves in traces (Perfetto).

Taking a closer look, I realized that I wasn't doing the conversion between times and durations from `chrono` and `DOMHighResTimeStamp` (a `double`) correctly, and we're doing this conversion very often.

This moves the definition of `DOMHighResTimeStamp` to its own library and adds conversion methods to make sure we don't make this mistake in the future.

Reviewed By: rshest

Differential Revision: D59820241
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45492

Changelog: [internal]

When testing the changes in facebook#45473 / D55491870, I saw that the reported time spans for long tasks didn't perfectly align with the long tasks themselves in traces (Perfetto).

Taking a closer look, I realized that I wasn't doing the conversion between times and durations from `chrono` and `DOMHighResTimeStamp` (a `double`) correctly, and we're doing this conversion very often.

This moves the definition of `DOMHighResTimeStamp` to its own library and adds conversion methods to make sure we don't make this mistake in the future.

Reviewed By: rshest

Differential Revision: D59820241
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45492

Changelog: [internal]

When testing the changes in facebook#45473 / D55491870, I saw that the reported time spans for long tasks didn't perfectly align with the long tasks themselves in traces (Perfetto).

Taking a closer look, I realized that I wasn't doing the conversion between times and durations from `chrono` and `DOMHighResTimeStamp` (a `double`) correctly, and we're doing this conversion very often.

This moves the definition of `DOMHighResTimeStamp` to its own library and adds conversion methods to make sure we don't make this mistake in the future.

Reviewed By: rshest

Differential Revision: D59820241
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45473

This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45492

Changelog: [internal]

When testing the changes in facebook#45473 / D55491870, I saw that the reported time spans for long tasks didn't perfectly align with the long tasks themselves in traces (Perfetto).

Taking a closer look, I realized that I wasn't doing the conversion between times and durations from `chrono` and `DOMHighResTimeStamp` (a `double`) correctly, and we're doing this conversion very often.

This moves the definition of `DOMHighResTimeStamp` to its own library and adds conversion methods to make sure we don't make this mistake in the future.

Reviewed By: rshest

Differential Revision: D59820241
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45473

This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45492

Changelog: [internal]

When testing the changes in facebook#45473 / D55491870, I saw that the reported time spans for long tasks didn't perfectly align with the long tasks themselves in traces (Perfetto).

Taking a closer look, I realized that I wasn't doing the conversion between times and durations from `chrono` and `DOMHighResTimeStamp` (a `double`) correctly, and we're doing this conversion very often.

This moves the definition of `DOMHighResTimeStamp` to its own library and adds conversion methods to make sure we don't make this mistake in the future.

Reviewed By: rshest

Differential Revision: D59820241
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45473

This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45492

Changelog: [internal]

When testing the changes in facebook#45473 / D55491870, I saw that the reported time spans for long tasks didn't perfectly align with the long tasks themselves in traces (Perfetto).

Taking a closer look, I realized that I wasn't doing the conversion between times and durations from `chrono` and `DOMHighResTimeStamp` (a `double`) correctly, and we're doing this conversion very often.

This moves the definition of `DOMHighResTimeStamp` to its own library and adds conversion methods to make sure we don't make this mistake in the future.

Reviewed By: rshest

Differential Revision: D59820241
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 17, 2024
Summary:
Pull Request resolved: facebook#45473

This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870
Differential Revision: D59820241
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 18, 2024
Summary:
Pull Request resolved: facebook#45492

Changelog: [internal]

When testing the changes in facebook#45473 / D55491870, I saw that the reported time spans for long tasks didn't perfectly align with the long tasks themselves in traces (Perfetto).

Taking a closer look, I realized that I wasn't doing the conversion between times and durations from `chrono` and `DOMHighResTimeStamp` (a `double`) correctly, and we're doing this conversion very often.

This moves the definition of `DOMHighResTimeStamp` to its own library and adds conversion methods to make sure we don't make this mistake in the future.

Reviewed By: rshest

Differential Revision: D59820241
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 18, 2024
Summary:
Pull Request resolved: facebook#45473

This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870
Summary:
Pull Request resolved: facebook#45473

This is a basic implementation of the Long Tasks API (https://w3c.github.io/longtasks/).

It detects and reports long tasks when using the Event Loop (in the modern RuntimeScheduler) when a new feature flag for this purpose is enabled.

This doesn't include attribution information at the moment.

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D55491870
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55491870

facebook-github-bot pushed a commit that referenced this pull request Jul 18, 2024
Summary:
Pull Request resolved: #45492

Changelog: [internal]

When testing the changes in #45473 / D55491870, I saw that the reported time spans for long tasks didn't perfectly align with the long tasks themselves in traces (Perfetto).

Taking a closer look, I realized that I wasn't doing the conversion between times and durations from `chrono` and `DOMHighResTimeStamp` (a `double`) correctly, and we're doing this conversion very often.

This moves the definition of `DOMHighResTimeStamp` to its own library and adds conversion methods to make sure we don't make this mistake in the future.

Reviewed By: rshest

Differential Revision: D59820241

fbshipit-source-id: c123920de56336da384ddc484f6ac9d287724301
@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Jul 18, 2024
@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 64c4e38.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants