Page MenuHomePhabricator

log: Use steady clock for bench logging
ClosedPublic

Authored by Fabien on Wed, Nov 5, 13:29.

Details

Reviewers
PiRK
Group Reviewers
Restricted Project
Commits
rABC311f263c08e8: log: Use steady clock for bench logging
Summary
Instead of using 0.001 and similar constants to "convert" an int64_t to milliseconds, use the type-safe Ticks<> helper. Also, use steady clock instead of system clock, since the durations are used for benchmarking.

Backport of core#26118.

Test Plan
ninja all check-all

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Fabien requested review of this revision.Wed, Nov 5, 13:29

Tail of the build log:

[412/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[413/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[414/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[415/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[416/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[417/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[418/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[419/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[420/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[421/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[422/585] Installing component secp256k1
-- Install configuration: "RelWithDebInfo"
-- Install component: "secp256k1"
-- Installing: /results/artifacts/lib/libsecp256k1.a
-- Installing: /results/artifacts/include/secp256k1.h
-- Installing: /results/artifacts/include/secp256k1_preallocated.h
-- Installing: /results/artifacts/include/secp256k1_recovery.h
-- Installing: /results/artifacts/include/secp256k1_schnorr.h
[423/585] Linking C executable src/secp256k1/verify-bench
[424/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[425/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[426/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[427/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[428/585] Linking C executable src/secp256k1/sign-bench
[429/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[430/585] Linking CXX static library src/libbitcoinconsensus.a
[431/585] Linking C executable src/secp256k1/recover-bench
[432/585] Linking C executable src/secp256k1/ecmult-bench
[433/585] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[434/585] Linking C executable src/secp256k1/internal-bench
[435/585] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[436/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[437/585] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[438/585] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[439/585] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[440/585] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[441/585] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[442/585] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[443/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[444/585] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[445/585] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[446/585] Linking CXX static library src/libscript.a
[447/585] Linking CXX static library src/libcommon.a
[448/585] Linking CXX shared library src/libbitcoinconsensus.so.0.32.1
[449/585] Creating library symlink src/libbitcoinconsensus.so.0 src/libbitcoinconsensus.so
[450/585] Linking CXX executable src/bitcoin-tx
[451/585] Linking CXX executable src/iguana/iguana
[452/585] Linking CXX executable src/bitcoin-cli
[453/585] Linking CXX static library src/wallet/libwallet.a
[454/585] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o
FAILED: src/CMakeFiles/server.dir/validation.cpp.o 
/usr/bin/ccache /usr/bin/clang++ -DBOOST_ALL_NO_LIB -DBOOST_NO_CXX98_FUNCTION_BASE -DBUILD_BITCOIN_INTERNAL -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_BUILD_INFO -DHAVE_CONFIG_H -DHAVE_CONSENSUS_LIB -DLEVELDB_ATOMIC_PRESENT -DLEVELDB_PLATFORM_POSIX -DOS_LINUX -I/work/src/leveldb/helpers/memenv -I/work/src/. -I/work/abc-ci-builds/build-clang/src -I/work/src/univalue/include -I/work/abc-ci-builds/build-clang/src/crypto/.. -I/work/src/secp256k1/include -I/work/src/leveldb/include -isystem /usr/include/jemalloc -isystem /usr/include/miniupnpc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wgnu -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wthread-safety -Wrange-loop-analysis -Wredundant-decls -Wunreachable-code-loop-increment -Wsign-compare -Wconditional-uninitialized -Wdocumentation -Wformat-security -Wredundant-move -Woverloaded-virtual -Wshadow -Wshadow-field -Wno-unused-parameter -Wno-implicit-fallthrough -Wno-psabi -std=gnu++20 -MD -MT src/CMakeFiles/server.dir/validation.cpp.o -MF src/CMakeFiles/server.dir/validation.cpp.o.d -o src/CMakeFiles/server.dir/validation.cpp.o -c /work/src/validation.cpp
/work/src/validation.cpp:2108:30: error: unused variable 'time_undo' [-Werror,-Wunused-variable]
static SteadyClock::duration time_undo{};
                             ^
1 error generated.
[455/585] Building CXX object src/CMakeFiles/server.dir/node/miner.cpp.o
[456/585] Building CXX object src/CMakeFiles/server.dir/rpc/mining.cpp.o
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang failed with exit code 1

Tail of the build log:

[410/595] Linking CXX executable src/bitcoin-cli
[411/595] Building CXX object src/CMakeFiles/server.dir/txmempool.cpp.o
[412/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockindex.cpp.o
[413/595] Building CXX object src/CMakeFiles/server.dir/torcontrol.cpp.o
[414/595] Building CXX object src/CMakeFiles/server.dir/rpc/blockchain.cpp.o
[415/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o
[416/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/logging.cpp.o
[417/595] Building CXX object src/CMakeFiles/bitcoind.dir/bitcoind.cpp.o
[418/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/coins.cpp.o
[419/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/random.cpp.o
[420/595] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o
[421/595] Linking CXX executable src/bitcoin-tx
[422/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o
[423/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o
[424/595] Building CXX object src/CMakeFiles/bitcoin-wallet.dir/bitcoin-wallet.cpp.o
[425/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[426/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o
[427/595] Building CXX object src/CMakeFiles/server.dir/wallet/init.cpp.o
[428/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[429/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o
[430/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o
[431/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[432/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[433/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o
[434/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[435/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o
[436/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o
[437/595] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[438/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[439/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[440/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[441/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[442/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[443/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[444/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[445/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[446/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[447/595] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[448/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[449/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[450/595] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[451/595] Linking CXX static library chronik/libchronik-bridge.a
[452/595] Linking CXX static library chronik/libchronik.a
[453/595] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[454/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[455/595] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[456/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[457/595] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[458/595] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[459/595] Linking CXX executable src/iguana/iguana
[460/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[461/595] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[462/595] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[463/595] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[464/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[465/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[466/595] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[467/595] Linking CXX static library src/wallet/libwallet.a
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang-tidy failed with exit code 1
Fabien planned changes to this revision.Wed, Nov 5, 13:46
This revision is now accepted and ready to land.Wed, Nov 5, 14:37
This revision was automatically updated to reflect the committed changes.