|
1 | | -// Copyright 2023 The MathWorks, Inc. |
| 1 | +// Copyright 2023-2024 The MathWorks, Inc. |
2 | 2 |
|
3 | 3 | #include "opentelemetry-matlab/sdk/trace/TracerProviderProxy.h" |
4 | 4 | #include "opentelemetry-matlab/sdk/trace/SpanProcessorProxy.h" |
|
14 | 14 | #include "opentelemetry/trace/tracer_provider.h" |
15 | 15 | #include "opentelemetry/trace/noop.h" |
16 | 16 | #include "opentelemetry/common/key_value_iterable_view.h" |
| 17 | +#include "opentelemetry/nostd/shared_ptr.h" |
17 | 18 |
|
18 | 19 | namespace trace_api = opentelemetry::trace; |
19 | 20 | namespace trace_sdk = opentelemetry::sdk::trace; |
@@ -53,9 +54,11 @@ libmexclass::proxy::MakeResult TracerProviderProxy::make(const libmexclass::prox |
53 | 54 |
|
54 | 55 | auto resource_custom = createResource(resourcenames_mda, resourcevalues_mda); |
55 | 56 |
|
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); |
59 | 62 | } |
60 | 63 | return out; |
61 | 64 | } |
|
0 commit comments