Skip to content
This repository was archived by the owner on Aug 30, 2022. It is now read-only.

Commit 2d556ab

Browse files
authored
Use thrift 0.11.0 (#94)
* Upgrade Thrift to 0.11.0 Signed-off-by: Isaac Hier <[email protected]> * Update copyrights on touched files Signed-off-by: Isaac Hier <[email protected]>
1 parent 7dd252f commit 2d556ab

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+2992
-1968
lines changed

CMakeLists.txt

Lines changed: 59 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@ set(HUNTER_CONFIGURATION_TYPES "Release;Debug" CACHE STRING
1212
include(CMakeDependentOption)
1313
include(HunterGate)
1414
HunterGate(
15-
URL "https://github.com/ruslo/hunter/archive/v0.20.18.tar.gz"
16-
SHA1 "c2614bc107a5172c167a5784f476b6fb39e314a9"
17-
LOCAL
15+
URL "https://github.com/ruslo/hunter/archive/v0.20.62.tar.gz"
16+
SHA1 "10ffae63cf7b07193d6d7b459c1d0cfa242fad5b"
1817
)
1918

2019
project(jaegertracing VERSION 0.4.0)
@@ -39,16 +38,9 @@ endif()
3938
set(package_deps)
4039

4140
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND
42-
CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9")
43-
set(boost_components regex)
44-
hunter_add_package(Boost COMPONENTS regex)
45-
list(APPEND LIBS Boost::regex)
46-
else()
47-
set(boost_components)
48-
hunter_add_package(Boost)
41+
CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9")
42+
message(FATAL_ERROR "Must use gcc >= 4.9")
4943
endif()
50-
find_package(Boost ${hunter_config} REQUIRED ${boost_components})
51-
list(APPEND package_deps Boost)
5244

5345
hunter_add_package(thrift)
5446
find_package(thrift ${hunter_config} REQUIRED)
@@ -73,12 +65,9 @@ list(APPEND package_deps nlohmann_json)
7365

7466
option(JAEGERTRACING_COVERAGE "Build with coverage" $ENV{COVERAGE})
7567
option(JAEGERTRACING_BUILD_CROSSDOCK "Build crossdock" $ENV{CROSSDOCK})
76-
if(NOT JAEGERTRACING_BUILD_CROSSDOCK)
77-
set(no_crossdock ON)
78-
endif()
7968
cmake_dependent_option(
8069
JAEGERTRACING_WITH_YAML_CPP "Use yaml-cpp to parse config files" ON
81-
"no_crossdock" ON)
70+
"NOT JAEGERTRACING_BUILD_CROSSDOCK" ON)
8271

8372
if(JAEGERTRACING_WITH_YAML_CPP)
8473
hunter_add_package(yaml-cpp)
@@ -106,38 +95,6 @@ if(BUILD_TESTING)
10695
endif()
10796
endif()
10897

109-
if(JAEGERTRACING_BUILD_CROSSDOCK)
110-
set(CROSSDOCK_SRC crossdock/Server.cpp)
111-
add_executable(crossdock ${CROSSDOCK_SRC})
112-
target_include_directories(crossdock PUBLIC
113-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/crossdock>)
114-
target_link_libraries(crossdock PUBLIC ${JAEGERTRACING_LIB})
115-
116-
set(JAEGER_CROSSDOCK_URL
117-
"https://raw.githubusercontent.com/jaegertracing/jaeger/master/docker-compose/\
118-
jaeger-docker-compose.yml")
119-
file(DOWNLOAD ${JAEGER_CROSSDOCK_URL}
120-
"${CMAKE_CURRENT_SOURCE_DIR}/crossdock/jaeger-docker-compose.yml")
121-
find_program(DOCKER_COMPOSE_EXE docker-compose REQUIRED)
122-
set(DOCKER_COMPOSE_CMD ${DOCKER_COMPOSE_EXE}
123-
-f ${CMAKE_CURRENT_SOURCE_DIR}/crossdock/docker-compose.yml
124-
-f ${CMAKE_CURRENT_SOURCE_DIR}/crossdock/jaeger-docker-compose.yml)
125-
add_custom_target(crossdock-kill
126-
COMMAND ${DOCKER_COMPOSE_CMD} kill
127-
COMMAND ${DOCKER_COMPOSE_CMD} rm --force)
128-
add_custom_target(crossdock-run
129-
COMMAND ${DOCKER_COMPOSE_CMD} build
130-
COMMAND ${DOCKER_COMPOSE_CMD} run crossdock
131-
DEPENDS crossdock-kill)
132-
add_custom_target(crossdock-fresh
133-
COMMAND ${DOCKER_COMPOSE_CMD} pull
134-
COMMAND ${DOCKER_COMPOSE_CMD} build
135-
COMMAND ${DOCKER_COMPOSE_CMD} run crossdock
136-
DEPENDS crossdock-kill)
137-
add_custom_target(crossdock-logs
138-
COMMAND ${DOCKER_COMPOSE_CMD} logs)
139-
endif()
140-
14198
set(SRC
14299
src/jaegertracing/Config.cpp
143100
src/jaegertracing/DynamicLoad.cpp
@@ -209,7 +166,6 @@ set(SRC
209166
src/jaegertracing/thrift-gen/Collector.cpp
210167
src/jaegertracing/thrift-gen/Dependency.cpp
211168
src/jaegertracing/thrift-gen/SamplingManager.cpp
212-
src/jaegertracing/thrift-gen/TracedService.cpp
213169
src/jaegertracing/thrift-gen/ZipkinCollector.cpp
214170
src/jaegertracing/thrift-gen/agent_constants.cpp
215171
src/jaegertracing/thrift-gen/agent_types.cpp
@@ -223,21 +179,25 @@ set(SRC
223179
src/jaegertracing/thrift-gen/jaeger_types.cpp
224180
src/jaegertracing/thrift-gen/sampling_constants.cpp
225181
src/jaegertracing/thrift-gen/sampling_types.cpp
226-
src/jaegertracing/thrift-gen/tracetest_constants.cpp
227-
src/jaegertracing/thrift-gen/tracetest_types.cpp
228182
src/jaegertracing/thrift-gen/zipkincore_constants.cpp
229183
src/jaegertracing/thrift-gen/zipkincore_types.cpp
230184
src/jaegertracing/utils/ErrorUtil.cpp
231185
src/jaegertracing/utils/HexParsing.cpp
232186
src/jaegertracing/utils/RateLimiter.cpp
233-
src/jaegertracing/utils/Regex.cpp
234187
src/jaegertracing/utils/UDPClient.cpp
235188
src/jaegertracing/utils/YAML.cpp)
236189

190+
if(JAEGERTRACING_BUILD_CROSSDOCK)
191+
list(APPEND SRC
192+
src/jaegertracing/thrift-gen/TracedService.cpp
193+
src/jaegertracing/thrift-gen/tracetest_constants.cpp
194+
src/jaegertracing/thrift-gen/tracetest_types.cpp)
195+
endif()
196+
237197
function(add_lib_deps lib)
238198
target_include_directories(${lib} PUBLIC
239-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
240-
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/src>)
199+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
200+
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/src>)
241201
target_link_libraries(${lib} PUBLIC ${LIBS})
242202
endfunction()
243203

@@ -281,16 +241,23 @@ configure_file(
281241
@ONLY)
282242

283243
if(BUILD_TESTING)
284-
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/jaegertracing/testutils")
285-
set(TEST_SRC
244+
add_library(testutils
245+
src/jaegertracing/testutils/TUDPTransport.cpp
246+
src/jaegertracing/testutils/SamplingManager.cpp
247+
src/jaegertracing/testutils/MockAgent.cpp
248+
src/jaegertracing/testutils/TracerUtil.cpp)
249+
target_link_libraries(testutils PUBLIC ${JAEGERTRACING_LIB})
250+
251+
add_executable(UnitTest
286252
src/jaegertracing/ConfigTest.cpp
253+
src/jaegertracing/DynamicLoadTest.cpp
287254
src/jaegertracing/ReferenceTest.cpp
288255
src/jaegertracing/SpanContextTest.cpp
289256
src/jaegertracing/SpanTest.cpp
290257
src/jaegertracing/TagTest.cpp
291258
src/jaegertracing/TraceIDTest.cpp
292-
src/jaegertracing/TracerTest.cpp
293259
src/jaegertracing/TracerFactoryTest.cpp
260+
src/jaegertracing/TracerTest.cpp
294261
src/jaegertracing/UDPTransportTest.cpp
295262
src/jaegertracing/baggage/BaggageTest.cpp
296263
src/jaegertracing/metrics/MetricsTest.cpp
@@ -305,17 +272,15 @@ if(BUILD_TESTING)
305272
src/jaegertracing/reporters/ReporterTest.cpp
306273
src/jaegertracing/samplers/SamplerTest.cpp
307274
src/jaegertracing/testutils/MockAgentTest.cpp
308-
src/jaegertracing/testutils/TracerUtil.cpp
309275
src/jaegertracing/testutils/TUDPTransportTest.cpp
310276
src/jaegertracing/utils/ErrorUtilTest.cpp
311277
src/jaegertracing/utils/RateLimiterTest.cpp
312278
src/jaegertracing/utils/UDPClientTest.cpp)
313-
add_executable(UnitTest ${TEST_SRC})
314279
target_compile_definitions(UnitTest PUBLIC
315280
GTEST_HAS_TR1_TUPLE=0
316281
GTEST_USE_OWN_TR1_TUPLE=0)
317282
target_link_libraries(
318-
UnitTest testutils GTest::main ${JAEGERTRACING_LIB} ${LIBS})
283+
UnitTest PRIVATE testutils GTest::main)
319284
add_test(NAME UnitTest COMMAND UnitTest)
320285

321286
if(TARGET jaegertracing)
@@ -334,6 +299,40 @@ if(BUILD_TESTING)
334299
endif()
335300
endif()
336301

302+
if(JAEGERTRACING_BUILD_CROSSDOCK)
303+
set(CROSSDOCK_SRC crossdock/Server.cpp)
304+
add_executable(crossdock ${CROSSDOCK_SRC})
305+
target_include_directories(crossdock PUBLIC
306+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/crossdock>)
307+
target_link_libraries(crossdock PUBLIC ${JAEGERTRACING_LIB})
308+
309+
set(JAEGER_CROSSDOCK_URL
310+
"https://raw.githubusercontent.com/jaegertracing/jaeger/master/docker-compose/\
311+
jaeger-docker-compose.yml")
312+
file(DOWNLOAD ${JAEGER_CROSSDOCK_URL}
313+
"${CMAKE_CURRENT_SOURCE_DIR}/crossdock/jaeger-docker-compose.yml")
314+
find_program(DOCKER_COMPOSE_EXE docker-compose REQUIRED)
315+
set(DOCKER_COMPOSE_CMD ${DOCKER_COMPOSE_EXE}
316+
-f ${CMAKE_CURRENT_SOURCE_DIR}/crossdock/docker-compose.yml
317+
-f ${CMAKE_CURRENT_SOURCE_DIR}/crossdock/jaeger-docker-compose.yml)
318+
add_custom_target(crossdock-kill
319+
COMMAND ${DOCKER_COMPOSE_CMD} kill
320+
COMMAND ${DOCKER_COMPOSE_CMD} rm --force)
321+
add_custom_target(crossdock-run
322+
COMMAND ${DOCKER_COMPOSE_CMD} build
323+
COMMAND ${DOCKER_COMPOSE_CMD} run crossdock
324+
DEPENDS crossdock-kill)
325+
add_custom_target(crossdock-fresh
326+
COMMAND ${DOCKER_COMPOSE_CMD} pull
327+
COMMAND ${DOCKER_COMPOSE_CMD} build
328+
COMMAND ${DOCKER_COMPOSE_CMD} run crossdock
329+
DEPENDS crossdock-kill)
330+
add_custom_target(crossdock-logs
331+
COMMAND ${DOCKER_COMPOSE_CMD} logs)
332+
endif()
333+
334+
335+
337336
# Installation (https://github.com/forexample/package-example)
338337

339338
# Layout. This works for all platforms:

cmake/Hunter/config.cmake

Lines changed: 0 additions & 1 deletion
This file was deleted.

crossdock/Server.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017 Uber Technologies, Inc.
2+
* Copyright (c) 2017-2018 Uber Technologies, Inc.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -90,7 +90,8 @@ void from_json(const nlohmann::json& json, Downstream& downstream)
9090
downstream.__set_transport(json.at("transport").get<Transport::type>());
9191
auto itr = json.find("downstream");
9292
if (itr != std::end(json) && !itr->is_null()) {
93-
downstream.__set_downstream(itr->get<Downstream>());
93+
downstream.__set_downstream(
94+
std::make_shared<Downstream>(itr->get<Downstream>()));
9495
}
9596
}
9697

@@ -160,7 +161,8 @@ void from_json(const nlohmann::json& json, TraceResponse& response)
160161
}
161162
itr = json.find("downstream");
162163
if (itr != std::end(json) && !itr->is_null()) {
163-
response.__set_downstream(itr->get<TraceResponse>());
164+
response.__set_downstream(
165+
std::make_shared<TraceResponse>(itr->get<TraceResponse>()));
164166
}
165167
FIELD_FROM_JSON(response, notImplementedError);
166168
}
@@ -346,8 +348,8 @@ thrift::TraceResponse prepareResponse(const opentracing::SpanContext& ctx,
346348
thrift::TraceResponse response;
347349
response.__set_span(observedSpan);
348350
if (downstream) {
349-
response.__set_downstream(
350-
callDownstream(ctx, role, *downstream, tracer, logger));
351+
response.__set_downstream(std::make_shared<thrift::TraceResponse>(
352+
callDownstream(ctx, role, *downstream, tracer, logger)));
351353
}
352354
return response;
353355
}

idl

Submodule idl updated from 6710b74 to 95d8550

scripts/thrift-gen.patch

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
diff --git a/src/jaegertracing/thrift-gen/tracetest_types.cpp b/src/jaegertracing/thrift-gen/tracetest_types.cpp
2+
index cb7199e..ceb7a20 100644
3+
--- a/src/jaegertracing/thrift-gen/tracetest_types.cpp
4+
+++ b/src/jaegertracing/thrift-gen/tracetest_types.cpp
5+
@@ -60,7 +60,7 @@ void Downstream::__set_transport(const Transport::type val) {
6+
this->transport = val;
7+
}
8+
9+
-void Downstream::__set_downstream(const Downstream& val) {
10+
+void Downstream::__set_downstream(const std::shared_ptr<Downstream>& val) {
11+
this->downstream = val;
12+
__isset.downstream = true;
13+
}
14+
@@ -141,7 +141,7 @@ uint32_t Downstream::read(::apache::thrift::protocol::TProtocol* iprot) {
15+
break;
16+
case 6:
17+
if (ftype == ::apache::thrift::protocol::T_STRUCT) {
18+
- xfer += this->downstream.read(iprot);
19+
+ xfer += this->downstream->read(iprot);
20+
this->__isset.downstream = true;
21+
} else {
22+
xfer += iprot->skip(ftype);
23+
@@ -196,7 +196,7 @@ uint32_t Downstream::write(::apache::thrift::protocol::TProtocol* oprot) const {
24+
25+
if (this->__isset.downstream) {
26+
xfer += oprot->writeFieldBegin("downstream", ::apache::thrift::protocol::T_STRUCT, 6);
27+
- xfer += this->downstream.write(oprot);
28+
+ xfer += this->downstream->write(oprot);
29+
xfer += oprot->writeFieldEnd();
30+
}
31+
xfer += oprot->writeFieldStop();
32+
@@ -672,7 +672,7 @@ void TraceResponse::__set_span(const ObservedSpan& val) {
33+
__isset.span = true;
34+
}
35+
36+
-void TraceResponse::__set_downstream(const TraceResponse& val) {
37+
+void TraceResponse::__set_downstream(const std::shared_ptr<TraceResponse>& val) {
38+
this->downstream = val;
39+
__isset.downstream = true;
40+
}
41+
@@ -719,7 +719,7 @@ uint32_t TraceResponse::read(::apache::thrift::protocol::TProtocol* iprot) {
42+
break;
43+
case 2:
44+
if (ftype == ::apache::thrift::protocol::T_STRUCT) {
45+
- xfer += this->downstream.read(iprot);
46+
+ xfer += this->downstream->read(iprot);
47+
this->__isset.downstream = true;
48+
} else {
49+
xfer += iprot->skip(ftype);
50+
@@ -759,7 +759,7 @@ uint32_t TraceResponse::write(::apache::thrift::protocol::TProtocol* oprot) cons
51+
}
52+
if (this->__isset.downstream) {
53+
xfer += oprot->writeFieldBegin("downstream", ::apache::thrift::protocol::T_STRUCT, 2);
54+
- xfer += this->downstream.write(oprot);
55+
+ xfer += this->downstream->write(oprot);
56+
xfer += oprot->writeFieldEnd();
57+
}
58+
xfer += oprot->writeFieldBegin("notImplementedError", ::apache::thrift::protocol::T_STRING, 3);
59+
diff --git a/src/jaegertracing/thrift-gen/tracetest_types.h b/src/jaegertracing/thrift-gen/tracetest_types.h
60+
index 5a0e6c9..a44f3a3 100644
61+
--- a/src/jaegertracing/thrift-gen/tracetest_types.h
62+
+++ b/src/jaegertracing/thrift-gen/tracetest_types.h
63+
@@ -61,7 +61,7 @@ class Downstream : public virtual ::apache::thrift::TBase {
64+
std::string host;
65+
std::string port;
66+
Transport::type transport;
67+
- Downstream downstream;
68+
+ std::shared_ptr<Downstream> downstream;
69+
70+
_Downstream__isset __isset;
71+
72+
@@ -75,7 +75,7 @@ class Downstream : public virtual ::apache::thrift::TBase {
73+
74+
void __set_transport(const Transport::type val);
75+
76+
- void __set_downstream(const Downstream& val);
77+
+ void __set_downstream(const std::shared_ptr<Downstream>& val);
78+
79+
bool operator == (const Downstream & rhs) const
80+
{
81+
@@ -91,7 +91,7 @@ class Downstream : public virtual ::apache::thrift::TBase {
82+
return false;
83+
if (__isset.downstream != rhs.__isset.downstream)
84+
return false;
85+
- else if (__isset.downstream && !(downstream == rhs.downstream))
86+
+ else if (__isset.downstream && !(*downstream == *rhs.downstream))
87+
return false;
88+
return true;
89+
}
90+
@@ -273,14 +273,14 @@ class TraceResponse : public virtual ::apache::thrift::TBase {
91+
92+
virtual ~TraceResponse() throw();
93+
ObservedSpan span;
94+
- TraceResponse downstream;
95+
+ std::shared_ptr<TraceResponse> downstream;
96+
std::string notImplementedError;
97+
98+
_TraceResponse__isset __isset;
99+
100+
void __set_span(const ObservedSpan& val);
101+
102+
- void __set_downstream(const TraceResponse& val);
103+
+ void __set_downstream(const std::shared_ptr<TraceResponse>& val);
104+
105+
void __set_notImplementedError(const std::string& val);
106+
107+
@@ -292,7 +292,7 @@ class TraceResponse : public virtual ::apache::thrift::TBase {
108+
return false;
109+
if (__isset.downstream != rhs.__isset.downstream)
110+
return false;
111+
- else if (__isset.downstream && !(downstream == rhs.downstream))
112+
+ else if (__isset.downstream && !(*downstream == *rhs.downstream))
113+
return false;
114+
if (!(notImplementedError == rhs.notImplementedError))
115+
return false;

src/jaegertracing/UDPTransport.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ constexpr auto kEmitBatchOverhead = 30;
3939
template <typename ThriftType>
4040
int calcSizeOfSerializedThrift(const ThriftType& base, int maxPacketSize)
4141
{
42-
boost::shared_ptr<apache::thrift::transport::TMemoryBuffer> buffer(
42+
std::shared_ptr<apache::thrift::transport::TMemoryBuffer> buffer(
4343
new apache::thrift::transport::TMemoryBuffer(maxPacketSize));
4444
apache::thrift::protocol::TCompactProtocolFactory factory;
4545
auto protocol = factory.getProtocol(buffer);

src/jaegertracing/UDPTransport.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017 Uber Technologies, Inc.
2+
* Copyright (c) 2017-2018 Uber Technologies, Inc.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -53,7 +53,7 @@ class UDPTransport : public Transport {
5353
int _maxSpanBytes;
5454
int _byteBufferSize;
5555
std::vector<thrift::Span> _spanBuffer;
56-
boost::shared_ptr<apache::thrift::protocol::TProtocol> _protocol;
56+
std::shared_ptr<apache::thrift::protocol::TProtocol> _protocol;
5757
thrift::Process _process;
5858
int _processByteSize;
5959
};

0 commit comments

Comments
 (0)