-
Notifications
You must be signed in to change notification settings - Fork 24.7k
refactor: well-defined behaviour #52187
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
Conversation
This pull request was exported from Phabricator. Differential Revision: D77053030 |
Summary: # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `bufferMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
Summary: # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `bufferMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
This pull request was exported from Phabricator. Differential Revision: D77053030 |
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `bufferMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
This pull request was exported from Phabricator. Differential Revision: D77053030 |
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
Summary: # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
This pull request was exported from Phabricator. Differential Revision: D77053030 |
Summary: # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
This pull request was exported from Phabricator. Differential Revision: D77053030 |
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
This pull request was exported from Phabricator. Differential Revision: D77053030 |
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
Summary: # Changelog: [Internal] - `bool tracing_` -> `std::atomic<bool> tracingAtomic_`. - More doc-comments to explain the usage of mutex and atomics. - `PerformanceTracer::isTracing()` -> `inline PerformanceTracer::isTracing()`. - `uint64_t processId_` -> `const uint64_t processId_`. The main change is that the boolean flag that controls "if we are tracing" is now atomic, which should eliminate potential data races. To avoid "logic" races, we are still going to lock mutex, and then check again. The use of `std::atomic` allows us to perform cheaper check first to avoid potentially unnecessary serializations from other systems that report events into `PerformanceTracer`. Differential Revision: D77053030
This pull request was exported from Phabricator. Differential Revision: D77053030 |
Summary: # Changelog: [Internal] - `bool tracing_` -> `std::atomic<bool> tracingAtomic_`. - More doc-comments to explain the usage of mutex and atomics. - `PerformanceTracer::isTracing()` -> `inline PerformanceTracer::isTracing()`. - `uint64_t processId_` -> `const uint64_t processId_`. The main change is that the boolean flag that controls "if we are tracing" is now atomic, which should eliminate potential data races. To avoid "logic" races, we are still going to lock mutex, and then check again. The use of `std::atomic` allows us to perform cheaper check first to avoid potentially unnecessary serializations from other systems that report events into `PerformanceTracer`. Differential Revision: D77053030
This pull request was exported from Phabricator. Differential Revision: D77053030 |
Summary: # Changelog: [Internal] - `bool tracing_` -> `std::atomic<bool> tracingAtomic_`. - More doc-comments to explain the usage of mutex and atomics. - `PerformanceTracer::isTracing()` -> `inline PerformanceTracer::isTracing()`. - `uint64_t processId_` -> `const uint64_t processId_`. The main change is that the boolean flag that controls "if we are tracing" is now atomic, which should eliminate potential data races. To avoid "logic" races, we are still going to lock mutex, and then check again. The use of `std::atomic` allows us to perform cheaper check first to avoid potentially unnecessary serializations from other systems that report events into `PerformanceTracer`. Reviewed By: rubennorte Differential Revision: D77053030
Summary: # Changelog: [Internal] - `bool tracing_` -> `std::atomic<bool> tracingAtomic_`. - More doc-comments to explain the usage of mutex and atomics. - `PerformanceTracer::isTracing()` -> `inline PerformanceTracer::isTracing()`. - `uint64_t processId_` -> `const uint64_t processId_`. The main change is that the boolean flag that controls "if we are tracing" is now atomic, which should eliminate potential data races. To avoid "logic" races, we are still going to lock mutex, and then check again. The use of `std::atomic` allows us to perform cheaper check first to avoid potentially unnecessary serializations from other systems that report events into `PerformanceTracer`. Reviewed By: rubennorte Differential Revision: D77053030
b04d020
to
286d96e
Compare
This pull request was exported from Phabricator. Differential Revision: D77053030 |
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
This pull request was exported from Phabricator. Differential Revision: D77053030 |
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `bool tracing_` -> `std::atomic<bool> tracingAtomic_`. - More doc-comments to explain the usage of mutex and atomics. - `PerformanceTracer::isTracing()` -> `inline PerformanceTracer::isTracing()`. - `uint64_t processId_` -> `const uint64_t processId_`. The main change is that the boolean flag that controls "if we are tracing" is now atomic, which should eliminate potential data races. To avoid "logic" races, we are still going to lock mutex, and then check again. The use of `std::atomic` allows us to perform cheaper check first to avoid potentially unnecessary serializations from other systems that report events into `PerformanceTracer`. Reviewed By: rubennorte Differential Revision: D77053030
This pull request was exported from Phabricator. Differential Revision: D77053030 |
Summary: # Changelog: [Internal] - `bool tracing_` -> `std::atomic<bool> tracingAtomic_`. - More doc-comments to explain the usage of mutex and atomics. - `PerformanceTracer::isTracing()` -> `inline PerformanceTracer::isTracing()`. - `uint64_t processId_` -> `const uint64_t processId_`. The main change is that the boolean flag that controls "if we are tracing" is now atomic, which should eliminate potential data races. To avoid "logic" races, we are still going to lock mutex, and then check again. The use of `std::atomic` allows us to perform cheaper check first to avoid potentially unnecessary serializations from other systems that report events into `PerformanceTracer`. Reviewed By: rubennorte Differential Revision: D77053030
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
Summary: # Changelog: [Internal] - `bool tracing_` -> `std::atomic<bool> tracingAtomic_`. - More doc-comments to explain the usage of mutex and atomics. - `PerformanceTracer::isTracing()` -> `inline PerformanceTracer::isTracing()`. - `uint64_t processId_` -> `const uint64_t processId_`. The main change is that the boolean flag that controls "if we are tracing" is now atomic, which should eliminate potential data races. To avoid "logic" races, we are still going to lock mutex, and then check again. The use of `std::atomic` allows us to perform cheaper check first to avoid potentially unnecessary serializations from other systems that report events into `PerformanceTracer`. Reviewed By: rubennorte Differential Revision: D77053030
Summary: Pull Request resolved: facebook#52187 # Changelog: [Internal] - `tracing_` is now `std::atomic<bool>`. - `performanceMeasureCount_` is now`std::atomic<uint32_t>`. - `mutex_` -> `tracingMutex_`. The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers. Differential Revision: D77053030
This pull request was successfully merged by @hoxyq in e504909 When will my fix make it into a release? | How to file a pick request? |
This pull request has been merged in e504909. |
Summary:
Changelog: [Internal]
tracing_
is nowstd::atomic<bool>
.performanceMeasureCount_
is nowstd::atomic<uint32_t>
.mutex_
->bufferMutex_
.The biggest change is that we no longer read from
tracing_
directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers.Differential Revision: D77053030