Skip to content

Commit 818b2d3

Browse files
committed
Add service name as a resource in examples
1 parent ad82fb9 commit 818b2d3

File tree

7 files changed

+36
-22
lines changed

7 files changed

+36
-22
lines changed

examples/context_propagation/cpp/client.cc

Lines changed: 4 additions & 2 deletions
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/ext/http/client/http_client_factory.h"
44
#include "opentelemetry/ext/http/common/url_parser.h"
@@ -34,8 +34,10 @@ void InitTracer()
3434
opentelemetry::sdk::trace::SimpleSpanProcessorFactory::Create(std::move(exporter));
3535
std::vector<std::unique_ptr<opentelemetry::sdk::trace::SpanProcessor>> processors;
3636
processors.push_back(std::move(processor));
37+
opentelemetry::sdk::common::AttributeMap servicename = { {"service.name", "OpenTelemetry-Matlab_examples"} };
38+
auto resource = opentelemetry::sdk::resource::Resource::Create(servicename);
3739
std::unique_ptr<opentelemetry::sdk::trace::TracerContext> context =
38-
opentelemetry::sdk::trace::TracerContextFactory::Create(std::move(processors));
40+
opentelemetry::sdk::trace::TracerContextFactory::Create(std::move(processors), resource);
3941
std::shared_ptr<opentelemetry::trace::TracerProvider> provider =
4042
opentelemetry::sdk::trace::TracerProviderFactory::Create(std::move(context));
4143
// Set the global trace provider

examples/context_propagation/matlab/mymagic.m

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
% Web request handler function that takes context information (trace ID and span ID)
33
% from incoming request and set as current context
44
%
5-
% Copyright 2023 The MathWorks, Inc.
5+
% Copyright 2023-2024 The MathWorks, Inc.
66

77
% initialize tracing
88
runOnce(@initTracer);
@@ -40,7 +40,9 @@
4040

4141
function initTracer
4242
% set up global TracerProvider
43-
tp = opentelemetry.sdk.trace.TracerProvider();
43+
resource = dictionary("service.name", "OpenTelemetry-Matlab_examples");
44+
tp = opentelemetry.sdk.trace.TracerProvider(...
45+
opentelemetry.sdk.trace.SimpleSpanProcessor, Resource=resource);
4446
setTracerProvider(tp);
4547

4648
% set up global propagator

examples/metrics/async_metrics_example.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
exp = opentelemetry.exporters.otlp.defaultMetricExporter();
2626
reader = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(exp, ...
2727
"Interval", seconds(5), "Timeout", seconds(2.5)); % exports every 5 seconds
28-
mp = opentelemetry.sdk.metrics.MeterProvider(reader);
28+
resource = dictionary("service.name", "OpenTelemetry-Matlab_examples");
29+
mp = opentelemetry.sdk.metrics.MeterProvider(reader, Resource=resource);
2930
setMeterProvider(mp);
3031
end
3132

examples/metrics/metrics_example.m

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
% updowncounter, and a histogram. It then enters a loop and updates the
44
% value of the instruments at each iteration.
55

6-
% Copyright 2023 The MathWorks, Inc.
6+
% Copyright 2023-2024 The MathWorks, Inc.
77

8-
% initialize meter provider during first run
9-
runOnce(@initMetrics);
8+
% initialize meter provider
9+
initMetrics;
1010

1111
% create meter and instruments
1212
m = opentelemetry.metrics.getMeter("metrics_example");
@@ -21,6 +21,9 @@
2121
h.record(50 + 15*randn); % normal distribution with mean 50 and std 15
2222
pause(5);
2323
end
24+
25+
% clean up
26+
cleanupMetrics;
2427
end
2528

2629

