summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/opentelemetry-cpp/sdk/include/opentelemetry/sdk/_metrics/exporter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/jaegertracing/opentelemetry-cpp/sdk/include/opentelemetry/sdk/_metrics/exporter.h')
-rw-r--r--src/jaegertracing/opentelemetry-cpp/sdk/include/opentelemetry/sdk/_metrics/exporter.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/jaegertracing/opentelemetry-cpp/sdk/include/opentelemetry/sdk/_metrics/exporter.h b/src/jaegertracing/opentelemetry-cpp/sdk/include/opentelemetry/sdk/_metrics/exporter.h
new file mode 100644
index 000000000..aae416527
--- /dev/null
+++ b/src/jaegertracing/opentelemetry-cpp/sdk/include/opentelemetry/sdk/_metrics/exporter.h
@@ -0,0 +1,35 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+#pragma once
+#ifdef ENABLE_METRICS_PREVIEW
+
+# include <memory>
+# include "opentelemetry/sdk/_metrics/record.h"
+# include "opentelemetry/sdk/common/exporter_utils.h"
+
+OPENTELEMETRY_BEGIN_NAMESPACE
+namespace sdk
+{
+namespace metrics
+{
+/**
+ * MetricsExporter defines the interface that protocol-specific span exporters must
+ * implement.
+ */
+class MetricsExporter
+{
+public:
+ virtual ~MetricsExporter() = default;
+
+ /**
+ * Exports a vector of Records. This method must not be called
+ * concurrently for the same exporter instance.
+ * @param records a vector of unique pointers to metric records
+ */
+ virtual sdk::common::ExportResult Export(const std::vector<Record> &records) noexcept = 0;
+};
+} // namespace metrics
+} // namespace sdk
+OPENTELEMETRY_END_NAMESPACE
+#endif