Skip to content

Commit 6940e42

Browse files
authored
Merge pull request #151 from mathworks/otelcpp_1_16_1
Update to otel-cpp 1.16.1, closes #146
2 parents 69a6093 + 9546b11 commit 6940e42

File tree

8 files changed

+31
-23
lines changed

8 files changed

+31
-23
lines changed

CMakeLists.txt

+3-2
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ if(NOT DEFINED OTEL_CPP_INSTALLED_DIR)
191191
include(ExternalProject)
192192
set(OTEL_CPP_PROJECT_NAME opentelemetry-cpp)
193193
set(OTEL_CPP_GIT_REPOSITORY "https://github.com/open-telemetry/opentelemetry-cpp.git")
194-
set(OTEL_CPP_GIT_TAG "054b0dc")
194+
set(OTEL_CPP_GIT_TAG "baecbb9")
195195

196196
set(OTEL_CPP_CXX_STANDARD 14)
197197

@@ -209,14 +209,15 @@ if(NOT DEFINED OTEL_CPP_INSTALLED_DIR)
209209
set(patch_command "")
210210
endif()
211211

212+
# WITH_DEPRECATED_SDK_FACTORY flag is only needed for versions 1.16.0 and 1.16.1, and will be removed in 1.17.0
212213
ExternalProject_Add(
213214
${OTEL_CPP_PROJECT_NAME}
214215
GIT_REPOSITORY ${OTEL_CPP_GIT_REPOSITORY}
215216
GIT_TAG ${OTEL_CPP_GIT_TAG}
216217
PREFIX ${OTEL_CPP_PREFIX}
217218
UPDATE_DISCONNECTED 1
218219
PATCH_COMMAND ${patch_command}
219-
CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DWITH_OTLP_HTTP=${WITH_OTLP_HTTP} -DWITH_OTLP_GRPC=${WITH_OTLP_GRPC} -DWITH_OTLP_FILE=${WITH_OTLP_FILE} -DBUILD_TESTING=OFF -DWITH_BENCHMARK=OFF -DOPENTELEMETRY_INSTALL=ON -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_CXX_STANDARD=${OTEL_CPP_CXX_STANDARD} -DVCPKG_INSTALLED_DIR=${VCPKG_INSTALLED_DIR} ${TRIPLET_DEFINITIONS}
220+
CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DWITH_OTLP_HTTP=${WITH_OTLP_HTTP} -DWITH_OTLP_GRPC=${WITH_OTLP_GRPC} -DWITH_OTLP_FILE=${WITH_OTLP_FILE} -DBUILD_TESTING=OFF -DWITH_BENCHMARK=OFF -DWITH_DEPRECATED_SDK_FACTORY=OFF -DOPENTELEMETRY_INSTALL=ON -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_CXX_STANDARD=${OTEL_CPP_CXX_STANDARD} -DVCPKG_INSTALLED_DIR=${VCPKG_INSTALLED_DIR} ${TRIPLET_DEFINITIONS}
220221
BUILD_BYPRODUCTS ${OTEL_CPP_LIBRARIES}
221222
INSTALL_DIR ${OTEL_CPP_PREFIX}
222223
INSTALL_COMMAND ${CMAKE_COMMAND} --install . --prefix ${OTEL_CPP_PREFIX} --config $<CONFIG>

patches/otel-cpp-mac.patch

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake
2-
index 22082356..e25a89a2 100644
2+
index 62197068..150ce3fb 100644
33
--- a/cmake/opentelemetry-proto.cmake
44
+++ b/cmake/opentelemetry-proto.cmake
5-
@@ -276,7 +276,7 @@ if(WITH_OTLP_GRPC)
6-
PUBLIC opentelemetry_proto)
5+
@@ -346,7 +346,7 @@ if(WITH_OTLP_GRPC)
6+
target_link_libraries(opentelemetry_proto_grpc PUBLIC opentelemetry_proto)
77

88
get_target_property(grpc_lib_type gRPC::grpc++ TYPE)
9-
- if (grpc_lib_type STREQUAL "SHARED_LIBRARY")
10-
+ if (grpc_lib_type STREQUAL "SHARED_LIBRARY" OR APPLE)
11-
target_link_libraries(opentelemetry_proto_grpc
12-
PUBLIC gRPC::grpc++)
9+
- if(grpc_lib_type STREQUAL "SHARED_LIBRARY")
10+
+ if(grpc_lib_type STREQUAL "SHARED_LIBRARY" OR APPLE)
11+
target_link_libraries(opentelemetry_proto_grpc PUBLIC gRPC::grpc++)
1312
endif()
13+
set_target_properties(opentelemetry_proto_grpc PROPERTIES EXPORT_NAME

sdk/logs/src/LoggerProviderProxy.cpp

+5-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,11 @@ libmexclass::proxy::MakeResult LoggerProviderProxy::make(const libmexclass::prox
4545

4646
auto resource_custom = createResource(resourcenames_mda, resourcevalues_mda);
4747

48-
out = std::make_shared<LoggerProviderProxy>(nostd::shared_ptr<logs_api::LoggerProvider>(
49-
std::move(logs_sdk::LoggerProviderFactory::Create(std::move(processor), resource_custom))));
48+
std::unique_ptr<logs_sdk::LoggerProvider> p_sdk = logs_sdk::LoggerProviderFactory::Create(
49+
std::move(processor), resource_custom);
50+
nostd::shared_ptr<logs_sdk::LoggerProvider> p_sdk_shared(std::move(p_sdk));
51+
nostd::shared_ptr<logs_api::LoggerProvider> p_api_shared(std::move(p_sdk_shared));
52+
out = std::make_shared<LoggerProviderProxy>(p_api_shared);
5053
}
5154
return out;
5255
}

