-
Notifications
You must be signed in to change notification settings - Fork 6.3k
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
Core-local statistics #2258
Core-local statistics #2258
Conversation
@ajkr updated the pull request - view changes |
@ajkr has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
@ajkr updated the pull request - view changes - changes since last import |
@ajkr has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
@ajkr updated the pull request - view changes - changes since last import |
@ajkr has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
CLANG Analyze failure with: internal_repo_rocksdb/repo/monitoring/statistics.h:71:9: error: no matching function for call to 'atomic_init' |
@ajkr updated the pull request - view changes - changes since last import |
Thanks, @siying, I was confused about the array initialization but fixed it now. |
@ajkr has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
can somebody review in time for the June release? |
monitoring/statistics.h
Outdated
__declspec(align(64)) struct StatisticsData { | ||
std::atomic_uint_fast64_t tickers_[INTERNAL_TICKER_ENUM_MAX] = {{0}}; | ||
HistogramImpl histograms_[INTERNAL_HISTOGRAM_ENUM_MAX]; | ||
} __attribute__((__aligned__(64))); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please make sure it works in Windows. Looks like it is failing.
@ajkr updated the pull request - view changes - changes since last import |
@ajkr has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
This diff changes
StatisticsImpl
from a thread-local approach to a core-local one. The goal is to perform faster aggregations, particularly for applications that have many threads. There should be no behavior change.Test Plan: