-
Notifications
You must be signed in to change notification settings - Fork 411
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
upgrade prometheus-cpp to v1.0.1 #5279
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
Signed-off-by: YangKeao <[email protected]>
9abe7cd
to
f0743ae
Compare
/cc @SchrodingerZhu |
@@ -23,6 +23,12 @@ target_link_libraries(core | |||
$<$<AND:$<BOOL:UNIX>,$<NOT:$<BOOL:APPLE>>>:rt> | |||
) | |||
|
|||
if(HAVE_CXX_LIBATOMIC) |
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.
may I ask which symbol is utilized here?
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.
libatomic is a sublib of libgcc series to dispatch atomic operations. clang however should generate instrinction directly for most atomic operations as long as the hardware feature flags are set. We do not set -mcx16
yet for tiflash, but that is something generally available for x86-64-v2
target, which is within the assumption of tiflash. So, if that is the problem, I would prefer adding -mcx16
on x86-64
platform instead.
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.
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU")
# First check if atomics work without the library.
check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITHOUT_LIB)
# If not, check if the library exists, and atomics work with it.
if(NOT HAVE_CXX_ATOMICS_WITHOUT_LIB)
check_library_exists(atomic __atomic_load_8 "" HAVE_CXX_LIBATOMIC)
if(HAVE_CXX_LIBATOMIC)
list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITH_LIB)
if(NOT HAVE_CXX_ATOMICS_WITH_LIB)
message(FATAL_ERROR "Host compiler must support 64-bit std::atomic!")
endif()
else()
message(FATAL_ERROR "Host compiler appears to require libatomic for 64-bit operations, but cannot find it.")
endif()
endif()
endif()
checking into the implementation, this seems to be a compatible flag for special architectures without even 8-byte atomic load. I think we can skip the check here?
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.
I just (carelessly) copy these CMakeLists from the upstream. Nothing will set this variable so it's fine to remove this condition.
The upstream has a another CMakeList, which checked whether the compiler can compile without libatomic. If not, the HAVE_CXX_LIBATOMIC
will be set. See jupp0r/prometheus-cpp@d0e1056
I've removed these lines in the latest commit
Signed-off-by: YangKeao <[email protected]>
/run-all-tests |
/run-release-build |
/run-build-release |
Coverage for changed files
Coverage summary
full coverage report (for internal network access only) |
download tiflash binary(linux amd64) at http://fileserver.pingcap.net/download/builds/pingcap/test/tiflash/aedda8ad472b1c72073099119c77b6b921bbbe93/centos7/tiflash-linux-amd64.tar.gz |
/merge |
@SchrodingerZhu: It seems you want to merge this PR, I will help you trigger all the tests: /run-all-tests You only need to trigger If you have any questions about the PR merge process, please refer to pr process. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
This pull request has been accepted and is ready to merge. Commit hash: aedda8a
|
/run-all-tests |
/build |
/run-integration-test |
Coverage for changed files
Coverage summary
full coverage report (for internal network access only) |
🍻 |
…s in README (pingcap#5182) close pingcap#5172, ref pingcap#5178 Enhancement: add a integrated test on DDL module (pingcap#5130) ref pingcap#5129 Revert "Revise default background threads size" (pingcap#5176) close pingcap#5177 chore: remove extra dyn cast (pingcap#5186) close pingcap#5185 Add MPPReceiverSet, which includes ExchangeReceiver and CoprocessorReader (pingcap#5175) ref pingcap#5095 DDL: Use Column Name Instead of Offset to Find the common handle cluster index (pingcap#5166) close pingcap#5154 Add random failpoint in critical paths (pingcap#4876) close pingcap#4807 Segment test framework (pingcap#5150) close pingcap#5151 optimize ps v3 restore (pingcap#5163) ref pingcap#4914 Fix build failed (pingcap#5196) close pingcap#5195 feat: delta tree dispatching (pingcap#5199) close pingcap#5200 feat: introduce specialized API to write fixed length data rapidly (pingcap#5181) close pingcap#5183 Add gtest for Limit, TopN, Projection (pingcap#5187) (pingcap#5188) close pingcap#5187 add `MPPTask::handleError()` (pingcap#5202) ref pingcap#5095 Check result of starting grpc server (pingcap#5257) close pingcap#5255 feat: add optimized routines for aarch64 (pingcap#5231) close pingcap#5240 fix: aarch64-quick-fix (pingcap#5259) close pingcap#5260 Update client-c to support ipv6 (pingcap#5270) close pingcap#5247 upgrade prometheus-cpp to v1.0.1 (pingcap#5279) ref pingcap#2103, close pingcap#5278 Fix README type error (pingcap#5273) ref pingcap#5178 fix(cmake): make sure libc++ is utilized by tiflash-proxy (pingcap#5281) close pingcap#5282 fix the wrong order of execution summary for list based executors (pingcap#5242) close pingcap#5241 Schema: allow loading empty schema diff when the version grows up. (pingcap#5245) close pingcap#5244 Optimize apply speed under heavy write pressure (pingcap#4883) ref pingcap#4728 update proxy to raftstore-proxy-6.2 (pingcap#5287) ref pingcap#4982 Flush segment cache when doing the compaction (pingcap#5284) close pingcap#5179 metrics: Fix incorrect metrics for delta_merge tasks (pingcap#5061) close pingcap#5055 dep: upgrade jemalloc (pingcap#5197) close pingcap#5258 *: TiFlash pagectl/dttool use only-decryption mode (pingcap#5271) close pingcap#5122 suppresion false positive report from tsan (pingcap#5303) close pingcap#5088 Refine test framework code and tests (pingcap#5261) close pingcap#5262 feat: add logical cpu cores and memory into grafana (pingcap#5124) close pingcap#3821 Implement TimeToSec function push down (pingcap#5235) close pingcap#5116 feat: implement shiftRight function push down (pingcap#5156) close pingcap#5100 schema : make update to partition tables when 'set tiflash replica' (pingcap#5267) close pingcap#5266 Replace initializer_list with vector for planner test framework (pingcap#5307) close pingcap#5295 KVStore: decouple flush region and CompactLog with a new FFI fn_try_flush_data (pingcap#5283) ref pingcap#5170 refine error message in mpptask (pingcap#5304) ref pingcap#5095 Implement ReverseUTF8/Reverse function push down (pingcap#5233) close pingcap#5111 Optimize comparision for collation `UTF8_BIN` and `UTF8MB4_BIN` (pingcap#5299) ref pingcap#5294 feat : support set tiflash mode ddl action (pingcap#5256) ref pingcap#5252 Add non-blocking functions for MPMCQueue (pingcap#5311) close pingcap#5310 add random segment test for CI weekly (pingcap#5300) close pingcap#5301 *: tidy FunctionString.cpp (pingcap#5312) close pingcap#5313 ci: fix check-license github action (pingcap#5318) close pingcap#5317 update proxy to raftstore-proxy-6.2 (pingcap#5316) ref pingcap#4982 Change one `additional_input_at_end` to many streams in `ParallelInputsProcessor` (pingcap#5274) close pingcap#4856, close pingcap#5263 support fine grained shuffle for window function (pingcap#5048) close pingcap#5142 feat: pushdown get_format into TiFlash (pingcap#5269) close pingcap#5115 fix: format throw data truncated error (pingcap#5272) close pingcap#4891 Print content of columns for gtest (pingcap#5243) close pingcap#5203 *: also enable O3 for aarch64 (pingcap#5338) close pingcap#5342 Add debug image build target for CentOS7 (pingcap#5344) close pingcap#5343 *: mini refactor (pingcap#5326) close pingcap#4739 Refactor initialize of background pool (pingcap#5190) close pingcap#5189 delete copy/move ctor of MPMCQueue explicitly (pingcap#5328) close pingcap#5329 Introduce proxy_server and new-mock-engine-store (pingcap#5319) ref pingcap#5170 fix: incorrect uptime in grafana panel Signed-off-by: Lloyd-Pottiger <[email protected]>
Signed-off-by: YangKeao [email protected]
What problem does this PR solve?
Issue Number: close #5278 #2103
Problem Summary:
The prometheus-cpp in tiflash is out of date, and will cause compile-error in new version of libstdc++
What is changed and how it works?
Upgrade the prometheus-cpp to v1.0.1. Modify the cmake files according to the repo.
Check List
Tests
Release Note