Skip to content

Commit 6b068ba

Browse files
authored
Partial revert #61 (#69)
1 parent 7234e1c commit 6b068ba

File tree

6 files changed

+61
-39
lines changed

6 files changed

+61
-39
lines changed

cpp2sky/BUILD

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,18 @@ cc_library(
2929
],
3030
visibility = ["//visibility:public"],
3131
)
32+
33+
cc_library(
34+
name = "cpp2sky_data_interface",
35+
hdrs = [
36+
"tracing_context.h",
37+
"propagation.h",
38+
"well_known_names.h",
39+
"exception.h",
40+
"time.h",
41+
],
42+
deps = [
43+
":config_cc_proto",
44+
],
45+
visibility = ["//visibility:public"],
46+
)

source/BUILD

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,22 +65,19 @@ cc_library(
6565

6666
cc_library(
6767
name = "cpp2sky_data_lib",
68-
hdrs = [
68+
hdrs =[
6969
"propagation_impl.h",
7070
"tracing_context_impl.h",
71-
"dynamic_config.h",
7271
],
7372
srcs = [
7473
"propagation_impl.cc",
7574
"tracing_context_impl.cc",
7675
],
7776
deps = [
78-
"@skywalking_data_collect_protocol//language-agent:configuration_discovery_service_cc_proto",
7977
"@skywalking_data_collect_protocol//language-agent:tracing_protocol_cc_proto",
80-
"@com_google_absl//absl/strings:strings",
8178
"//cpp2sky:config_cc_proto",
82-
"//cpp2sky:cpp2sky_interface",
79+
"//cpp2sky:cpp2sky_data_interface",
8380
"//source/utils:util_lib",
8481
],
8582
visibility = ["//visibility:public"],
86-
)
83+
)

source/tracer_impl.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ TracerImpl::TracerImpl(TracerConfig& config,
2929
std::shared_ptr<grpc::ChannelCredentials> cred)
3030
: config_(config),
3131
grpc_callback_thread_([this] { this->run(); }),
32-
segment_factory_(config_) {
32+
segment_factory_(config) {
3333
init(config, cred);
3434
}
3535

@@ -39,7 +39,7 @@ TracerImpl::TracerImpl(
3939
: config_(config),
4040
reporter_client_(std::move(reporter_client)),
4141
grpc_callback_thread_([this] { this->run(); }),
42-
segment_factory_(config_) {
42+
segment_factory_(config) {
4343
init(config, nullptr);
4444
}
4545

source/tracing_context_impl.cc

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -143,28 +143,34 @@ void TracingSpanImpl::setComponentId(int32_t component_id) {
143143
component_id_ = component_id;
144144
}
145145

146-
TracingContextImpl::TracingContextImpl(const DynamicConfig& config,
146+
TracingContextImpl::TracingContextImpl(const std::string& service_name,
147+
const std::string& instance_name,
147148
RandomGenerator& random)
148149
: trace_id_(random.uuid()),
149150
trace_segment_id_(random.uuid()),
150-
config_(config) {}
151+
service_(service_name),
152+
service_instance_(instance_name) {}
151153

152154
TracingContextImpl::TracingContextImpl(
153-
const DynamicConfig& config, SpanContextPtr parent_span_context,
155+
const std::string& service_name, const std::string& instance_name,
156+
SpanContextPtr parent_span_context,
154157
SpanContextExtensionPtr parent_ext_span_context, RandomGenerator& random)
155158
: parent_span_context_(std::move(parent_span_context)),
156159
parent_ext_span_context_(std::move(parent_ext_span_context)),
157160
trace_id_(parent_span_context_->traceId()),
158161
trace_segment_id_(random.uuid()),
159-
config_(config) {}
162+
service_(service_name),
163+
service_instance_(instance_name) {}
160164

161-
TracingContextImpl::TracingContextImpl(const DynamicConfig& config,
165+
TracingContextImpl::TracingContextImpl(const std::string& service_name,
166+
const std::string& instance_name,
162167
SpanContextPtr parent_span_context,
163168
RandomGenerator& random)
164169
: parent_span_context_(std::move(parent_span_context)),
165170
trace_id_(parent_span_context_->traceId()),
166171
trace_segment_id_(random.uuid()),
167-
config_(config) {}
172+
service_(service_name),
173+
service_instance_(instance_name) {}
168174

169175
TracingSpanPtr TracingContextImpl::createExitSpan(TracingSpanPtr parent_span) {
170176
auto current_span = createSpan();
@@ -214,8 +220,8 @@ std::string TracingContextImpl::encodeSpan(
214220
header_value += Base64::encode(trace_id_) + "-";
215221
header_value += Base64::encode(trace_segment_id_) + "-";
216222
header_value += parent_spanid + "-";
217-
header_value += Base64::encode(config_.tracerConfig().service_name()) + "-";
218-
header_value += Base64::encode(config_.tracerConfig().instance_name()) + "-";
223+
header_value += Base64::encode(service_) + "-";
224+
header_value += Base64::encode(service_instance_) + "-";
219225
header_value += Base64::encode(endpoint) + "-";
220226
header_value += Base64::encode(target_address.data());
221227

@@ -240,8 +246,8 @@ skywalking::v3::SegmentObject TracingContextImpl::createSegmentObject() {
240246

241247
obj.set_traceid(trace_id_);
242248
obj.set_tracesegmentid(trace_segment_id_);
243-
obj.set_service(config_.tracerConfig().service_name());
244-
obj.set_serviceinstance(config_.tracerConfig().instance_name());
249+
obj.set_service(service_);
250+
obj.set_serviceinstance(service_instance_);
245251

246252
for (auto& span : spans_) {
247253
auto* entry = obj.mutable_spans()->Add();
@@ -260,22 +266,25 @@ bool TracingContextImpl::readyToSend() {
260266
return true;
261267
}
262268

263-
TracingContextFactory::TracingContextFactory(const DynamicConfig& config)
264-
: config_(config) {}
269+
TracingContextFactory::TracingContextFactory(const TracerConfig& config)
270+
: service_name_(config.service_name()),
271+
instance_name_(config.instance_name()) {}
265272

266273
TracingContextPtr TracingContextFactory::create() {
267-
return std::make_unique<TracingContextImpl>(config_, random_generator_);
274+
return std::make_unique<TracingContextImpl>(service_name_, instance_name_,
275+
random_generator_);
268276
}
269277

270278
TracingContextPtr TracingContextFactory::create(SpanContextPtr span_context) {
271-
return std::make_unique<TracingContextImpl>(config_, span_context,
272-
random_generator_);
279+
return std::make_unique<TracingContextImpl>(service_name_, instance_name_,
280+
span_context, random_generator_);
273281
}
274282

275283
TracingContextPtr TracingContextFactory::create(
276284
SpanContextPtr span_context, SpanContextExtensionPtr ext_span_context) {
277285
auto context = std::make_unique<TracingContextImpl>(
278-
config_, span_context, ext_span_context, random_generator_);
286+
service_name_, instance_name_, span_context, ext_span_context,
287+
random_generator_);
279288
if (ext_span_context->tracingMode() == TracingMode::Skip) {
280289
context->setSkipAnalysis();
281290
}

source/tracing_context_impl.h

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "cpp2sky/config.pb.h"
1818
#include "cpp2sky/propagation.h"
1919
#include "cpp2sky/tracing_context.h"
20-
#include "source/dynamic_config.h"
2120
#include "source/utils/random_generator.h"
2221

2322
namespace cpp2sky {
@@ -116,11 +115,14 @@ class TracingSpanImpl : public TracingSpan {
116115
class TracingContextImpl : public TracingContext {
117116
public:
118117
// This constructor is called when there is no parent SpanContext.
119-
TracingContextImpl(const DynamicConfig& config, RandomGenerator& random);
120-
TracingContextImpl(const DynamicConfig& config,
118+
TracingContextImpl(const std::string& service_name,
119+
const std::string& instance_name, RandomGenerator& random);
120+
TracingContextImpl(const std::string& service_name,
121+
const std::string& instance_name,
121122
SpanContextPtr parent_span_context,
122123
RandomGenerator& random);
123-
TracingContextImpl(const DynamicConfig& config,
124+
TracingContextImpl(const std::string& service_name,
125+
const std::string& instance_name,
124126
SpanContextPtr parent_span_context,
125127
SpanContextExtensionPtr parent_ext_span_context,
126128
RandomGenerator& random);
@@ -130,11 +132,9 @@ class TracingContextImpl : public TracingContext {
130132
const std::string& traceSegmentId() const override {
131133
return trace_segment_id_;
132134
}
133-
const std::string& service() const override {
134-
return config_.tracerConfig().service_name();
135-
}
135+
const std::string& service() const override { return service_; }
136136
const std::string& serviceInstance() const override {
137-
return config_.tracerConfig().instance_name();
137+
return service_instance_;
138138
}
139139
const std::list<TracingSpanPtr>& spans() const override { return spans_; }
140140
SpanContextPtr parentSpanContext() const override {
@@ -174,22 +174,24 @@ class TracingContextImpl : public TracingContext {
174174
// https://github.com/apache/skywalking-data-collect-protocol/blob/master/language-agent/Tracing.proto
175175
std::string trace_id_;
176176
std::string trace_segment_id_;
177-
const DynamicConfig& config_;
177+
std::string service_;
178+
std::string service_instance_;
178179

179180
bool should_skip_analysis_ = false;
180181
};
181182

182183
class TracingContextFactory {
183184
public:
184-
TracingContextFactory(const DynamicConfig& config);
185+
TracingContextFactory(const TracerConfig& config);
185186

186187
TracingContextPtr create();
187188
TracingContextPtr create(SpanContextPtr span_context);
188189
TracingContextPtr create(SpanContextPtr span_context,
189190
SpanContextExtensionPtr ext_span_context);
190191

191192
private:
192-
const DynamicConfig& config_;
193+
std::string service_name_;
194+
std::string instance_name_;
193195
RandomGeneratorImpl random_generator_;
194196
};
195197

test/tracing_context_test.cc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,10 @@ class TracingContextTest : public testing::Test {
4343
span_ctx_ = std::make_shared<SpanContextImpl>(sample_ctx);
4444
span_ext_ctx_ = std::make_shared<SpanContextExtensionImpl>("1");
4545

46-
dy_config_ = std::make_unique<DynamicConfig>(config_);
47-
factory_ = std::make_unique<TracingContextFactory>(*dy_config_);
46+
factory_ = std::make_unique<TracingContextFactory>(config_);
4847
}
4948

5049
protected:
51-
std::unique_ptr<DynamicConfig> dy_config_;
5250
NiceMock<MockRandomGenerator> random_;
5351
std::string service_name_ = "mesh";
5452
std::string instance_name_ = "service_0";
@@ -289,7 +287,8 @@ TEST_F(TracingContextTest, SkipAnalysisSegment) {
289287
}
290288

291289
TEST_F(TracingContextTest, SW8CreateTest) {
292-
TracingContextImpl sc(*dy_config_, span_ctx_, span_ext_ctx_, random_);
290+
TracingContextImpl sc(config_.service_name(), config_.instance_name(),
291+
span_ctx_, span_ext_ctx_, random_);
293292
EXPECT_EQ(sc.service(), "mesh");
294293
EXPECT_EQ(sc.serviceInstance(), "service_0");
295294

0 commit comments

Comments
 (0)