Skip to content

Commit 61b93aa

Browse files
committed
Changes to view sdk
1 parent 489c56e commit 61b93aa

File tree

3 files changed

+97
-68
lines changed

3 files changed

+97
-68
lines changed

sdk/metrics/+opentelemetry/+sdk/+metrics/View.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
aggregation, histogramBinEdges, varargin)
2727

2828
instrumentTypeCategory = int32(find(instrumentType==["kCounter", "kHistogram", "kUpDownCounter", "kObservableCounter", "kObservableGauge", "kObservableUpDownCounter"])-1);
29-
30-
aggregationCategory = int32(find(instrumentType==["kDrop", "kHistogram", "kLastValue", "kSum", "kDefault"])-1);
29+
30+
aggregationCategory = int32(find(aggregation==["kDrop", "kHistogram", "kLastValue", "kSum", "kDefault"])-1);
3131

3232
obj.Proxy = libmexclass.proxy.Proxy("Name", "libmexclass.opentelemetry.sdk.ViewProxy", ...
3333
"ConstructorArguments", {name, description, unit, instrumentName, ...

sdk/metrics/src/ViewProxy.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,10 @@ libmexclass::proxy::MakeResult ViewProxy::make(const libmexclass::proxy::Functio
3636
if(aggregation_type == metrics_sdk::AggregationType::kHistogram){
3737
matlab::data::TypedArray<double> histogramBinEdges_mda = constructor_arguments[10];
3838
std::vector<double> histogramBinEdges;
39-
for (auto h : histogramBinEdges_mda) {
40-
histogramBinEdges.push_back(h);
39+
if(histogramBinEdges_mda.getNumberOfElements() > 0){
40+
for (auto h : histogramBinEdges_mda) {
41+
histogramBinEdges.push_back(h);
42+
}
4143
}
4244
aggregation_config->boundaries_ = histogramBinEdges;
4345
}

test/tmetrics_sdk.m

Lines changed: 91 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ function setup(testCase)
3232
end
3333
end
3434

35-
methods (TestMethodTeardown)
36-
function teardown(testCase)
37-
commonTeardown(testCase);
38-
end
39-
end
35+
% methods (TestMethodTeardown)
36+
% function teardown(testCase)
37+
% commonTeardown(testCase);
38+
% end
39+
% end
4040

4141
methods (Test)
4242
function testDefaultExporter(testCase)
@@ -146,65 +146,92 @@ function testCustomResource(testCase)
146146
end
147147
end
148148

149-
% function testViewCounter(testCase)
150-
% % testCustomResource: check custom resources are included in
151-
% % emitted metrics
152-
% commonSetup(testCase)
153-
%
154-
% exporter = opentelemetry.exporters.otlp.OtlpHttpMetricExporter();
155-
% reader = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(exporter, ...
156-
% "Interval", seconds(2), "Timeout", seconds(1));
157-
% mp = opentelemetry.sdk.metrics.MeterProvider(reader);
158-
%
159-
% m = getMeter(mp, "mymeter");
160-
% c = createCounter(m, "mycounter");
161-
%
162-
% % create testing value
163-
% val = 10;
164-
%
165-
% % add value and attributes
166-
% c.add(val);
167-
%
168-
% pause(2.5);
169-
%
170-
% view = opentelemetry.sdk.metrics.View("View", "my View", "Unit", "Instrument", "kCounter", "mymeter", "", "", ["One" "Two" "Three"], "kDrop", [0 100 200 300 400 500]);
171-
%
172-
% addView(mp, view);
173-
%
174-
% clear mp;
175-
%
176-
% % % TODO: add test comparisons
177-
% end
178-
179-
% function testViewHistogram(testCase)
180-
% % testCustomResource: check custom resources are included in
181-
% % emitted metrics
182-
% commonSetup(testCase)
183-
%
184-
% exporter = opentelemetry.exporters.otlp.OtlpHttpMetricExporter();
185-
% reader = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(exporter, ...
186-
% "Interval", seconds(2), "Timeout", seconds(1));
187-
% mp = opentelemetry.sdk.metrics.MeterProvider(reader);
188-
% m = mp.getMeter("mymeter");
189-
% hist = m.createHistogram("histogram");
190-
%
191-
% % create value for histogram
192-
% val = 1;
193-
%
194-
% % record value
195-
% hist.record(val);
196-
%
197-
% % wait for collector response
198-
% pause(2.5);
199-
%
200-
% view = opentelemetry.sdk.metrics.View("View", "my View", "Unit", "Instrument", "kHistogram", "mymeter", "", "", ["One" "Two" "Three"], "kHistogram", [0 100 200 300 400 500]);
201-
%
202-
% addView(mp, view);
203-
%
204-
% clear mp;
205-
%
206-
% % % TODO: add test comparisons
207-
% end
149+
function testViewCounter(testCase)
150+
% testCustomResource: check custom resources are included in
151+
% emitted metrics
152+
153+
exporter = opentelemetry.exporters.otlp.OtlpHttpMetricExporter();
154+
reader = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(exporter, ...
155+
"Interval", seconds(2), "Timeout", seconds(1));
156+
mp = opentelemetry.sdk.metrics.MeterProvider(reader);
157+
158+
m = getMeter(mp, "mymeter");
159+
c = createCounter(m, "mycounter");
160+
161+
% create testing value
162+
val = 10;
163+
164+
% add value and attributes
165+
c.add(val);
166+
167+
pause(2.5);
168+
169+
view = opentelemetry.sdk.metrics.View("View", "my View", "", "", "kCounter", "mymeter", "", "", "", "kDrop", []);
170+
171+
addView(mp, view);
172+
173+
clear mp;
174+
175+
% % TODO: add test comparisons
176+
end
177+
178+
function testViewUpDownCounter(testCase)
179+
% test names and added value in UpDownCounter
180+
181+
exporter = opentelemetry.exporters.otlp.OtlpHttpMetricExporter();
182+
reader = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(exporter, ...
183+
"Interval", seconds(2), "Timeout", seconds(1));
184+
mp = opentelemetry.sdk.metrics.MeterProvider(reader);
185+
186+
m = getMeter(mp, "mymeter");
187+
c = createUpDownCounter(m, "mycounter");
188+
189+
% create testing value
190+
val = -10;
191+
192+
% add value and attributes
193+
c.add(val);
194+
195+
% wait for collector response time (2s)
196+
pause(5);
197+
198+
view = opentelemetry.sdk.metrics.View("View", "my View", "Unit", "MyGauge", "kUpDownCounter", "mymeter", "", "", "", "kLastValue", []);
199+
200+
addView(mp, view);
201+
202+
clear mp;
203+
204+
% % TODO: add test comparisons
205+
end
206+
207+
function testViewHistogram(testCase)
208+
% testCustomResource: check custom resources are included in
209+
% emitted metrics
210+
211+
exporter = opentelemetry.exporters.otlp.OtlpHttpMetricExporter();
212+
reader = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(exporter, ...
213+
"Interval", seconds(2), "Timeout", seconds(1));
214+
mp = opentelemetry.sdk.metrics.MeterProvider(reader);
215+
m = mp.getMeter("mymeter");
216+
hist = m.createHistogram("histogram");
217+
218+
% create value for histogram
219+
val = 1;
220+
221+
% record value
222+
hist.record(val);
223+
224+
% wait for collector response
225+
pause(2.5);
226+
227+
view = opentelemetry.sdk.metrics.View("View", "my View", "", "", "kHistogram", "mymeter", "", "", "", "kHistogram", [0 100 200 300 400 500]);
228+
229+
addView(mp, view);
230+
231+
clear mp;
232+
233+
% % TODO: add test comparisons
234+
end
208235

209236
function testShutdown(testCase)
210237
% testShutdown: shutdown method should stop exporting

0 commit comments

Comments
 (0)