@@ -37,6 +37,10 @@ namespace exporters {
3737namespace stats {
3838namespace {
3939
40+ google::api::MonitoredResource DefaultResource () {
41+ return google::api::MonitoredResource ();
42+ }
43+
4044TEST (StackdriverUtilsTest, SetMetricDescriptorNameAndType) {
4145 const std::string project_id = " projects/test-id" ;
4246 const std::string metric_name_prefix = " custom.googleapis.com/test/" ;
@@ -174,6 +178,58 @@ TEST(StackdriverUtilsTest, SetMetricDescriptorDescription) {
174178 EXPECT_EQ (description, metric_descriptor.description ());
175179}
176180
181+ TEST (StackdriverUtilsTest, MakeTimeSeriesDefaultResource) {
182+ const auto measure =
183+ opencensus::stats::MeasureDouble::Register (" my_measure" , " " , " " );
184+ const std::string task = " test_task" ;
185+ const std::string view_name = " test_view" ;
186+ const auto view_descriptor =
187+ opencensus::stats::ViewDescriptor ()
188+ .set_name (view_name)
189+ .set_measure (measure.GetDescriptor ().name ())
190+ .set_aggregation (opencensus::stats::Aggregation::Sum ());
191+ const opencensus::stats::ViewData data =
192+ TestUtils::MakeViewData (view_descriptor, {{{}, 1.0 }});
193+ const std::vector<google::monitoring::v3::TimeSeries> time_series =
194+ MakeTimeSeries (" " , DefaultResource (), view_descriptor, data, task);
195+ ASSERT_EQ (1 , time_series.size ());
196+ const auto & ts = time_series.front ();
197+ EXPECT_EQ (" global" , ts.resource ().type ());
198+ EXPECT_EQ (0 , ts.resource ().labels_size ());
199+ }
200+
201+ TEST (StackdriverUtilsTest, MakeTimeSeriesCustomResource) {
202+ const auto measure =
203+ opencensus::stats::MeasureDouble::Register (" my_measure" , " " , " " );
204+ const std::string task = " test_task" ;
205+ const std::string view_name = " test_view" ;
206+ const auto view_descriptor =
207+ opencensus::stats::ViewDescriptor ()
208+ .set_name (view_name)
209+ .set_measure (measure.GetDescriptor ().name ())
210+ .set_aggregation (opencensus::stats::Aggregation::Sum ());
211+ const opencensus::stats::ViewData data =
212+ TestUtils::MakeViewData (view_descriptor, {{{}, 1.0 }});
213+ google::api::MonitoredResource resource;
214+ resource.set_type (" gce_instance" );
215+ (*resource.mutable_labels ())[" project_id" ] = " my_project" ;
216+ (*resource.mutable_labels ())[" instance_id" ] = " 1234" ;
217+ (*resource.mutable_labels ())[" zone" ] = " my_zone" ;
218+ const std::vector<google::monitoring::v3::TimeSeries> time_series =
219+ MakeTimeSeries (" " , resource, view_descriptor, data, task);
220+ ASSERT_EQ (1 , time_series.size ());
221+ const auto & ts = time_series.front ();
222+ EXPECT_EQ (" gce_instance" , ts.resource ().type ());
223+ // EXPECT_EQ(0, ts.resource().labels_size());
224+ using ::testing::Pair;
225+ EXPECT_THAT (ts.resource ().labels (),
226+ ::testing::UnorderedElementsAre (Pair(" project_id" , " my_project" ),
227+ Pair(" instance_id" , " 1234" ),
228+ Pair(" zone" , " my_zone" )))
229+ << " resource() is:\n"
230+ << ts.resource().DebugString();
231+ }
232+
177233TEST (StackdriverUtilsTest, MakeTimeSeriesSumDoubleAndTypes) {
178234 const std::string metric_name_prefix = " custom.googleapis.com/test/" ;
179235 const auto measure =
@@ -192,11 +248,11 @@ TEST(StackdriverUtilsTest, MakeTimeSeriesSumDoubleAndTypes) {
192248 const opencensus::stats::ViewData data = TestUtils::MakeViewData (
193249 view_descriptor, {{{" v1" , " v1" }, 1.0 }, {{" v1" , " v2" }, 2.0 }});
194250 const std::vector<google::monitoring::v3::TimeSeries> time_series =
195- MakeTimeSeries (metric_name_prefix, view_descriptor, data, task);
251+ MakeTimeSeries (metric_name_prefix, DefaultResource (), view_descriptor,
252+ data, task);
196253
197254 for (const auto & ts : time_series) {
198255 EXPECT_EQ (" custom.googleapis.com/test/test_view" , ts.metric ().type ());
199- EXPECT_EQ (" global" , ts.resource ().type ());
200256 ASSERT_EQ (1 , ts.points_size ());
201257 EXPECT_EQ (absl::ToUnixSeconds (data.start_time ()),
202258 ts.points (0 ).interval ().start_time ().seconds ());
@@ -233,7 +289,7 @@ TEST(StackdriverUtilsTest, MakeTimeSeriesSumInt) {
233289 const opencensus::stats::ViewData data = TestUtils::MakeViewData (
234290 view_descriptor, {{{" v1" , " v1" }, 1.0 }, {{" v1" , " v2" }, 2.0 }});
235291 const std::vector<google::monitoring::v3::TimeSeries> time_series =
236- MakeTimeSeries (" " , view_descriptor, data, task);
292+ MakeTimeSeries (" " , DefaultResource (), view_descriptor, data, task);
237293
238294 for (const auto & ts : time_series) {
239295 ASSERT_EQ (1 , ts.points_size ());
@@ -273,7 +329,7 @@ TEST(StackdriverUtilsTest, MakeTimeSeriesCountDouble) {
273329 view_descriptor,
274330 {{{" v1" , " v1" }, 1.0 }, {{" v1" , " v1" }, 3.0 }, {{" v1" , " v2" }, 2.0 }});
275331 const std::vector<google::monitoring::v3::TimeSeries> time_series =
276- MakeTimeSeries (" " , view_descriptor, data, task);
332+ MakeTimeSeries (" " , DefaultResource (), view_descriptor, data, task);
277333
278334 for (const auto & ts : time_series) {
279335 ASSERT_EQ (1 , ts.points_size ());
@@ -316,7 +372,7 @@ TEST(StackdriverUtilsTest, MakeTimeSeriesDistributionDouble) {
316372 view_descriptor,
317373 {{{" v1" , " v1" }, -1.0 }, {{" v1" , " v1" }, 7.0 }, {{" v1" , " v2" }, 1.0 }});
318374 const std::vector<google::monitoring::v3::TimeSeries> time_series =
319- MakeTimeSeries (" " , view_descriptor, data, task);
375+ MakeTimeSeries (" " , DefaultResource (), view_descriptor, data, task);
320376
321377 for (const auto & ts : time_series) {
322378 ASSERT_EQ (1 , ts.points_size ());
@@ -362,7 +418,7 @@ TEST(StackdriverUtilsTest, MakeTimeSeriesLastValueInt) {
362418 const opencensus::stats::ViewData data = TestUtils::MakeViewData (
363419 view_descriptor, {{{" v1" , " v1" }, 1.0 }, {{" v1" , " v2" }, 2.0 }});
364420 const std::vector<google::monitoring::v3::TimeSeries> time_series =
365- MakeTimeSeries (" " , view_descriptor, data, task);
421+ MakeTimeSeries (" " , DefaultResource (), view_descriptor, data, task);
366422
367423 for (const auto & ts : time_series) {
368424 ASSERT_EQ (1 , ts.points_size ());
0 commit comments