Skip to content

Commit 2a97de9

Browse files
committed
Replace scope_configurator class with typedef
1 parent 9cd78f1 commit 2a97de9

File tree

7 files changed

+38
-84
lines changed

7 files changed

+38
-84
lines changed

sdk/include/opentelemetry/sdk/instrumentationscope/scope_configurator.h

Lines changed: 0 additions & 39 deletions
This file was deleted.

sdk/include/opentelemetry/sdk/trace/tracer_config.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,19 @@
33

44
#pragma once
55

6-
#include "opentelemetry/sdk/instrumentationscope/scope_configurator.h"
6+
#include "opentelemetry/sdk/instrumentationscope/instrumentation_scope.h"
77
#include "opentelemetry/version.h"
88

99
OPENTELEMETRY_BEGIN_NAMESPACE
1010
namespace sdk
1111
{
1212
namespace trace
1313
{
14+
// Forward declaration to support typedef creation
15+
class TracerConfig;
16+
17+
typedef std::function<TracerConfig(const instrumentationscope::InstrumentationScope &)>
18+
TracerConfigurator;
1419
/**
1520
* TracerConfig defines various configurable aspects of a Tracer's behavior.
1621
*/
@@ -26,14 +31,14 @@ class TracerConfig
2631
static TracerConfig Disabled();
2732
static TracerConfig Enabled();
2833
static TracerConfig Default();
29-
static const instrumentationscope::ScopeConfigurator<TracerConfig> &DefaultConfigurator();
34+
static const TracerConfigurator &DefaultConfigurator();
3035

3136
private:
3237
explicit TracerConfig(const bool disabled = false) : disabled_(disabled) {}
3338
bool disabled_;
3439
static const TracerConfig kDefaultConfig;
3540
static const TracerConfig kDisabledConfig;
36-
static const instrumentationscope::ScopeConfigurator<TracerConfig> kDefaultTracerConfigurator;
41+
static const TracerConfigurator kDefaultTracerConfigurator;
3742
};
3843
} // namespace trace
3944
} // namespace sdk

sdk/include/opentelemetry/sdk/trace/tracer_context.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
#include <memory>
88
#include <vector>
99

10-
#include "opentelemetry/sdk/instrumentationscope/scope_configurator.h"
1110
#include "opentelemetry/sdk/resource/resource.h"
1211
#include "opentelemetry/sdk/trace/id_generator.h"
1312
#include "opentelemetry/sdk/trace/processor.h"
@@ -48,9 +47,8 @@ class TracerContext
4847
std::unique_ptr<Sampler> sampler = std::unique_ptr<AlwaysOnSampler>(new AlwaysOnSampler),
4948
std::unique_ptr<IdGenerator> id_generator =
5049
std::unique_ptr<IdGenerator>(new RandomIdGenerator()),
51-
std::unique_ptr<ScopeConfigurator<TracerConfig>> tracer_configurator =
52-
std::make_unique<ScopeConfigurator<TracerConfig>>(
53-
TracerConfig::DefaultConfigurator())) noexcept;
50+
std::unique_ptr<TracerConfigurator> tracer_configurator =
51+
std::make_unique<TracerConfigurator>(TracerConfig::DefaultConfigurator())) noexcept;
5452

5553
virtual ~TracerContext() = default;
5654

@@ -84,7 +82,7 @@ class TracerContext
8482
*/
8583
const opentelemetry::sdk::resource::Resource &GetResource() const noexcept;
8684

87-
ScopeConfigurator<TracerConfig> &GetTracerConfigurator() const noexcept;
85+
TracerConfigurator &GetTracerConfigurator() const noexcept;
8886

