Experiment with CLOCK_THREAD_CPUTIME_ID
All checks were successful
Tests / Clang total: 1533, passed: 1533
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Debug total: 1531, passed: 1531
Tests / SIMD fallback total: 1533, passed: 1533
Tests / Release [gcc] total: 1533, passed: 1533
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1144, passed: 1144
Tests / Coverage total: 1151, passed: 1151
Code Coverage #### Project Overview
No changes detected, that affect the code coverage.
* Line Coverage: 98.72% (1695/1717)
* Branch Coverage: 64.59% (1503/2327)
* Complexity Density: 0.00
* Lines of Code: 1717
#### Quality Gates Summary
Output truncated.
weaselab/conflict-set/pipeline/head This commit looks good
All checks were successful
Tests / Clang total: 1533, passed: 1533
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Debug total: 1531, passed: 1531
Tests / SIMD fallback total: 1533, passed: 1533
Tests / Release [gcc] total: 1533, passed: 1533
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1144, passed: 1144
Tests / Coverage total: 1151, passed: 1151
Code Coverage #### Project Overview
No changes detected, that affect the code coverage.
* Line Coverage: 98.72% (1695/1717)
* Branch Coverage: 64.59% (1503/2327)
* Complexity Density: 0.00
* Lines of Code: 1717
#### Quality Gates Summary
Output truncated.
weaselab/conflict-set/pipeline/head This commit looks good
This commit is contained in:
@@ -29,6 +29,7 @@ limitations under the License.
|
|||||||
#include <span>
|
#include <span>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <string_view>
|
#include <string_view>
|
||||||
|
#include <sys/time.h>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
@@ -3067,9 +3068,15 @@ Node *firstGeqPhysical(Node *n, const std::span<const uint8_t> key) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define MEASURE_CHECK_CPU_TIME 0
|
||||||
|
|
||||||
struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
|
struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
|
||||||
|
|
||||||
void check(const ReadRange *reads, Result *result, int count) {
|
void check(const ReadRange *reads, Result *result, int count) {
|
||||||
|
#if MEASURE_CHECK_CPU_TIME
|
||||||
|
timespec ts_begin;
|
||||||
|
clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts_begin);
|
||||||
|
#endif
|
||||||
int commits_accum = 0;
|
int commits_accum = 0;
|
||||||
int conflicts_accum = 0;
|
int conflicts_accum = 0;
|
||||||
int too_olds_accum = 0;
|
int too_olds_accum = 0;
|
||||||
@@ -3115,6 +3122,13 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
|
|||||||
conflicts_total.add(conflicts_accum);
|
conflicts_total.add(conflicts_accum);
|
||||||
too_olds_total.add(too_olds_accum);
|
too_olds_total.add(too_olds_accum);
|
||||||
check_bytes_total.add(check_byte_accum);
|
check_bytes_total.add(check_byte_accum);
|
||||||
|
#if MEASURE_CHECK_CPU_TIME
|
||||||
|
timespec ts_end;
|
||||||
|
clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts_end);
|
||||||
|
check_cpu_seconds_total.add(
|
||||||
|
std::max<double>(0, (ts_end.tv_nsec * 1e-9 + ts_end.tv_sec) -
|
||||||
|
(ts_begin.tv_nsec * 1e-9 + ts_begin.tv_sec)));
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void addWrites(const WriteRange *writes, int count, int64_t writeVersion) {
|
void addWrites(const WriteRange *writes, int count, int64_t writeVersion) {
|
||||||
@@ -3329,6 +3343,10 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
|
|||||||
COUNTER(too_olds_total,
|
COUNTER(too_olds_total,
|
||||||
"Total number of checks where the result is \"too old\"");
|
"Total number of checks where the result is \"too old\"");
|
||||||
COUNTER(check_bytes_total, "Total number of key bytes checked");
|
COUNTER(check_bytes_total, "Total number of key bytes checked");
|
||||||
|
#if MEASURE_CHECK_CPU_TIME
|
||||||
|
COUNTER(check_cpu_seconds_total,
|
||||||
|
"Total cpu seconds spent in a call to check");
|
||||||
|
#endif
|
||||||
// ==================== END METRICS DEFINITIONS ====================
|
// ==================== END METRICS DEFINITIONS ====================
|
||||||
#undef GAUGE
|
#undef GAUGE
|
||||||
#undef COUNTER
|
#undef COUNTER
|
||||||
|
Reference in New Issue
Block a user