@@ -144,23 +144,23 @@ void OtlpMetricUtils::ConvertGaugeMetric(const opentelemetry::sdk::metrics::Metr
144144 auto ts = metric_data.end_ts .time_since_epoch ().count ();
145145 for (auto &point_data_with_attributes : metric_data.point_data_attr_ )
146146 {
147- proto::metrics::v1::NumberDataPoint *proto_sum_point_data = gauge->add_data_points ();
148- proto_sum_point_data ->set_start_time_unix_nano (start_ts);
149- proto_sum_point_data ->set_time_unix_nano (ts);
150- auto sum_data = nostd::get<sdk::metrics::SumPointData >(point_data_with_attributes.point_data );
147+ proto::metrics::v1::NumberDataPoint *proto_gauge_point_data = gauge->add_data_points ();
148+ proto_gauge_point_data ->set_start_time_unix_nano (start_ts);
149+ proto_gauge_point_data ->set_time_unix_nano (ts);
150+ auto gauge_data = nostd::get<sdk::metrics::LastValuePointData >(point_data_with_attributes.point_data );
151151
152- if ((nostd::holds_alternative<long >(sum_data .value_ )))
152+ if ((nostd::holds_alternative<long >(gauge_data .value_ )))
153153 {
154- proto_sum_point_data ->set_as_int (nostd::get<long >(sum_data .value_ ));
154+ proto_gauge_point_data ->set_as_int (nostd::get<long >(gauge_data .value_ ));
155155 }
156156 else
157157 {
158- proto_sum_point_data ->set_as_double (nostd::get<double >(sum_data .value_ ));
158+ proto_gauge_point_data ->set_as_double (nostd::get<double >(gauge_data .value_ ));
159159 }
160160 // set attributes
161161 for (auto &kv_attr : point_data_with_attributes.attributes )
162162 {
163- OtlpPopulateAttributeUtils::PopulateAttribute (proto_sum_point_data ->add_attributes (),
163+ OtlpPopulateAttributeUtils::PopulateAttribute (proto_gauge_point_data ->add_attributes (),
164164 kv_attr.first , kv_attr.second );
165165 }
166166 }
@@ -197,9 +197,7 @@ void OtlpMetricUtils::PopulateResourceMetrics(
197197 const opentelemetry::sdk::metrics::ResourceMetrics &data,
198198 proto::metrics::v1::ResourceMetrics *resource_metrics) noexcept
199199{
200- proto::resource::v1::Resource proto;
201- OtlpPopulateAttributeUtils::PopulateAttribute (&proto, *(data.resource_ ));
202- *resource_metrics->mutable_resource () = proto;
200+ OtlpPopulateAttributeUtils::PopulateAttribute (resource_metrics->mutable_resource (), *(data.resource_ ));
203201
204202 for (auto &instrumentation_metrics : data.instrumentation_info_metric_data_ )
205203 {
@@ -208,17 +206,14 @@ void OtlpMetricUtils::PopulateResourceMetrics(
208206 continue ;
209207 }
210208 auto instrumentation_lib_metrics = resource_metrics->add_instrumentation_library_metrics ();
211- proto::common::v1::InstrumentationLibrary instrumentation_library;
212- instrumentation_library. set_name (instrumentation_metrics.instrumentation_library_ ->GetName ());
213- instrumentation_library. set_version (
209+ proto::common::v1::InstrumentationLibrary* instrumentation_library = instrumentation_lib_metrics-> mutable_instrumentation_library () ;
210+ instrumentation_library-> set_name (instrumentation_metrics.instrumentation_library_ ->GetName ());
211+ instrumentation_library-> set_version (
214212 instrumentation_metrics.instrumentation_library_ ->GetVersion ());
215- *instrumentation_lib_metrics->mutable_instrumentation_library () = instrumentation_library;
216213
217214 for (auto &metric_data : instrumentation_metrics.metric_data_ )
218215 {
219- proto::metrics::v1::Metric metric;
220- PopulateInstrumentationInfoMetric (metric_data, &metric);
221- *instrumentation_lib_metrics->add_metrics () = metric;
216+ PopulateInstrumentationInfoMetric (metric_data, instrumentation_lib_metrics->add_metrics ());
222217 }
223218 }
224219}
0 commit comments