Skip to content
This repository was archived by the owner on Jul 31, 2023. It is now read-only.

Commit 9bac89f

Browse files
g-easyIan Sturdy
authored andcommitted
Make exporters/trace/stdout consistent with the stats one. (#101)
This also simplifies the public API.
1 parent c960ebd commit 9bac89f

File tree

3 files changed

+20
-25
lines changed

3 files changed

+20
-25
lines changed

opencensus/exporters/trace/stdout/internal/stdout_exporter.cc

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,24 @@
1515
#include "opencensus/exporters/trace/stdout/stdout_exporter.h"
1616

1717
#include <iostream>
18+
#include <vector>
1819

1920
#include "absl/base/macros.h"
2021
#include "absl/memory/memory.h"
22+
#include "opencensus/trace/exporter/span_data.h"
23+
#include "opencensus/trace/exporter/span_exporter.h"
2124

2225
namespace opencensus {
2326
namespace exporters {
2427
namespace trace {
2528

26-
void StdoutExporter::Export(
29+
class StdoutExporter::Handler
30+
: public ::opencensus::trace::exporter::SpanExporter::Handler {
31+
void Export(const std::vector<::opencensus::trace::exporter::SpanData>& spans)
32+
override;
33+
};
34+
35+
void StdoutExporter::Handler::Export(
2736
const std::vector<::opencensus::trace::exporter::SpanData>& spans) {
2837
for (const auto& span : spans) {
2938
std::cout << span.DebugString() << "\n";
@@ -32,7 +41,7 @@ void StdoutExporter::Export(
3241

3342
void StdoutExporter::Register() {
3443
::opencensus::trace::exporter::SpanExporter::RegisterHandler(
35-
absl::make_unique<StdoutExporter>());
44+
absl::make_unique<Handler>());
3645
}
3746

3847
} // namespace trace

opencensus/exporters/trace/stdout/internal/stdout_exporter_test.cc

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,9 @@ namespace exporters {
2424
namespace trace {
2525
namespace {
2626

27-
class TraceExporterTest : public ::testing::Test {
28-
public:
29-
TraceExporterTest() {}
30-
31-
protected:
32-
StdoutExporter handler_;
33-
};
34-
35-
TEST_F(TraceExporterTest, ExportTrace) {
36-
::opencensus::trace::AlwaysSampler sampler;
27+
TEST(TraceExporterTest, ExportTrace) {
28+
StdoutExporter::Register();
29+
static ::opencensus::trace::AlwaysSampler sampler;
3730
::opencensus::trace::StartSpanOptions opts = {&sampler};
3831

3932
auto span1 = ::opencensus::trace::Span::StartSpan("Span1", nullptr, opts);
@@ -45,10 +38,9 @@ TEST_F(TraceExporterTest, ExportTrace) {
4538
span3.End();
4639
span2.End();
4740
span1.End();
48-
std::vector<::opencensus::trace::exporter::SpanData> spans =
49-
::opencensus::trace::exporter::LocalSpanStore::GetSpans();
5041

51-
handler_.Export(spans);
42+
// Wait for exporter.
43+
absl::SleepFor(absl::Milliseconds(5200));
5244
}
5345

5446
} // namespace

opencensus/exporters/trace/stdout/stdout_exporter.h

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,16 @@
1515
#ifndef OPENCENSUS_EXPORTERS_TRACE_STDOUT_STDOUT_EXPORTER_H_
1616
#define OPENCENSUS_EXPORTERS_TRACE_STDOUT_STDOUT_EXPORTER_H_
1717

18-
#include <vector>
19-
20-
#include "opencensus/trace/exporter/span_data.h"
21-
#include "opencensus/trace/exporter/span_exporter.h"
22-
2318
namespace opencensus {
2419
namespace exporters {
2520
namespace trace {
2621

27-
class StdoutExporter
28-
: public ::opencensus::trace::exporter::SpanExporter::Handler {
22+
class StdoutExporter {
2923
public:
30-
void Export(const std::vector<::opencensus::trace::exporter::SpanData>& spans)
31-
override;
32-
3324
static void Register();
25+
26+
private:
27+
class Handler;
3428
};
3529

3630
} // namespace trace

0 commit comments

Comments
 (0)