From ebc33116b1bebc36fd1cd421916bdb88799481c7 Mon Sep 17 00:00:00 2001 From: Yan Xue Date: Wed, 13 Jul 2022 22:37:32 -0700 Subject: [PATCH 1/8] Use template class for in-memory data. --- exporters/memory/BUILD | 13 ++-- exporters/memory/CMakeLists.txt | 8 +- .../exporters/memory/in_memory_data.h | 62 ++++++++++++++++ .../exporters/memory/in_memory_span_data.h | 74 ------------------- .../memory/in_memory_span_exporter.h | 15 ++-- ...an_data_test.cc => in_memory_data_test.cc} | 14 ++-- .../test/in_memory_span_exporter_test.cc | 6 +- 7 files changed, 90 insertions(+), 102 deletions(-) create mode 100644 exporters/memory/include/opentelemetry/exporters/memory/in_memory_data.h delete mode 100644 exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_data.h rename exporters/memory/test/{in_memory_span_data_test.cc => in_memory_data_test.cc} (57%) diff --git a/exporters/memory/BUILD b/exporters/memory/BUILD index 055d5016a5..76a33fd628 100644 --- a/exporters/memory/BUILD +++ b/exporters/memory/BUILD @@ -1,28 +1,27 @@ package(default_visibility = ["//visibility:public"]) cc_library( - name = "in_memory_span_data", + name = "in_memory_data", hdrs = [ - "include/opentelemetry/exporters/memory/in_memory_span_data.h", + "include/opentelemetry/exporters/memory/in_memory_data.h", ], strip_include_prefix = "include", tags = ["memory"], deps = [ "//api", "//sdk/src/resource", - "//sdk/src/trace", ], ) cc_test( - name = "in_memory_span_data_test", - srcs = ["test/in_memory_span_data_test.cc"], + name = "in_memory_data_test", + srcs = ["test/in_memory_data_test.cc"], tags = [ "memory", "test", ], deps = [ - ":in_memory_span_data", + ":in_memory_data", "@com_google_googletest//:gtest_main", ], ) @@ -42,7 +41,7 @@ cc_library( "test", ], deps = [ - ":in_memory_span_data", + ":in_memory_data", "//sdk/src/trace", ], ) diff --git a/exporters/memory/CMakeLists.txt b/exporters/memory/CMakeLists.txt index 7fb357d73a..699ff4d48a 100644 --- a/exporters/memory/CMakeLists.txt +++ b/exporters/memory/CMakeLists.txt @@ -26,12 +26,12 @@ install( PATTERN "*.h") if(BUILD_TESTING) - add_executable(in_memory_span_data_test test/in_memory_span_data_test.cc) + add_executable(in_memory_data_test test/in_memory_data_test.cc) add_executable(in_memory_span_exporter_test test/in_memory_span_exporter_test.cc) target_link_libraries( - in_memory_span_data_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} + in_memory_data_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} opentelemetry_exporter_in_memory opentelemetry_resources) target_link_libraries( @@ -40,9 +40,9 @@ if(BUILD_TESTING) opentelemetry_resources) gtest_add_tests( - TARGET in_memory_span_data_test + TARGET in_memory_data_test TEST_PREFIX exporter. - TEST_LIST in_memory_span_data_test) + TEST_LIST in_memory_data_test) gtest_add_tests( TARGET in_memory_span_exporter_test TEST_PREFIX exporter. diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_data.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_data.h new file mode 100644 index 0000000000..8fc4b0b4f7 --- /dev/null +++ b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_data.h @@ -0,0 +1,62 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include "opentelemetry/sdk/common/circular_buffer.h" + +#include + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace exporter +{ +namespace memory +{ +/** + * A wrapper class holding in memory exporter data + */ +template +class InMemoryData final +{ +public: + /** + * @param buffer_size a required value that sets the size of the CircularBuffer + */ + InMemoryData(size_t buffer_size) : data_(buffer_size) {} + + /** + * @param data a required unique pointer to the data to add to the CircularBuffer + */ + void Add(std::unique_ptr data) noexcept { data_.Add(data); } + + /** + * @return Returns a vector of unique pointers containing all the data in the + * CircularBuffer. This operation will empty the Buffer, which is why the data + * is returned as unique pointers + */ + std::vector> Get() noexcept + { + std::vector> res; + + // Pointer swap is required because the Consume function requires that the + // AtomicUniquePointer be set to null + data_.Consume( + data_.size(), [&](opentelemetry::sdk::common::CircularBufferRange< + opentelemetry::sdk::common::AtomicUniquePtr> range) noexcept { + range.ForEach([&](opentelemetry::sdk::common::AtomicUniquePtr &ptr) noexcept { + std::unique_ptr swap_ptr = nullptr; + ptr.Swap(swap_ptr); + res.push_back(std::move(swap_ptr)); + return true; + }); + }); + + return res; + } + +private: + opentelemetry::sdk::common::CircularBuffer data_; +}; +} // namespace memory +} // namespace exporter +OPENTELEMETRY_END_NAMESPACE diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_data.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_data.h deleted file mode 100644 index df6d377b9d..0000000000 --- a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_data.h +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -#pragma once - -#include "opentelemetry/sdk/common/circular_buffer.h" -#include "opentelemetry/sdk/trace/recordable.h" -#include "opentelemetry/sdk/trace/span_data.h" - -#include - -OPENTELEMETRY_BEGIN_NAMESPACE -namespace exporter -{ -namespace memory -{ -/** - * A wrapper class holding in memory exporter data - */ -class InMemorySpanData final -{ -public: - /** - * @param buffer_size a required value that sets the size of the CircularBuffer - */ - InMemorySpanData(size_t buffer_size) : spans_received_(buffer_size) {} - - /** - * @param data a required unique pointer to the data to add to the CircularBuffer - */ - void Add(std::unique_ptr data) noexcept - { - std::unique_ptr span_data( - static_cast(data.release())); - spans_received_.Add(span_data); - } - - /** - * @return Returns a vector of unique pointers containing all the span data in the - * CircularBuffer. This operation will empty the Buffer, which is why the data - * is returned as unique pointers - */ - std::vector> GetSpans() noexcept - { - std::vector> res; - - // Pointer swap is required because the Consume function requires that the - // AtomicUniquePointer be set to null - spans_received_.Consume( - spans_received_.size(), - [&](opentelemetry::sdk::common::CircularBufferRange< - opentelemetry::sdk::common::AtomicUniquePtr> - range) noexcept { - range.ForEach( - [&](opentelemetry::sdk::common::AtomicUniquePtr - &ptr) noexcept { - std::unique_ptr swap_ptr = - std::unique_ptr(nullptr); - ptr.Swap(swap_ptr); - res.push_back( - std::unique_ptr(swap_ptr.release())); - return true; - }); - }); - - return res; - } - -private: - opentelemetry::sdk::common::CircularBuffer spans_received_; -}; -} // namespace memory -} // namespace exporter -OPENTELEMETRY_END_NAMESPACE diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h index 28b7bc34e8..b0455b47a7 100644 --- a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h +++ b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h @@ -4,8 +4,10 @@ #pragma once #include #include "opentelemetry/common/spin_lock_mutex.h" -#include "opentelemetry/exporters/memory/in_memory_span_data.h" +#include "opentelemetry/exporters/memory/in_memory_data.h" #include "opentelemetry/sdk/trace/exporter.h" +#include "opentelemetry/sdk/trace/recordable.h" +#include "opentelemetry/sdk/trace/span_data.h" #include "opentelemetry/sdk_config.h" OPENTELEMETRY_BEGIN_NAMESPACE @@ -22,11 +24,13 @@ const size_t MAX_BUFFER_SIZE = 100; class InMemorySpanExporter final : public opentelemetry::sdk::trace::SpanExporter { public: + using InMemorySpanData = exporter::memory::InMemoryData; + /** * @param buffer_size an optional value that sets the size of the InMemorySpanData */ InMemorySpanExporter(size_t buffer_size = MAX_BUFFER_SIZE) - : data_(new opentelemetry::exporter::memory::InMemorySpanData(buffer_size)) + : data_(new InMemorySpanData(buffer_size)) {} /** @@ -80,13 +84,10 @@ class InMemorySpanExporter final : public opentelemetry::sdk::trace::SpanExporte /** * @return Returns a shared pointer to this exporters InMemorySpanData */ - std::shared_ptr GetData() noexcept - { - return data_; - } + std::shared_ptr GetData() noexcept { return data_; } private: - std::shared_ptr data_; + std::shared_ptr data_; bool is_shutdown_ = false; mutable opentelemetry::common::SpinLockMutex lock_; const bool isShutdown() const noexcept diff --git a/exporters/memory/test/in_memory_span_data_test.cc b/exporters/memory/test/in_memory_data_test.cc similarity index 57% rename from exporters/memory/test/in_memory_span_data_test.cc rename to exporters/memory/test/in_memory_data_test.cc index bc19550264..88d08edd21 100644 --- a/exporters/memory/test/in_memory_span_data_test.cc +++ b/exporters/memory/test/in_memory_data_test.cc @@ -1,28 +1,28 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/exporters/memory/in_memory_span_data.h" +#include "opentelemetry/exporters/memory/in_memory_data.h" #include "opentelemetry/nostd/span.h" #include "opentelemetry/sdk/trace/span_data.h" #include -using opentelemetry::exporter::memory::InMemorySpanData; +using opentelemetry::exporter::memory::InMemoryData; using opentelemetry::sdk::trace::Recordable; using opentelemetry::sdk::trace::SpanData; -TEST(InMemorySpanData, AddRecordable) +TEST(InMemoryData, AddRecordable) { - InMemorySpanData data(100); + InMemoryData data(100); - ASSERT_EQ(0, data.GetSpans().size()); + ASSERT_EQ(0, data.Get().size()); std::unique_ptr spandata(new SpanData()); data.Add(std::move(spandata)); // Consumes all spans in exporter - ASSERT_EQ(1, data.GetSpans().size()); + ASSERT_EQ(1, data.Get().size()); - ASSERT_EQ(0, data.GetSpans().size()); + ASSERT_EQ(0, data.Get().size()); } diff --git a/exporters/memory/test/in_memory_span_exporter_test.cc b/exporters/memory/test/in_memory_span_exporter_test.cc index 56a0ef7790..d0e5d8a9db 100644 --- a/exporters/memory/test/in_memory_span_exporter_test.cc +++ b/exporters/memory/test/in_memory_span_exporter_test.cc @@ -15,15 +15,15 @@ TEST(InMemorySpanExporter, ExportBatch) { InMemorySpanExporter exporter; - ASSERT_EQ(0, exporter.GetData().get()->GetSpans().size()); + ASSERT_EQ(0, exporter.GetData()->Get().size()); std::unique_ptr spandata(new SpanData()); opentelemetry::nostd::span> batch(&spandata, 1); exporter.Export(batch); - ASSERT_EQ(1, exporter.GetData().get()->GetSpans().size()); + ASSERT_EQ(1, exporter.GetData()->Get().size()); // Consumes all spans in exporter - ASSERT_EQ(0, exporter.GetData().get()->GetSpans().size()); + ASSERT_EQ(0, exporter.GetData()->Get().size()); } From 285507dc3c7933486325dcfec5b951c5cce0b95f Mon Sep 17 00:00:00 2001 From: Yan Xue Date: Wed, 13 Jul 2022 22:45:12 -0700 Subject: [PATCH 2/8] Fix tests. --- .../memory/in_memory_span_exporter.h | 4 +- sdk/test/trace/simple_processor_test.cc | 4 +- sdk/test/trace/tracer_test.cc | 58 +++++++++---------- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h index b0455b47a7..71aec06187 100644 --- a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h +++ b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h @@ -21,11 +21,11 @@ const size_t MAX_BUFFER_SIZE = 100; * A in memory exporter that switches a flag once a valid recordable was received * and keeps track of all received spans in memory. */ +using InMemorySpanData = exporter::memory::InMemoryData; + class InMemorySpanExporter final : public opentelemetry::sdk::trace::SpanExporter { public: - using InMemorySpanData = exporter::memory::InMemoryData; - /** * @param buffer_size an optional value that sets the size of the InMemorySpanData */ diff --git a/sdk/test/trace/simple_processor_test.cc b/sdk/test/trace/simple_processor_test.cc index 9398b922a5..be97537289 100644 --- a/sdk/test/trace/simple_processor_test.cc +++ b/sdk/test/trace/simple_processor_test.cc @@ -25,11 +25,11 @@ TEST(SimpleProcessor, ToInMemorySpanExporter) processor.OnStart(*recordable, SpanContext::GetInvalid()); - ASSERT_EQ(0, span_data->GetSpans().size()); + ASSERT_EQ(0, span_data->Get().size()); processor.OnEnd(std::move(recordable)); - ASSERT_EQ(1, span_data->GetSpans().size()); + ASSERT_EQ(1, span_data->Get().size()); EXPECT_TRUE(processor.Shutdown()); } diff --git a/sdk/test/trace/tracer_test.cc b/sdk/test/trace/tracer_test.cc index 15a7566b9b..6c935349f7 100644 --- a/sdk/test/trace/tracer_test.cc +++ b/sdk/test/trace/tracer_test.cc @@ -118,11 +118,11 @@ TEST(Tracer, ToInMemorySpanExporter) auto scope_first = tracer->WithActiveSpan(span_first); auto span_second = tracer->StartSpan("span 2"); - ASSERT_EQ(0, span_data->GetSpans().size()); + ASSERT_EQ(0, span_data->Get().size()); span_second->End(); - auto span2 = span_data->GetSpans(); + auto span2 = span_data->Get(); ASSERT_EQ(1, span2.size()); ASSERT_EQ("span 2", span2.at(0)->GetName()); EXPECT_TRUE(span2.at(0)->GetTraceId().IsValid()); @@ -131,7 +131,7 @@ TEST(Tracer, ToInMemorySpanExporter) span_first->End(); - auto span1 = span_data->GetSpans(); + auto span1 = span_data->Get(); ASSERT_EQ(1, span1.size()); ASSERT_EQ("span 1", span1.at(0)->GetName()); EXPECT_TRUE(span1.at(0)->GetTraceId().IsValid()); @@ -151,7 +151,7 @@ TEST(Tracer, StartSpanSampleOn) tracer_on->StartSpan("span 1")->End(); - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); ASSERT_EQ(1, spans.size()); auto &cur_span_data = spans.at(0); @@ -176,7 +176,7 @@ TEST(Tracer, StartSpanSampleOff) span->End(); // The span doesn't write any span data because the sampling decision is alway // DROP. - ASSERT_EQ(0, span_data->GetSpans().size()); + ASSERT_EQ(0, span_data->Get().size()); } TEST(Tracer, StartSpanCustomIdGenerator) @@ -187,7 +187,7 @@ TEST(Tracer, StartSpanCustomIdGenerator) auto tracer = initTracer(std::move(exporter), new AlwaysOnSampler(), id_generator); tracer->StartSpan("span 1")->End(); - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); auto &cur_span_data = spans.at(0); EXPECT_EQ(cur_span_data->GetTraceId(), id_generator->GenerateTraceId()); @@ -209,7 +209,7 @@ TEST(Tracer, StartSpanWithOptionsTime) tracer->StartSpan("span 1", start)->End(end); - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); ASSERT_EQ(1, spans.size()); auto &cur_span_data = spans.at(0); @@ -260,7 +260,7 @@ TEST(Tracer, StartSpanWithAttributes) tracer->StartSpan("span 2", m)->End(); - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); ASSERT_EQ(2, spans.size()); auto &cur_span_data = spans.at(0); @@ -322,7 +322,7 @@ TEST(Tracer, StartSpanWithAttributesCopy) ->End(); } - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); ASSERT_EQ(1, spans.size()); auto &cur_span_data = spans.at(0); @@ -377,7 +377,7 @@ TEST(Tracer, SpanSetAttribute) span->End(); - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); ASSERT_EQ(1, spans.size()); auto &cur_span_data = spans.at(0); ASSERT_EQ(3.1, nostd::get(cur_span_data->GetAttributes().at("abc"))); @@ -405,7 +405,7 @@ TEST(Tracer, TestAfterEnd) span->SetStatus(opentelemetry::trace::StatusCode::kError, description); span->End(); - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); ASSERT_EQ(1, spans.size()); auto &cur_span_data = spans.at(0); ASSERT_EQ(3.1, nostd::get(cur_span_data->GetAttributes().at("abc"))); @@ -423,7 +423,7 @@ TEST(Tracer, SpanSetEvents) span->AddEvent("event 3", std::chrono::system_clock::now(), {{"attr1", 1}}); span->End(); - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); ASSERT_EQ(1, spans.size()); auto &span_data_events = spans.at(0)->GetEvents(); @@ -446,7 +446,7 @@ TEST(Tracer, SpanSetLinks) // Single span link passed through Initialization list tracer->StartSpan("efg", {{"attr1", 1}}, {{SpanContext(false, false), {{"attr2", 2}}}})->End(); - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); ASSERT_EQ(1, spans.size()); auto &span_data_links = spans.at(0)->GetLinks(); @@ -462,7 +462,7 @@ TEST(Tracer, SpanSetLinks) {{SpanContext(false, false), {{"attr2", 2}}}, {SpanContext(false, false), {{"attr3", 3}}}}) ->End(); - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); ASSERT_EQ(1, spans.size()); auto &span_data_links = spans.at(0)->GetLinks(); @@ -481,7 +481,7 @@ TEST(Tracer, SpanSetLinks) {{SpanContext(false, false), {{"attr2", 2}, {"attr3", 3}}}, {SpanContext(false, false), {{"attr4", 4}}}}) ->End(); - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); ASSERT_EQ(1, spans.size()); auto &span_data_links = spans.at(0)->GetLinks(); @@ -500,7 +500,7 @@ TEST(Tracer, SpanSetLinks) std::vector>> links = { {SpanContext(false, false), attrs1}, {SpanContext(false, false), attrs2}}; tracer->StartSpan("efg", attrs1, links)->End(); - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); auto &span_data_links = spans.at(0)->GetLinks(); ASSERT_EQ(2, span_data_links.size()); @@ -526,7 +526,7 @@ TEST(Tracer, TestAlwaysOnSampler) span_on_2->End(); span_on_1->End(); - auto spans = span_data->GetSpans(); + auto spans = span_data->Get(); ASSERT_EQ(2, spans.size()); ASSERT_EQ("span 2", spans.at(0)->GetName()); // span 2 ends first. ASSERT_EQ("span 1", spans.at(1)->GetName()); @@ -546,7 +546,7 @@ TEST(Tracer, TestAlwaysOffSampler) span_off_1->End(); // The tracer export nothing with an AlwaysOff sampler - ASSERT_EQ(0, span_data->GetSpans().size()); + ASSERT_EQ(0, span_data->Get().size()); } TEST(Tracer, TestParentBasedSampler) @@ -566,7 +566,7 @@ TEST(Tracer, TestParentBasedSampler) span_parent_on_2->End(); span_parent_on_1->End(); - auto spans = span_data_parent_on->GetSpans(); + auto spans = span_data_parent_on->Get(); ASSERT_EQ(2, spans.size()); ASSERT_EQ("span 2", spans.at(0)->GetName()); ASSERT_EQ("span 1", spans.at(1)->GetName()); @@ -587,7 +587,7 @@ TEST(Tracer, TestParentBasedSampler) span_parent_off_1->End(); span_parent_off_2->End(); - ASSERT_EQ(0, span_data_parent_off->GetSpans().size()); + ASSERT_EQ(0, span_data_parent_off->Get().size()); } TEST(Tracer, WithActiveSpan) @@ -595,7 +595,7 @@ TEST(Tracer, WithActiveSpan) std::unique_ptr exporter(new InMemorySpanExporter()); std::shared_ptr span_data = exporter->GetData(); auto tracer = initTracer(std::move(exporter)); - auto spans = span_data.get()->GetSpans(); + auto spans = span_data.get()->Get(); ASSERT_EQ(0, spans.size()); @@ -607,20 +607,20 @@ TEST(Tracer, WithActiveSpan) auto span_second = tracer->StartSpan("span 2"); auto scope_second = tracer->WithActiveSpan(span_second); - spans = span_data->GetSpans(); + spans = span_data->Get(); ASSERT_EQ(0, spans.size()); span_second->End(); } - spans = span_data->GetSpans(); + spans = span_data->Get(); ASSERT_EQ(1, spans.size()); EXPECT_EQ("span 2", spans.at(0)->GetName()); span_first->End(); } - spans = span_data->GetSpans(); + spans = span_data->Get(); ASSERT_EQ(1, spans.size()); EXPECT_EQ("span 1", spans.at(0)->GetName()); } @@ -630,7 +630,7 @@ TEST(Tracer, ExpectParent) std::unique_ptr exporter(new InMemorySpanExporter()); std::shared_ptr span_data = exporter->GetData(); auto tracer = initTracer(std::move(exporter)); - auto spans = span_data.get()->GetSpans(); + auto spans = span_data.get()->Get(); ASSERT_EQ(0, spans.size()); @@ -647,7 +647,7 @@ TEST(Tracer, ExpectParent) span_second->End(); span_first->End(); - spans = span_data->GetSpans(); + spans = span_data->Get(); ASSERT_EQ(3, spans.size()); auto spandata_first = std::move(spans.at(2)); auto spandata_second = std::move(spans.at(1)); @@ -665,7 +665,7 @@ TEST(Tracer, ExpectParentAsContext) std::unique_ptr exporter(new InMemorySpanExporter()); std::shared_ptr span_data = exporter->GetData(); auto tracer = initTracer(std::move(exporter)); - auto spans = span_data.get()->GetSpans(); + auto spans = span_data.get()->Get(); ASSERT_EQ(0, spans.size()); @@ -685,7 +685,7 @@ TEST(Tracer, ExpectParentAsContext) span_second->End(); span_first->End(); - spans = span_data->GetSpans(); + spans = span_data->Get(); ASSERT_EQ(3, spans.size()); auto spandata_first = std::move(spans.at(2)); auto spandata_second = std::move(spans.at(1)); @@ -727,5 +727,5 @@ TEST(Tracer, SpanCleanupWithScope) } } } - EXPECT_EQ(4, span_data->GetSpans().size()); + EXPECT_EQ(4, span_data->Get().size()); } From 46232039e698540ef71170028ab44c20e3cfd89c Mon Sep 17 00:00:00 2001 From: Yan Xue Date: Thu, 14 Jul 2022 22:35:47 -0700 Subject: [PATCH 3/8] Resolve comment. --- .../exporters/memory/in_memory_data.h | 2 +- .../memory/in_memory_span_exporter.h | 11 ++++- .../test/in_memory_span_exporter_test.cc | 6 +-- sdk/test/trace/simple_processor_test.cc | 4 +- sdk/test/trace/tracer_test.cc | 48 +++++++++---------- 5 files changed, 39 insertions(+), 32 deletions(-) diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_data.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_data.h index 8fc4b0b4f7..26acba4b63 100644 --- a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_data.h +++ b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_data.h @@ -16,7 +16,7 @@ namespace memory * A wrapper class holding in memory exporter data */ template -class InMemoryData final +class InMemoryData { public: /** diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h index 71aec06187..84c117f78b 100644 --- a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h +++ b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h @@ -17,12 +17,19 @@ namespace memory { const size_t MAX_BUFFER_SIZE = 100; +class InMemorySpanData final : public exporter::memory::InMemoryData +{ +public: + explicit InMemorySpanData(size_t buffer_size) + : exporter::memory::InMemoryData(buffer_size) + {} + + std::vector> GetSpans() noexcept { return Get(); } +}; /** * A in memory exporter that switches a flag once a valid recordable was received * and keeps track of all received spans in memory. */ -using InMemorySpanData = exporter::memory::InMemoryData; - class InMemorySpanExporter final : public opentelemetry::sdk::trace::SpanExporter { public: diff --git a/exporters/memory/test/in_memory_span_exporter_test.cc b/exporters/memory/test/in_memory_span_exporter_test.cc index d0e5d8a9db..56a0ef7790 100644 --- a/exporters/memory/test/in_memory_span_exporter_test.cc +++ b/exporters/memory/test/in_memory_span_exporter_test.cc @@ -15,15 +15,15 @@ TEST(InMemorySpanExporter, ExportBatch) { InMemorySpanExporter exporter; - ASSERT_EQ(0, exporter.GetData()->Get().size()); + ASSERT_EQ(0, exporter.GetData().get()->GetSpans().size()); std::unique_ptr spandata(new SpanData()); opentelemetry::nostd::span> batch(&spandata, 1); exporter.Export(batch); - ASSERT_EQ(1, exporter.GetData()->Get().size()); + ASSERT_EQ(1, exporter.GetData().get()->GetSpans().size()); // Consumes all spans in exporter - ASSERT_EQ(0, exporter.GetData()->Get().size()); + ASSERT_EQ(0, exporter.GetData().get()->GetSpans().size()); } diff --git a/sdk/test/trace/simple_processor_test.cc b/sdk/test/trace/simple_processor_test.cc index be97537289..9398b922a5 100644 --- a/sdk/test/trace/simple_processor_test.cc +++ b/sdk/test/trace/simple_processor_test.cc @@ -25,11 +25,11 @@ TEST(SimpleProcessor, ToInMemorySpanExporter) processor.OnStart(*recordable, SpanContext::GetInvalid()); - ASSERT_EQ(0, span_data->Get().size()); + ASSERT_EQ(0, span_data->GetSpans().size()); processor.OnEnd(std::move(recordable)); - ASSERT_EQ(1, span_data->Get().size()); + ASSERT_EQ(1, span_data->GetSpans().size()); EXPECT_TRUE(processor.Shutdown()); } diff --git a/sdk/test/trace/tracer_test.cc b/sdk/test/trace/tracer_test.cc index 6c935349f7..6aeae76efc 100644 --- a/sdk/test/trace/tracer_test.cc +++ b/sdk/test/trace/tracer_test.cc @@ -118,11 +118,11 @@ TEST(Tracer, ToInMemorySpanExporter) auto scope_first = tracer->WithActiveSpan(span_first); auto span_second = tracer->StartSpan("span 2"); - ASSERT_EQ(0, span_data->Get().size()); + ASSERT_EQ(0, span_data->GetSpans().size()); span_second->End(); - auto span2 = span_data->Get(); + auto span2 = span_data->GetSpans(); ASSERT_EQ(1, span2.size()); ASSERT_EQ("span 2", span2.at(0)->GetName()); EXPECT_TRUE(span2.at(0)->GetTraceId().IsValid()); @@ -131,7 +131,7 @@ TEST(Tracer, ToInMemorySpanExporter) span_first->End(); - auto span1 = span_data->Get(); + auto span1 = span_data->GetSpans(); ASSERT_EQ(1, span1.size()); ASSERT_EQ("span 1", span1.at(0)->GetName()); EXPECT_TRUE(span1.at(0)->GetTraceId().IsValid()); @@ -151,7 +151,7 @@ TEST(Tracer, StartSpanSampleOn) tracer_on->StartSpan("span 1")->End(); - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); ASSERT_EQ(1, spans.size()); auto &cur_span_data = spans.at(0); @@ -176,7 +176,7 @@ TEST(Tracer, StartSpanSampleOff) span->End(); // The span doesn't write any span data because the sampling decision is alway // DROP. - ASSERT_EQ(0, span_data->Get().size()); + ASSERT_EQ(0, span_data->GetSpans().size()); } TEST(Tracer, StartSpanCustomIdGenerator) @@ -187,7 +187,7 @@ TEST(Tracer, StartSpanCustomIdGenerator) auto tracer = initTracer(std::move(exporter), new AlwaysOnSampler(), id_generator); tracer->StartSpan("span 1")->End(); - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); auto &cur_span_data = spans.at(0); EXPECT_EQ(cur_span_data->GetTraceId(), id_generator->GenerateTraceId()); @@ -209,7 +209,7 @@ TEST(Tracer, StartSpanWithOptionsTime) tracer->StartSpan("span 1", start)->End(end); - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); ASSERT_EQ(1, spans.size()); auto &cur_span_data = spans.at(0); @@ -260,7 +260,7 @@ TEST(Tracer, StartSpanWithAttributes) tracer->StartSpan("span 2", m)->End(); - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); ASSERT_EQ(2, spans.size()); auto &cur_span_data = spans.at(0); @@ -322,7 +322,7 @@ TEST(Tracer, StartSpanWithAttributesCopy) ->End(); } - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); ASSERT_EQ(1, spans.size()); auto &cur_span_data = spans.at(0); @@ -377,7 +377,7 @@ TEST(Tracer, SpanSetAttribute) span->End(); - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); ASSERT_EQ(1, spans.size()); auto &cur_span_data = spans.at(0); ASSERT_EQ(3.1, nostd::get(cur_span_data->GetAttributes().at("abc"))); @@ -405,7 +405,7 @@ TEST(Tracer, TestAfterEnd) span->SetStatus(opentelemetry::trace::StatusCode::kError, description); span->End(); - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); ASSERT_EQ(1, spans.size()); auto &cur_span_data = spans.at(0); ASSERT_EQ(3.1, nostd::get(cur_span_data->GetAttributes().at("abc"))); @@ -423,7 +423,7 @@ TEST(Tracer, SpanSetEvents) span->AddEvent("event 3", std::chrono::system_clock::now(), {{"attr1", 1}}); span->End(); - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); ASSERT_EQ(1, spans.size()); auto &span_data_events = spans.at(0)->GetEvents(); @@ -446,7 +446,7 @@ TEST(Tracer, SpanSetLinks) // Single span link passed through Initialization list tracer->StartSpan("efg", {{"attr1", 1}}, {{SpanContext(false, false), {{"attr2", 2}}}})->End(); - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); ASSERT_EQ(1, spans.size()); auto &span_data_links = spans.at(0)->GetLinks(); @@ -462,7 +462,7 @@ TEST(Tracer, SpanSetLinks) {{SpanContext(false, false), {{"attr2", 2}}}, {SpanContext(false, false), {{"attr3", 3}}}}) ->End(); - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); ASSERT_EQ(1, spans.size()); auto &span_data_links = spans.at(0)->GetLinks(); @@ -481,7 +481,7 @@ TEST(Tracer, SpanSetLinks) {{SpanContext(false, false), {{"attr2", 2}, {"attr3", 3}}}, {SpanContext(false, false), {{"attr4", 4}}}}) ->End(); - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); ASSERT_EQ(1, spans.size()); auto &span_data_links = spans.at(0)->GetLinks(); @@ -500,7 +500,7 @@ TEST(Tracer, SpanSetLinks) std::vector>> links = { {SpanContext(false, false), attrs1}, {SpanContext(false, false), attrs2}}; tracer->StartSpan("efg", attrs1, links)->End(); - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); auto &span_data_links = spans.at(0)->GetLinks(); ASSERT_EQ(2, span_data_links.size()); @@ -526,7 +526,7 @@ TEST(Tracer, TestAlwaysOnSampler) span_on_2->End(); span_on_1->End(); - auto spans = span_data->Get(); + auto spans = span_data->GetSpans(); ASSERT_EQ(2, spans.size()); ASSERT_EQ("span 2", spans.at(0)->GetName()); // span 2 ends first. ASSERT_EQ("span 1", spans.at(1)->GetName()); @@ -546,7 +546,7 @@ TEST(Tracer, TestAlwaysOffSampler) span_off_1->End(); // The tracer export nothing with an AlwaysOff sampler - ASSERT_EQ(0, span_data->Get().size()); + ASSERT_EQ(0, span_data->GetSpans().size()); } TEST(Tracer, TestParentBasedSampler) @@ -607,20 +607,20 @@ TEST(Tracer, WithActiveSpan) auto span_second = tracer->StartSpan("span 2"); auto scope_second = tracer->WithActiveSpan(span_second); - spans = span_data->Get(); + spans = span_data->GetSpans(); ASSERT_EQ(0, spans.size()); span_second->End(); } - spans = span_data->Get(); + spans = span_data->GetSpans(); ASSERT_EQ(1, spans.size()); EXPECT_EQ("span 2", spans.at(0)->GetName()); span_first->End(); } - spans = span_data->Get(); + spans = span_data->GetSpans(); ASSERT_EQ(1, spans.size()); EXPECT_EQ("span 1", spans.at(0)->GetName()); } @@ -647,7 +647,7 @@ TEST(Tracer, ExpectParent) span_second->End(); span_first->End(); - spans = span_data->Get(); + spans = span_data->GetSpans(); ASSERT_EQ(3, spans.size()); auto spandata_first = std::move(spans.at(2)); auto spandata_second = std::move(spans.at(1)); @@ -685,7 +685,7 @@ TEST(Tracer, ExpectParentAsContext) span_second->End(); span_first->End(); - spans = span_data->Get(); + spans = span_data->GetSpans(); ASSERT_EQ(3, spans.size()); auto spandata_first = std::move(spans.at(2)); auto spandata_second = std::move(spans.at(1)); @@ -727,5 +727,5 @@ TEST(Tracer, SpanCleanupWithScope) } } } - EXPECT_EQ(4, span_data->Get().size()); + EXPECT_EQ(4, span_data->GetSpans().size()); } From bcb78941cc2c6a3a639bafef21f50169c87a0033 Mon Sep 17 00:00:00 2001 From: Yan Xue Date: Thu, 14 Jul 2022 22:37:19 -0700 Subject: [PATCH 4/8] patch --- sdk/test/trace/tracer_test.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sdk/test/trace/tracer_test.cc b/sdk/test/trace/tracer_test.cc index 6aeae76efc..15a7566b9b 100644 --- a/sdk/test/trace/tracer_test.cc +++ b/sdk/test/trace/tracer_test.cc @@ -566,7 +566,7 @@ TEST(Tracer, TestParentBasedSampler) span_parent_on_2->End(); span_parent_on_1->End(); - auto spans = span_data_parent_on->Get(); + auto spans = span_data_parent_on->GetSpans(); ASSERT_EQ(2, spans.size()); ASSERT_EQ("span 2", spans.at(0)->GetName()); ASSERT_EQ("span 1", spans.at(1)->GetName()); @@ -587,7 +587,7 @@ TEST(Tracer, TestParentBasedSampler) span_parent_off_1->End(); span_parent_off_2->End(); - ASSERT_EQ(0, span_data_parent_off->Get().size()); + ASSERT_EQ(0, span_data_parent_off->GetSpans().size()); } TEST(Tracer, WithActiveSpan) @@ -595,7 +595,7 @@ TEST(Tracer, WithActiveSpan) std::unique_ptr exporter(new InMemorySpanExporter()); std::shared_ptr span_data = exporter->GetData(); auto tracer = initTracer(std::move(exporter)); - auto spans = span_data.get()->Get(); + auto spans = span_data.get()->GetSpans(); ASSERT_EQ(0, spans.size()); @@ -630,7 +630,7 @@ TEST(Tracer, ExpectParent) std::unique_ptr exporter(new InMemorySpanExporter()); std::shared_ptr span_data = exporter->GetData(); auto tracer = initTracer(std::move(exporter)); - auto spans = span_data.get()->Get(); + auto spans = span_data.get()->GetSpans(); ASSERT_EQ(0, spans.size()); @@ -665,7 +665,7 @@ TEST(Tracer, ExpectParentAsContext) std::unique_ptr exporter(new InMemorySpanExporter()); std::shared_ptr span_data = exporter->GetData(); auto tracer = initTracer(std::move(exporter)); - auto spans = span_data.get()->Get(); + auto spans = span_data.get()->GetSpans(); ASSERT_EQ(0, spans.size()); From a38552dc8afe0c98a1a1ba775b50dc41eeeae94a Mon Sep 17 00:00:00 2001 From: Yan Xue Date: Thu, 14 Jul 2022 22:38:52 -0700 Subject: [PATCH 5/8] patch --- .../opentelemetry/exporters/memory/in_memory_span_exporter.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h index 84c117f78b..feee6a9f5c 100644 --- a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h +++ b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h @@ -20,12 +20,16 @@ const size_t MAX_BUFFER_SIZE = 100; class InMemorySpanData final : public exporter::memory::InMemoryData { public: + /** + * @param buffer_size a required value that sets the size of the CircularBuffer + */ explicit InMemorySpanData(size_t buffer_size) : exporter::memory::InMemoryData(buffer_size) {} std::vector> GetSpans() noexcept { return Get(); } }; + /** * A in memory exporter that switches a flag once a valid recordable was received * and keeps track of all received spans in memory. From 12c4d17f458d8b099353873f365db6485c98e6bd Mon Sep 17 00:00:00 2001 From: Yan Xue Date: Fri, 15 Jul 2022 14:10:10 -0700 Subject: [PATCH 6/8] resolve conflict --- examples/multi_processor/main.cc | 1 - .../exporters/memory/in_memory_span_exporter_factory.h | 2 +- exporters/memory/src/in_memory_span_exporter_factory.cc | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/multi_processor/main.cc b/examples/multi_processor/main.cc index 86686daa79..8347c4fa5b 100644 --- a/examples/multi_processor/main.cc +++ b/examples/multi_processor/main.cc @@ -1,7 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/exporters/memory/in_memory_span_data.h" #include "opentelemetry/exporters/memory/in_memory_span_exporter_factory.h" #include "opentelemetry/exporters/ostream/span_exporter_factory.h" #include "opentelemetry/sdk/trace/simple_processor_factory.h" diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter_factory.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter_factory.h index c55f6a0802..cee5cec8fe 100644 --- a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter_factory.h +++ b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter_factory.h @@ -3,7 +3,7 @@ #pragma once -#include "opentelemetry/exporters/memory/in_memory_span_data.h" +#include "opentelemetry/exporters/memory/in_memory_span_exporter.h" #include "opentelemetry/sdk/trace/exporter.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/exporters/memory/src/in_memory_span_exporter_factory.cc b/exporters/memory/src/in_memory_span_exporter_factory.cc index 1b858fd9c7..7f69ceb0ea 100644 --- a/exporters/memory/src/in_memory_span_exporter_factory.cc +++ b/exporters/memory/src/in_memory_span_exporter_factory.cc @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 #include "opentelemetry/exporters/memory/in_memory_span_exporter_factory.h" -#include "opentelemetry/exporters/memory/in_memory_span_data.h" #include "opentelemetry/exporters/memory/in_memory_span_exporter.h" #include "opentelemetry/sdk/trace/exporter.h" From 74791ebdcab4737441803d4ef382cb1911da621c Mon Sep 17 00:00:00 2001 From: Yan Xue Date: Sat, 16 Jul 2022 19:58:38 -0700 Subject: [PATCH 7/8] Resolve comments --- examples/multi_processor/main.cc | 1 + exporters/memory/BUILD | 13 +++++--- .../exporters/memory/in_memory_span_data.h | 32 +++++++++++++++++++ .../memory/in_memory_span_exporter.h | 15 +-------- .../memory/in_memory_span_exporter_factory.h | 2 +- .../src/in_memory_span_exporter_factory.cc | 1 + ...ta_test.cc => in_memory_span_data_test.cc} | 14 ++++---- 7 files changed, 51 insertions(+), 27 deletions(-) create mode 100644 exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_data.h rename exporters/memory/test/{in_memory_data_test.cc => in_memory_span_data_test.cc} (57%) diff --git a/examples/multi_processor/main.cc b/examples/multi_processor/main.cc index 8347c4fa5b..86686daa79 100644 --- a/examples/multi_processor/main.cc +++ b/examples/multi_processor/main.cc @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include "opentelemetry/exporters/memory/in_memory_span_data.h" #include "opentelemetry/exporters/memory/in_memory_span_exporter_factory.h" #include "opentelemetry/exporters/ostream/span_exporter_factory.h" #include "opentelemetry/sdk/trace/simple_processor_factory.h" diff --git a/exporters/memory/BUILD b/exporters/memory/BUILD index 76a33fd628..691d8563a9 100644 --- a/exporters/memory/BUILD +++ b/exporters/memory/BUILD @@ -1,27 +1,29 @@ package(default_visibility = ["//visibility:public"]) cc_library( - name = "in_memory_data", + name = "in_memory_span_data", hdrs = [ "include/opentelemetry/exporters/memory/in_memory_data.h", + "include/opentelemetry/exporters/memory/in_memory_span_data.h", ], strip_include_prefix = "include", tags = ["memory"], deps = [ "//api", "//sdk/src/resource", + "//sdk/src/trace", ], ) cc_test( - name = "in_memory_data_test", - srcs = ["test/in_memory_data_test.cc"], + name = "in_memory_span_data_test", + srcs = ["test/in_memory_span_data_test.cc"], tags = [ "memory", "test", ], deps = [ - ":in_memory_data", + ":in_memory_span_data", "@com_google_googletest//:gtest_main", ], ) @@ -32,6 +34,7 @@ cc_library( "src/in_memory_span_exporter_factory.cc", ], hdrs = [ + "include/opentelemetry/exporters/memory/in_memory_span_data.h", "include/opentelemetry/exporters/memory/in_memory_span_exporter.h", "include/opentelemetry/exporters/memory/in_memory_span_exporter_factory.h", ], @@ -41,7 +44,7 @@ cc_library( "test", ], deps = [ - ":in_memory_data", + ":in_memory_span_data", "//sdk/src/trace", ], ) diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_data.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_data.h new file mode 100644 index 0000000000..999e1130c0 --- /dev/null +++ b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_data.h @@ -0,0 +1,32 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include "opentelemetry/exporters/memory/in_memory_data.h" +#include "opentelemetry/sdk/common/circular_buffer.h" +#include "opentelemetry/sdk/trace/recordable.h" +#include "opentelemetry/sdk/trace/span_data.h" + +#include + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace exporter +{ +namespace memory +{ +class InMemorySpanData final : public exporter::memory::InMemoryData +{ +public: + /** + * @param buffer_size a required value that sets the size of the CircularBuffer + */ + explicit InMemorySpanData(size_t buffer_size) + : exporter::memory::InMemoryData(buffer_size) + {} + + std::vector> GetSpans() noexcept { return Get(); } +}; +} // namespace memory +} // namespace exporter +OPENTELEMETRY_END_NAMESPACE diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h index feee6a9f5c..729998361c 100644 --- a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h +++ b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h @@ -4,7 +4,7 @@ #pragma once #include #include "opentelemetry/common/spin_lock_mutex.h" -#include "opentelemetry/exporters/memory/in_memory_data.h" +#include "opentelemetry/exporters/memory/in_memory_span_data.h" #include "opentelemetry/sdk/trace/exporter.h" #include "opentelemetry/sdk/trace/recordable.h" #include "opentelemetry/sdk/trace/span_data.h" @@ -17,19 +17,6 @@ namespace memory { const size_t MAX_BUFFER_SIZE = 100; -class InMemorySpanData final : public exporter::memory::InMemoryData -{ -public: - /** - * @param buffer_size a required value that sets the size of the CircularBuffer - */ - explicit InMemorySpanData(size_t buffer_size) - : exporter::memory::InMemoryData(buffer_size) - {} - - std::vector> GetSpans() noexcept { return Get(); } -}; - /** * A in memory exporter that switches a flag once a valid recordable was received * and keeps track of all received spans in memory. diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter_factory.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter_factory.h index cee5cec8fe..c55f6a0802 100644 --- a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter_factory.h +++ b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter_factory.h @@ -3,7 +3,7 @@ #pragma once -#include "opentelemetry/exporters/memory/in_memory_span_exporter.h" +#include "opentelemetry/exporters/memory/in_memory_span_data.h" #include "opentelemetry/sdk/trace/exporter.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/exporters/memory/src/in_memory_span_exporter_factory.cc b/exporters/memory/src/in_memory_span_exporter_factory.cc index 7f69ceb0ea..1b858fd9c7 100644 --- a/exporters/memory/src/in_memory_span_exporter_factory.cc +++ b/exporters/memory/src/in_memory_span_exporter_factory.cc @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 #include "opentelemetry/exporters/memory/in_memory_span_exporter_factory.h" +#include "opentelemetry/exporters/memory/in_memory_span_data.h" #include "opentelemetry/exporters/memory/in_memory_span_exporter.h" #include "opentelemetry/sdk/trace/exporter.h" diff --git a/exporters/memory/test/in_memory_data_test.cc b/exporters/memory/test/in_memory_span_data_test.cc similarity index 57% rename from exporters/memory/test/in_memory_data_test.cc rename to exporters/memory/test/in_memory_span_data_test.cc index 88d08edd21..bc19550264 100644 --- a/exporters/memory/test/in_memory_data_test.cc +++ b/exporters/memory/test/in_memory_span_data_test.cc @@ -1,28 +1,28 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/exporters/memory/in_memory_data.h" +#include "opentelemetry/exporters/memory/in_memory_span_data.h" #include "opentelemetry/nostd/span.h" #include "opentelemetry/sdk/trace/span_data.h" #include -using opentelemetry::exporter::memory::InMemoryData; +using opentelemetry::exporter::memory::InMemorySpanData; using opentelemetry::sdk::trace::Recordable; using opentelemetry::sdk::trace::SpanData; -TEST(InMemoryData, AddRecordable) +TEST(InMemorySpanData, AddRecordable) { - InMemoryData data(100); + InMemorySpanData data(100); - ASSERT_EQ(0, data.Get().size()); + ASSERT_EQ(0, data.GetSpans().size()); std::unique_ptr spandata(new SpanData()); data.Add(std::move(spandata)); // Consumes all spans in exporter - ASSERT_EQ(1, data.Get().size()); + ASSERT_EQ(1, data.GetSpans().size()); - ASSERT_EQ(0, data.Get().size()); + ASSERT_EQ(0, data.GetSpans().size()); } From 2e448ad9b18989d39f31570a36205e7a8c972765 Mon Sep 17 00:00:00 2001 From: Yan Xue Date: Sat, 16 Jul 2022 20:23:16 -0700 Subject: [PATCH 8/8] Revert changes. --- exporters/memory/BUILD | 1 - exporters/memory/CMakeLists.txt | 8 ++++---- .../opentelemetry/exporters/memory/in_memory_span_data.h | 1 - .../exporters/memory/in_memory_span_exporter.h | 1 - 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/exporters/memory/BUILD b/exporters/memory/BUILD index 691d8563a9..daa0c662ff 100644 --- a/exporters/memory/BUILD +++ b/exporters/memory/BUILD @@ -34,7 +34,6 @@ cc_library( "src/in_memory_span_exporter_factory.cc", ], hdrs = [ - "include/opentelemetry/exporters/memory/in_memory_span_data.h", "include/opentelemetry/exporters/memory/in_memory_span_exporter.h", "include/opentelemetry/exporters/memory/in_memory_span_exporter_factory.h", ], diff --git a/exporters/memory/CMakeLists.txt b/exporters/memory/CMakeLists.txt index 699ff4d48a..7fb357d73a 100644 --- a/exporters/memory/CMakeLists.txt +++ b/exporters/memory/CMakeLists.txt @@ -26,12 +26,12 @@ install( PATTERN "*.h") if(BUILD_TESTING) - add_executable(in_memory_data_test test/in_memory_data_test.cc) + add_executable(in_memory_span_data_test test/in_memory_span_data_test.cc) add_executable(in_memory_span_exporter_test test/in_memory_span_exporter_test.cc) target_link_libraries( - in_memory_data_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} + in_memory_span_data_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} opentelemetry_exporter_in_memory opentelemetry_resources) target_link_libraries( @@ -40,9 +40,9 @@ if(BUILD_TESTING) opentelemetry_resources) gtest_add_tests( - TARGET in_memory_data_test + TARGET in_memory_span_data_test TEST_PREFIX exporter. - TEST_LIST in_memory_data_test) + TEST_LIST in_memory_span_data_test) gtest_add_tests( TARGET in_memory_span_exporter_test TEST_PREFIX exporter. diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_data.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_data.h index 999e1130c0..874b475690 100644 --- a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_data.h +++ b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_data.h @@ -4,7 +4,6 @@ #pragma once #include "opentelemetry/exporters/memory/in_memory_data.h" -#include "opentelemetry/sdk/common/circular_buffer.h" #include "opentelemetry/sdk/trace/recordable.h" #include "opentelemetry/sdk/trace/span_data.h" diff --git a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h index 729998361c..075d6e4b2e 100644 --- a/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h +++ b/exporters/memory/include/opentelemetry/exporters/memory/in_memory_span_exporter.h @@ -6,7 +6,6 @@ #include "opentelemetry/common/spin_lock_mutex.h" #include "opentelemetry/exporters/memory/in_memory_span_data.h" #include "opentelemetry/sdk/trace/exporter.h" -#include "opentelemetry/sdk/trace/recordable.h" #include "opentelemetry/sdk/trace/span_data.h" #include "opentelemetry/sdk_config.h"