diff --git a/exporters/geneva/.gitignore b/exporters/geneva/.gitignore new file mode 100644 index 000000000..d16386367 --- /dev/null +++ b/exporters/geneva/.gitignore @@ -0,0 +1 @@ +build/ \ No newline at end of file diff --git a/exporters/geneva/src/exporter.cc b/exporters/geneva/src/exporter.cc index cb7d569ea..633806efb 100644 --- a/exporters/geneva/src/exporter.cc +++ b/exporters/geneva/src/exporter.cc @@ -47,10 +47,10 @@ Exporter::Exporter(const ExporterOptions &options) sdk::metrics::AggregationTemporality Exporter::GetAggregationTemporality( sdk::metrics::InstrumentType instrument_type) const noexcept { - if (instrument_type == sdk::metrics::InstrumentType::kUpDownCounter) - { - return sdk::metrics::AggregationTemporality::kCumulative; - } + if (instrument_type == sdk::metrics::InstrumentType::kUpDownCounter || + instrument_type == sdk::metrics::InstrumentType::kObservableUpDownCounter) { + return sdk::metrics::AggregationTemporality::kCumulative; + } return sdk::metrics::AggregationTemporality::kDelta; } diff --git a/exporters/geneva/test/metrics_exporter_test.cc b/exporters/geneva/test/metrics_exporter_test.cc index 058b66346..4af472028 100644 --- a/exporters/geneva/test/metrics_exporter_test.cc +++ b/exporters/geneva/test/metrics_exporter_test.cc @@ -379,4 +379,24 @@ INSTANTIATE_TEST_SUITE_P(GenericMetricsExporterText, GenericMetricsExporterTextFixture, ::testing::Values(kUnixDomainPathUDS, kUnixDomainPathAbstractSocket)); +// Test for GetAggregationTemporality method +TEST(GenevaExporterTest, GetAggregationTemporalityTest) { + ExporterOptions options{"Endpoint=unix:///tmp/test;Account=test;Namespace=test"}; + Exporter exporter(options); + + // Test that kUpDownCounter returns kCumulative + EXPECT_EQ(exporter.GetAggregationTemporality(InstrumentType::kUpDownCounter), + AggregationTemporality::kCumulative); + + // Test that kObservableUpDownCounter returns kCumulative + EXPECT_EQ(exporter.GetAggregationTemporality(InstrumentType::kObservableUpDownCounter), + AggregationTemporality::kCumulative); + + // Test that other instrument types return kDelta + EXPECT_EQ(exporter.GetAggregationTemporality(InstrumentType::kCounter), + AggregationTemporality::kDelta); + EXPECT_EQ(exporter.GetAggregationTemporality(InstrumentType::kHistogram), + AggregationTemporality::kDelta); +} + #endif \ No newline at end of file