@@ -31,15 +34,14 @@
3134
"Interval", seconds(5), "Timeout", seconds(2.5)); % exports every 5 seconds
3235
% Use custom histogram bins
3336
v = opentelemetry.sdk.metrics.View(InstrumentType="histogram", HistogramBinEdges=0:10:100);
34-
mp = opentelemetry.sdk.metrics.MeterProvider(reader, View=v);
37+
resource = dictionary("service.name", "OpenTelemetry-Matlab_examples");
38+
mp = opentelemetry.sdk.metrics.MeterProvider(reader, View=v, ...
39+
Resource=resource);
3540
setMeterProvider(mp);
3641
end
3742

38-
% This helper ensures the input function is only run once
39-
function runOnce(fh)
40-
persistent hasrun
41-
if isempty(hasrun)
42-
feval(fh);
43-
hasrun = 1;
44-
end
43+
function cleanupMetrics
44+
mp = opentelemetry.metrics.Provider.getMeterProvider();
45+
opentelemetry.sdk.common.Cleanup.shutdown(mp); % shutdown
4546
end
47+

examples/trace/trace_example.m

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
% This example creates spans to form a trace to instrument some simple
33
% MATLAB code that fits a line through a cluster of data points.
44

5-
% Copyright 2023 The MathWorks, Inc.
5+
% Copyright 2023-2024 The MathWorks, Inc.
66

77
% initialize tracing during first run
88
runOnce(@initTracer);
@@ -41,7 +41,9 @@
4141

4242
function initTracer
4343
% set up global TracerProvider
44-
tp = opentelemetry.sdk.trace.TracerProvider();
44+
resource = dictionary("service.name", "OpenTelemetry-Matlab_examples");
45+
tp = opentelemetry.sdk.trace.TracerProvider(...
46+
opentelemetry.sdk.trace.SimpleSpanProcessor, Resource=resource);
4547
setTracerProvider(tp);
4648
end
4749

examples/webread/cpp/server.cc

Lines changed: 5 additions & 2 deletions
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 "server.h"
44
#include "opentelemetry/trace/context.h"
@@ -24,6 +24,7 @@ namespace
2424

2525
using namespace opentelemetry::trace;
2626
namespace context = opentelemetry::context;
27+
namespace common = opentelemetry::common;
2728

2829
uint16_t server_port = 8800;
2930
constexpr const char *server_name = "localhost";
@@ -35,8 +36,10 @@ void InitTracer()
3536
opentelemetry::sdk::trace::SimpleSpanProcessorFactory::Create(std::move(exporter));
3637
std::vector<std::unique_ptr<opentelemetry::sdk::trace::SpanProcessor>> processors;
3738
processors.push_back(std::move(processor));
39+
opentelemetry::sdk::common::AttributeMap servicename = { {"service.name", "OpenTelemetry-Matlab_examples"} };
40+
auto resource = opentelemetry::sdk::resource::Resource::Create(servicename);
3841
std::unique_ptr<opentelemetry::sdk::trace::TracerContext> context =
39-
opentelemetry::sdk::trace::TracerContextFactory::Create(std::move(processors));
42+
opentelemetry::sdk::trace::TracerContextFactory::Create(std::move(processors), resource);
4043
std::shared_ptr<opentelemetry::trace::TracerProvider> provider =
4144
opentelemetry::sdk::trace::TracerProviderFactory::Create(std::move(context));
4245
// Set the global trace provider

examples/webread/matlab/webread_example.m

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
% This example shows how to propagate context (span ID and trace ID)
33
% to another process when using webread.
44

5-
% Copyright 2023 The MathWorks, Inc.
5+
% Copyright 2023-2024 The MathWorks, Inc.
66

77
% initialize tracing
88
runOnce(@initTracer);
@@ -26,7 +26,9 @@
2626

2727
function initTracer
2828
% set up global TracerProvider
29-
tp = opentelemetry.sdk.trace.TracerProvider();
29+
resource = dictionary("service.name", "OpenTelemetry-Matlab_examples");
30+
tp = opentelemetry.sdk.trace.TracerProvider(...
31+
opentelemetry.sdk.trace.SimpleSpanProcessor, Resource=resource);
3032
setTracerProvider(tp);
3133

3234
% set up global propagator

0 commit comments

Comments
 (0)