diff options
author | Håvard Pettersen <havardpe@oath.com> | 2019-02-06 14:05:20 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@oath.com> | 2019-02-08 12:15:48 +0000 |
commit | c992aff3322b897df5cbaf34215b7dc8f76e0437 (patch) | |
tree | 7a53aedb47ccfcebfae385d62dd8353da0ed55aa /vespalib/src/tests/time_tracer | |
parent | dd76474b683c0a634656c161bb2c1140817abbc1 (diff) |
TLS time trace experiments
Note that this is without intrusive samples in the code
Diffstat (limited to 'vespalib/src/tests/time_tracer')
-rw-r--r-- | vespalib/src/tests/time_tracer/time_tracer_test.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/vespalib/src/tests/time_tracer/time_tracer_test.cpp b/vespalib/src/tests/time_tracer/time_tracer_test.cpp index 835c3ffecbf..d7e2e0d579a 100644 --- a/vespalib/src/tests/time_tracer/time_tracer_test.cpp +++ b/vespalib/src/tests/time_tracer/time_tracer_test.cpp @@ -11,16 +11,15 @@ using vespalib::test::TimeTracer; TT_Tag tag0("tag0"); TT_Tag tag1("tag1"); TT_Tag tag2("tag2"); -TT_Tag tag1_too("tag1"); TT_Tag my_tag("my tag"); -TEST("require that tags are numbered by first creation time") { - EXPECT_EQUAL(tag0.id(), 0u); - EXPECT_EQUAL(tag1.id(), 1u); - EXPECT_EQUAL(tag2.id(), 2u); - EXPECT_EQUAL(tag1_too.id(), 1u); - EXPECT_EQUAL(my_tag.id(), 3u); +TEST("require that tag ids are equal if and only if tag names are equal") { + TT_Tag tag1_too("tag1"); + EXPECT_NOT_EQUAL(tag0.id(), tag1.id()); + EXPECT_NOT_EQUAL(tag1.id(), tag2.id()); + EXPECT_NOT_EQUAL(tag2.id(), tag0.id()); + EXPECT_EQUAL(tag1_too.id(), tag1.id()); } TEST_MT("require that threads are numbered by first sample", 3) { @@ -38,14 +37,14 @@ TEST_MT("require that threads are numbered by first sample", 3) { { TT_Sample sample(tag2); } } TEST_BARRIER(); // # 3 - auto list = TimeTracer::extract_all(); + auto list = TimeTracer::extract().get(); ASSERT_EQUAL(list.size(), 3u); EXPECT_EQUAL(list[0].thread_id, 0u); - EXPECT_EQUAL(list[0].tag_id, 0u); + EXPECT_EQUAL(list[0].tag_id, tag0.id()); EXPECT_EQUAL(list[1].thread_id, 1u); - EXPECT_EQUAL(list[1].tag_id, 1u); + EXPECT_EQUAL(list[1].tag_id, tag1.id()); EXPECT_EQUAL(list[2].thread_id, 2u); - EXPECT_EQUAL(list[2].tag_id, 2u); + EXPECT_EQUAL(list[2].tag_id, tag2.id()); } TEST("require that records are extracted inversely ordered by end time per thread") { @@ -53,11 +52,11 @@ TEST("require that records are extracted inversely ordered by end time per threa { TT_Sample s(my_tag); } { TT_Sample s(my_tag); } auto t = TimeTracer::now(); - auto list = TimeTracer::extract_all(); + auto list = TimeTracer::extract().get(); EXPECT_EQUAL(list.size(), 6u); size_t cnt = 0; for (const auto &item: list) { - if (item.tag_id == 3) { + if (item.tag_id == my_tag.id()) { ++cnt; EXPECT_TRUE(item.start <= item.stop); EXPECT_TRUE(item.stop <= t); @@ -73,7 +72,7 @@ TEST("benchmark time sampling") { fprintf(stderr, "min timestamp time: %g us\n", min_stamp_us); fprintf(stderr, "min sample time: %g us\n", min_sample_us); fprintf(stderr, "estimated non-clock overhead: %g us\n", (min_sample_us - (min_stamp_us * 2.0))); - auto list = TimeTracer::extract_all(); + auto list = TimeTracer::extract().get(); fprintf(stderr, "total samples after benchmarking: %zu\n", list.size()); EXPECT_GREATER(list.size(), 6u); } |