Skip to content

Commit

Permalink
factory -> provider
Browse files Browse the repository at this point in the history
  • Loading branch information
lykkin committed Jan 15, 2020
1 parent 8393c4d commit 14e1526
Show file tree
Hide file tree
Showing 10 changed files with 82 additions and 81 deletions.
21 changes: 0 additions & 21 deletions api/include/opentelemetry/global/factory.h

This file was deleted.

21 changes: 21 additions & 0 deletions api/include/opentelemetry/global/provider.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#pragma once

#include "opentelemetry/trace/tracer_provider.h"

using opentelemetry::trace::TracerProvider;

namespace opentelemetry
{
namespace global
{
class Provider
{
public:
static TracerProvider *GetTracerProvider();
static void SetTracerProvider(TracerProvider *);

private:
static TracerProvider *tracer_provider_;
};
} // namespace global
} // namespace opentelemetry
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ namespace opentelemetry
{
namespace trace
{
class TracerFactory
class TracerProvider
{
public:
virtual ~TracerProvider() = default;
virtual Tracer *const GetTracer(string_view library_name, string_view library_version) = 0;
};
} // namespace trace
Expand Down
40 changes: 0 additions & 40 deletions api/src/opentelemetry/global/factory.cc

This file was deleted.

40 changes: 40 additions & 0 deletions api/src/opentelemetry/global/provider.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#include "opentelemetry/global/provider.h"

using opentelemetry::trace::Tracer;
using opentelemetry::trace::TracerProvider;

namespace opentelemetry
{
namespace global
{
class DefaultTracerProvider : public TracerProvider
{
Tracer *const GetTracer(string_view library_name, string_view library_version = "") override
{
// TODO: return a no-op trace
return nullptr;
}
};

TracerProvider *Provider::tracer_provider_ = nullptr;

TracerProvider *Provider::GetTracerProvider()
{
if (!Provider::tracer_provider_)
{
Provider::tracer_provider_ = new DefaultTracerProvider();
}
return Provider::tracer_provider_;
}

void Provider::SetTracerProvider(TracerProvider *tf)
{
if (Provider::tracer_provider_)
{
delete Provider::tracer_provider_;
}

Provider::tracer_provider_ = tf;
}
} // namespace global
} // namespace opentelemetry
18 changes: 9 additions & 9 deletions api/test/global/global_test.cc
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
#include "opentelemetry/global/factory.h"
#include "opentelemetry/global/provider.h"

#include <gtest/gtest.h>

using opentelemetry::global::Factory;
using opentelemetry::global::Provider;
using opentelemetry::trace::Tracer;

class TestFactory : public opentelemetry::trace::TracerFactory
class TestProvider : public opentelemetry::trace::TracerProvider
{
Tracer *const GetTracer(string_view library_name, string_view library_version) override
{
return nullptr;
}
};

TEST(Factory, GetTracerFactoryDefault)
TEST(Provider, GetTracerProviderDefault)
{
auto tf = Factory::GetTracerFactory();
auto tf = Provider::GetTracerProvider();
ASSERT_NE(tf, nullptr);
}

TEST(Factory, SetTracerFactory)
TEST(Provider, SetTracerProvider)
{
auto tf = new TestFactory();
Factory::SetTracerFactory(tf);
ASSERT_EQ(Factory::GetTracerFactory(), tf);
auto tf = new TestProvider();
Provider::SetTracerProvider(tf);
ASSERT_EQ(Provider::GetTracerProvider(), tf);
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include <memory>
#include <vector>

#include "opentelemetry/trace/tracer_factory.h"
#include "opentelemetry/trace/tracer_provider.h"

using opentelemetry::nostd::string_view;
using opentelemetry::trace::Tracer;
Expand All @@ -14,7 +14,7 @@ namespace sdk
{
namespace trace
{
class TracerFactory : public opentelemetry::trace::TracerFactory
class TracerProvider : public opentelemetry::trace::TracerProvider
{
public:
Tracer *const GetTracer(string_view library_name, string_view library_version = "") override;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#include "opentelemetry/sdk/trace/tracer_factory.h"
#include "opentelemetry/sdk/trace/tracer_provider.h"

namespace opentelemetry
{
namespace sdk
{
namespace trace
{
Tracer *const TracerFactory::GetTracer(string_view library_name, string_view library_version)
Tracer *const TracerProvider::GetTracer(string_view library_name, string_view library_version)
{
tracers_.emplace_back(new Tracer(library_name, library_version));
return tracers_.back().get();
Expand Down
4 changes: 2 additions & 2 deletions sdk/test/trace/BUILD
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cc_test(
name = "tracer_factory",
name = "tracer_provider",
srcs = [
"tracer_factory_test.cc",
"tracer_provider_test.cc",
],
deps = [
"//sdk",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#include "opentelemetry/sdk/trace/tracer_factory.h"
#include "opentelemetry/sdk/trace/tracer_provider.h"

#include <gtest/gtest.h>

using opentelemetry::sdk::trace::TracerFactory;
using opentelemetry::sdk::trace::TracerProvider;

TEST(TracerFactory, GetTracer)
TEST(TracerProvider, GetTracer)
{
auto tf = new TracerFactory();
auto tf = new TracerProvider();
auto t1 = tf->GetTracer("test");
auto t2 = tf->GetTracer("test");
auto t3 = tf->GetTracer("different");
Expand Down

0 comments on commit 14e1526

Please sign in to comment.