@@ -146,99 +146,84 @@ function testCustomResource(testCase)
146146 end
147147 end
148148
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", "", "mycounter", "kCounter", "mymeter", "", "", "", "kDrop", []);
170- %
171- % addView(mp, view);
172- %
173- % clear mp;
174- %
175- % % % TODO: add test comparisons
176- %
177- % end
178- %
179- % function testViewUpDownCounter(testCase)
180- % % test names and added value in UpDownCounter
181- %
182- % exporter = opentelemetry.exporters.otlp.OtlpHttpMetricExporter();
183- % reader = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(exporter, ...
184- % "Interval", seconds(2), "Timeout", seconds(1));
185- % mp = opentelemetry.sdk.metrics.MeterProvider(reader);
186- %
187- % m = getMeter(mp, "mymeter");
188- % c = createUpDownCounter(m, "mycounter");
189- %
190- %
191- % % add value and attributes
192- % c.add(-10);
193- % c.add(-5);
194- % c.add(12);
195- % c.add(7);
196- %
197- % % wait for collector response time (2s)
198- % pause(5);
199- %
200- % view = opentelemetry.sdk.metrics.View("View", "", "", "mycounter", "kUpDownCounter", "mymeter", "", "", [], "kLastValue", []);
201- %
202- % addView(mp, view);
203- %
204- % c.add(8);
205- %
206- % clear mp;
207- %
208- % % % TODO: add test comparisons
209- % end
210- %
211- % function testViewHistogram(testCase)
212- % % testCustomResource: check custom resources are included in
213- % % emitted metrics
214- %
215- % exporter = opentelemetry.exporters.otlp.OtlpHttpMetricExporter();
216- % reader = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(exporter, ...
217- % "Interval", seconds(2), "Timeout", seconds(1));
218- % mp = opentelemetry.sdk.metrics.MeterProvider(reader);
219- % m = mp.getMeter("mymeter");
220- % hist = m.createHistogram("histogram");
221- %
222- % % record values
223- % hist.record(1);
224- % hist.record(200);
225- % hist.record(201);
226- % hist.record(400);
227- % hist.record(401);
228- %
229- % % wait for collector response
230- % pause(2.5);
231- %
232- % view = opentelemetry.sdk.metrics.View("View", "my View", "", "histogram", "kHistogram", "mymeter", "", "", "", "kHistogram", [0 100 200 300 400 500]);
233- %
234- % addView(mp, view);
235- %
236- % hist.record(402);
237- %
238- % clear mp;
239- %
240- % % % TODO: add test comparisons
241- % end
149+ function testViewBasic(testCase )
150+ mp = opentelemetry .sdk .metrics .MeterProvider(testCase .ShortIntervalReader );
151+
152+ view_name = " counter_view" ;
153+ view_description = " view_description" ;
154+ view = opentelemetry .sdk .metrics .View(name = " counter_view" , description= " view_description" , instrumentName= " mycounter" , instrumentType= " kCounter" , meterName= " mymeter" , meterVersion= " 1.2.0" , meterSchemaURL= " " , aggregation= " kSum" );
155+
156+ addView(mp , view );
157+
158+ m = getMeter(mp , " mymeter" , " 1.2.0" , " " );
159+ c = createCounter(m , " mycounter" );
160+
161+ % add value and attributes
162+ val = 10 ;
163+ c .add(val );
164+
165+ pause(2.5 );
166+
167+ clear m ;
168+ results = readJsonResults(testCase );
169+ results = results{end };
170+
171+ % verify view name and description
172+ verifyEqual(testCase , string(results .resourceMetrics .scopeMetrics .metrics .name ), view_name );
173+ verifyEqual(testCase , string(results .resourceMetrics .scopeMetrics .metrics .description ), view_description );
174+
175+ % fetch datapoint
176+ dp = results .resourceMetrics .scopeMetrics .metrics .sum .dataPoints ;
177+
178+ % verify counter value
179+ verifyEqual(testCase , dp .asDouble , val );
180+ end
181+
182+
183+ function testViewHistogram(testCase )
184+ mp = opentelemetry .sdk .metrics .MeterProvider(testCase .ShortIntervalReader );
185+
186+ view_name = " histogram_view" ;
187+ view_description = " view_description" ;
188+ bin_edges = [0 ; 100 ; 200 ; 300 ; 400 ; 500 ];
189+ view = opentelemetry .sdk .metrics .View(name = " histogram_view" , description= " view_description" , instrumentName= " myhistogram" , instrumentType= " kHistogram" , meterName= " mymeter" , aggregation= " kHistogram" , histogramBinEdges= bin_edges );
190+
191+ addView(mp , view );
192+
193+ m = mp .getMeter(" mymeter" );
194+ hist = m .createHistogram(" myhistogram" );
195+
196+ % record values
197+ hist .record(0 );
198+ hist .record(200 );
199+ hist .record(201 );
200+ hist .record(401 );
201+ hist .record(402 );
202+
203+ % wait for collector response
204+ pause(2.5 );
205+
206+ clear m ;
207+ results = readJsonResults(testCase );
208+ results = results{end };
209+
210+ % verify view name and description
211+ verifyEqual(testCase , string(results .resourceMetrics .scopeMetrics .metrics .name ), view_name );
212+ verifyEqual(testCase , string(results .resourceMetrics .scopeMetrics .metrics .description ), view_description );
213+
214+ % fetch datapoint
215+ dp = results .resourceMetrics .scopeMetrics .metrics .histogram .dataPoints ;
216+
217+ % verify histogram sum
218+ verifyEqual(testCase , dp .sum , 1204 );
219+
220+ % verify histogram bounds
221+ verifyEqual(testCase , dp .explicitBounds , bin_edges );
222+
223+ % verify histogram buckets
224+ expected_buckets = {' 1' ; ' 0' ; ' 1' ; ' 1' ; ' 0' ; ' 2' ; ' 0' };
225+ verifyEqual(testCase , dp .bucketCounts , expected_buckets );
226+ end
242227
243228 function testShutdown(testCase )
244229 % testShutdown: shutdown method should stop exporting
0 commit comments