8987
/**
9088
* Obtain the Id Generator associated with this tracer context.
@@ -109,7 +107,7 @@ class TracerContext
109107
std::unique_ptr<Sampler> sampler_;
110108
std::unique_ptr<IdGenerator> id_generator_;
111109
std::unique_ptr<SpanProcessor> processor_;
112-
std::unique_ptr<ScopeConfigurator<TracerConfig>> tracer_configurator_;
110+
std::unique_ptr<TracerConfigurator> tracer_configurator_;
113111
};
114112

115113
} // namespace trace

sdk/include/opentelemetry/sdk/trace/tracer_provider.h

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
#include "opentelemetry/nostd/shared_ptr.h"
1111
#include "opentelemetry/nostd/string_view.h"
12-
#include "opentelemetry/sdk/instrumentationscope/scope_configurator.h"
1312
#include "opentelemetry/sdk/resource/resource.h"
1413
#include "opentelemetry/sdk/trace/id_generator.h"
1514
#include "opentelemetry/sdk/trace/processor.h"
@@ -52,9 +51,8 @@ class OPENTELEMETRY_EXPORT TracerProvider final : public opentelemetry::trace::T
5251
std::unique_ptr<Sampler> sampler = std::unique_ptr<AlwaysOnSampler>(new AlwaysOnSampler),
5352
std::unique_ptr<IdGenerator> id_generator =
5453
std::unique_ptr<IdGenerator>(new RandomIdGenerator()),
55-
std::unique_ptr<ScopeConfigurator<TracerConfig>> tracer_configurator =
56-
std::make_unique<ScopeConfigurator<TracerConfig>>(
57-
TracerConfig::DefaultConfigurator())) noexcept;
54+
std::unique_ptr<TracerConfigurator> tracer_configurator =
55+
std::make_unique<TracerConfigurator>(TracerConfig::DefaultConfigurator())) noexcept;
5856

5957
explicit TracerProvider(
6058
std::vector<std::unique_ptr<SpanProcessor>> &&processors,
@@ -63,9 +61,8 @@ class OPENTELEMETRY_EXPORT TracerProvider final : public opentelemetry::trace::T
6361
std::unique_ptr<Sampler> sampler = std::unique_ptr<AlwaysOnSampler>(new AlwaysOnSampler),
6462
std::unique_ptr<IdGenerator> id_generator =
6563
std::unique_ptr<IdGenerator>(new RandomIdGenerator()),
66-
std::unique_ptr<ScopeConfigurator<TracerConfig>> tracer_configurator =
67-
std::make_unique<ScopeConfigurator<TracerConfig>>(
68-
TracerConfig::DefaultConfigurator())) noexcept;
64+
std::unique_ptr<TracerConfigurator> tracer_configurator =
65+
std::make_unique<TracerConfigurator>(TracerConfig::DefaultConfigurator())) noexcept;
6966

7067
/**
7168
* Initialize a new tracer provider with a specified context

sdk/src/trace/tracer_config.cc

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,8 @@ namespace trace
1414
const TracerConfig TracerConfig::kDefaultConfig = TracerConfig();
1515
const TracerConfig TracerConfig::kDisabledConfig = TracerConfig(true);
1616

17-
const instrumentationscope::ScopeConfigurator<TracerConfig>
18-
TracerConfig::kDefaultTracerConfigurator =
19-
*instrumentationscope::ScopeConfigurator<TracerConfig>::Create(
20-
[](const instrumentationscope::InstrumentationScope &) { return Default(); });
17+
const TracerConfigurator TracerConfig::kDefaultTracerConfigurator =
18+
[](const instrumentationscope::InstrumentationScope &) { return Default(); };
2119

2220
TracerConfig TracerConfig::Disabled()
2321
{
@@ -34,7 +32,7 @@ TracerConfig TracerConfig::Default()
3432
return kDefaultConfig;
3533
}
3634

37-
const instrumentationscope::ScopeConfigurator<TracerConfig> &TracerConfig::DefaultConfigurator()
35+
const TracerConfigurator &TracerConfig::DefaultConfigurator()
3836
{
3937
return kDefaultTracerConfigurator;
4038
}

sdk/src/trace/tracer_context.cc

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
#include <utility>
77
#include <vector>
88

9-
#include "opentelemetry/sdk/instrumentationscope/scope_configurator.h"
109
#include "opentelemetry/sdk/resource/resource.h"
1110
#include "opentelemetry/sdk/trace/id_generator.h"
1211
#include "opentelemetry/sdk/trace/multi_span_processor.h"
@@ -23,12 +22,11 @@ namespace trace
2322
{
2423
namespace resource = opentelemetry::sdk::resource;
2524

26-
TracerContext::TracerContext(
27-
std::vector<std::unique_ptr<SpanProcessor>> &&processors,
28-
const resource::Resource &resource,
29-
std::unique_ptr<Sampler> sampler,
30-
std::unique_ptr<IdGenerator> id_generator,
31-
std::unique_ptr<ScopeConfigurator<TracerConfig>> tracer_configurator) noexcept
25+
TracerContext::TracerContext(std::vector<std::unique_ptr<SpanProcessor>> &&processors,
26+
const resource::Resource &resource,
27+
std::unique_ptr<Sampler> sampler,
28+
std::unique_ptr<IdGenerator> id_generator,
29+
std::unique_ptr<TracerConfigurator> tracer_configurator) noexcept
3230
: resource_(resource),
3331
sampler_(std::move(sampler)),
3432
id_generator_(std::move(id_generator)),
@@ -46,7 +44,7 @@ const resource::Resource &TracerContext::GetResource() const noexcept
4644
return resource_;
4745
}
4846

49-
ScopeConfigurator<TracerConfig> &TracerContext::GetTracerConfigurator() const noexcept
47+
TracerConfigurator &TracerContext::GetTracerConfigurator() const noexcept
5048
{
5149
return *tracer_configurator_;
5250
}

sdk/src/trace/tracer_provider.cc

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
#include "opentelemetry/nostd/string_view.h"
1313
#include "opentelemetry/sdk/common/global_log_handler.h"
1414
#include "opentelemetry/sdk/instrumentationscope/instrumentation_scope.h"
15-
#include "opentelemetry/sdk/instrumentationscope/scope_configurator.h"
1615
#include "opentelemetry/sdk/resource/resource.h"
1716
#include "opentelemetry/sdk/trace/id_generator.h"
1817
#include "opentelemetry/sdk/trace/processor.h"
@@ -39,12 +38,11 @@ TracerProvider::TracerProvider(std::unique_ptr<TracerContext> context) noexcept
3938
OTEL_INTERNAL_LOG_DEBUG("[TracerProvider] TracerProvider created.");
4039
}
4140

42-
TracerProvider::TracerProvider(
43-
std::unique_ptr<SpanProcessor> processor,
44-
const resource::Resource &resource,
45-
std::unique_ptr<Sampler> sampler,
46-
std::unique_ptr<IdGenerator> id_generator,
47-
std::unique_ptr<ScopeConfigurator<TracerConfig>> tracer_configurator) noexcept
41+
TracerProvider::TracerProvider(std::unique_ptr<SpanProcessor> processor,
42+
const resource::Resource &resource,
43+
std::unique_ptr<Sampler> sampler,
44+
std::unique_ptr<IdGenerator> id_generator,
45+
std::unique_ptr<TracerConfigurator> tracer_configurator) noexcept
4846
{
4947
std::vector<std::unique_ptr<SpanProcessor>> processors;
5048
processors.push_back(std::move(processor));
@@ -53,12 +51,11 @@ TracerProvider::TracerProvider(
5351
std::move(id_generator), std::move(tracer_configurator));
5452
}
5553

56-
TracerProvider::TracerProvider(
57-
std::vector<std::unique_ptr<SpanProcessor>> &&processors,
58-
const resource::Resource &resource,
59-
std::unique_ptr<Sampler> sampler,
60-
std::unique_ptr<IdGenerator> id_generator,
61-
std::unique_ptr<ScopeConfigurator<TracerConfig>> tracer_configurator) noexcept
54+
TracerProvider::TracerProvider(std::vector<std::unique_ptr<SpanProcessor>> &&processors,
55+
const resource::Resource &resource,
56+
std::unique_ptr<Sampler> sampler,
57+
std::unique_ptr<IdGenerator> id_generator,
58+
std::unique_ptr<TracerConfigurator> tracer_configurator) noexcept
6259
{
6360
context_ =
6461
std::make_shared<TracerContext>(std::move(processors), resource, std::move(sampler),
@@ -119,9 +116,9 @@ nostd::shared_ptr<trace_api::Tracer> TracerProvider::GetTracer(
119116
instrumentationscope::InstrumentationScope::Create(name, version, schema_url, attrs_map);
120117
const instrumentationscope::InstrumentationScope &scope_reference =
121118
instrumentationscope::InstrumentationScope(*scope);
122-
auto tracer_config = context_->GetTracerConfigurator().ComputeConfig(scope_reference);
123119

124-
auto tracer = std::shared_ptr<Tracer>(new Tracer(context_, std::move(scope), tracer_config));
120+
auto tracer = std::shared_ptr<Tracer>(
121+
new Tracer(context_, std::move(scope), GetTracerConfig(scope_reference)));
125122
tracers_.push_back(tracer);
126123
return nostd::shared_ptr<trace_api::Tracer>{tracer};
127124
}
@@ -149,7 +146,7 @@ bool TracerProvider::ForceFlush(std::chrono::microseconds timeout) noexcept
149146
TracerConfig TracerProvider::GetTracerConfig(
150147
const InstrumentationScope &instrumentation_scope) const
151148
{
152-
return context_->GetTracerConfigurator().ComputeConfig(instrumentation_scope);
149+
return context_->GetTracerConfigurator()(instrumentation_scope);
153150
}
154151

155152
} // namespace trace

0 commit comments

Comments
 (0)