sdk/metrics/src/MeterProviderProxy.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2023 The MathWorks, Inc.
1+
// Copyright 2023-2024 The MathWorks, Inc.
22

33
#include "opentelemetry-matlab/sdk/metrics/MeterProviderProxy.h"
44
#include "opentelemetry-matlab/sdk/metrics/PeriodicExportingMetricReaderProxy.h"
@@ -39,8 +39,7 @@ libmexclass::proxy::MakeResult MeterProviderProxy::make(const libmexclass::proxy
3939
libmexclass::proxy::ProxyManager::getProxy(readerid))->getInstance();
4040

4141
auto view_registry = metrics_sdk::ViewRegistryFactory::Create();
42-
auto p = metrics_sdk::MeterProviderFactory::Create(std::move(view_registry), resource_custom);
43-
auto *p_sdk = static_cast<metrics_sdk::MeterProvider *>(p.get());
42+
auto p_sdk = metrics_sdk::MeterProviderFactory::Create(std::move(view_registry), resource_custom);
4443
p_sdk->AddMetricReader(std::move(reader));
4544

4645
// View
@@ -52,8 +51,9 @@ libmexclass::proxy::MakeResult MeterProviderProxy::make(const libmexclass::proxy
5251
p_sdk->AddView(view->getInstrumentSelector(), view->getMeterSelector(), view->getView());
5352
}
5453

55-
auto p_out = nostd::shared_ptr<metrics_api::MeterProvider>(std::move(p));
56-
out = std::make_shared<MeterProviderProxy>(p_out);
54+
nostd::shared_ptr<metrics_sdk::MeterProvider> p_sdk_shared(std::move(p_sdk));
55+
nostd::shared_ptr<metrics_api::MeterProvider> p_api_shared(std::move(p_sdk_shared));
56+
out = std::make_shared<MeterProviderProxy>(p_api_shared);
5757
}
5858
return out;
5959
}

sdk/trace/src/TracerProviderProxy.cpp

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2023 The MathWorks, Inc.
1+
// Copyright 2023-2024 The MathWorks, Inc.
22

33
#include "opentelemetry-matlab/sdk/trace/TracerProviderProxy.h"
44
#include "opentelemetry-matlab/sdk/trace/SpanProcessorProxy.h"
@@ -14,6 +14,7 @@
1414
#include "opentelemetry/trace/tracer_provider.h"
1515
#include "opentelemetry/trace/noop.h"
1616
#include "opentelemetry/common/key_value_iterable_view.h"
17+
#include "opentelemetry/nostd/shared_ptr.h"
1718

1819
namespace trace_api = opentelemetry::trace;
1920
namespace trace_sdk = opentelemetry::sdk::trace;
@@ -53,9 +54,11 @@ libmexclass::proxy::MakeResult TracerProviderProxy::make(const libmexclass::prox
5354

5455
auto resource_custom = createResource(resourcenames_mda, resourcevalues_mda);
5556

56-
out = std::make_shared<TracerProviderProxy>(nostd::shared_ptr<trace_api::TracerProvider>(
57-
std::move(trace_sdk::TracerProviderFactory::Create(std::move(processor), resource_custom,
58-
std::move(sampler)))));
57+
std::unique_ptr<trace_sdk::TracerProvider> p_sdk = trace_sdk::TracerProviderFactory::Create(std::move(processor),
58+
resource_custom, std::move(sampler));
59+
nostd::shared_ptr<trace_sdk::TracerProvider> p_sdk_shared(std::move(p_sdk));
60+
nostd::shared_ptr<trace_api::TracerProvider> p_api_shared(std::move(p_sdk_shared));
61+
out = std::make_shared<TracerProviderProxy>(p_api_shared);
5962
}
6063
return out;
6164
}

test/tlogs_sdk.m

+1
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ function testOtlpFileExporter(testCase)
6767

6868
% perform test comparisons
6969
forceFlush(lp, testCase.ForceFlushTimeout);
70+
clear("lg", "lp");
7071
results = jsondecode(fileread(alias));
7172

7273
% check logger name, log body and severity

test/tmetrics_sdk.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ function testOtlpFileExporter(testCase)
9696
ct.add(val);
9797

9898
% fetch result
99-
clear p;
99+
clear("ct", "mt", "p");
100100
results = jsondecode(fileread(alias));
101101

102102
% verify meter and counter names

test/ttrace_sdk.m

+2-2
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,9 @@ function testOtlpFileExporter(testCase)
151151
tracername = "foo";
152152
spanname = "bar";
153153
tr = getTracer(tp, tracername);
154-
sp = startSpan(tr, spanname);
154+
sp = startSpan(tr, spanname); %#ok<NASGU>
155155
pause(1);
156-
endSpan(sp);
156+
clear("sp", "tr", "tp");
157157

158158
% perform test comparisons
159159
results = jsondecode(fileread(alias));

0 commit comments

Comments
 (0)