Skip to content

Commit 4c41390

Browse files
authored
[CONFIGURATION] File configuration - otlp exporter builders (#3566)
1 parent 2fc2a20 commit 4c41390

32 files changed

+1013
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <string>
7+
8+
#include "opentelemetry/exporters/otlp/otlp_environment.h" // For OtlpHeaders
9+
#include "opentelemetry/exporters/otlp/otlp_http.h"
10+
#include "opentelemetry/exporters/otlp/otlp_preferred_temporality.h"
11+
#include "opentelemetry/sdk/configuration/headers_configuration.h"
12+
#include "opentelemetry/sdk/configuration/otlp_http_encoding.h"
13+
#include "opentelemetry/sdk/configuration/temporality_preference.h"
14+
#include "opentelemetry/version.h"
15+
16+
OPENTELEMETRY_BEGIN_NAMESPACE
17+
namespace exporter
18+
{
19+
namespace otlp
20+
{
21+
22+
class OtlpBuilderUtils
23+
{
24+
public:
25+
static HttpRequestContentType ConvertOtlpHttpEncoding(
26+
opentelemetry::sdk::configuration::OtlpHttpEncoding model);
27+
28+
static OtlpHeaders ConvertHeadersConfigurationModel(
29+
const opentelemetry::sdk::configuration::HeadersConfiguration *model,
30+
const std::string &headers_list);
31+
32+
static PreferredAggregationTemporality ConvertTemporalityPreference(
33+
opentelemetry::sdk::configuration::TemporalityPreference model);
34+
};
35+
36+
} // namespace otlp
37+
} // namespace exporter
38+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/otlp_file_log_record_exporter_builder.h"
9+
#include "opentelemetry/sdk/configuration/otlp_file_log_record_exporter_configuration.h"
10+
#include "opentelemetry/sdk/configuration/registry.h"
11+
#include "opentelemetry/sdk/logs/exporter.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace exporter
16+
{
17+
namespace otlp
18+
{
19+
20+
class OPENTELEMETRY_EXPORT OtlpFileLogRecordBuilder
21+
: public opentelemetry::sdk::configuration::OtlpFileLogRecordExporterBuilder
22+
{
23+
public:
24+
static void Register(opentelemetry::sdk::configuration::Registry *registry);
25+
26+
std::unique_ptr<opentelemetry::sdk::logs::LogRecordExporter> Build(
27+
const opentelemetry::sdk::configuration::OtlpFileLogRecordExporterConfiguration *model)
28+
const override;
29+
};
30+
31+
} // namespace otlp
32+
} // namespace exporter
33+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/otlp_file_push_metric_exporter_builder.h"
9+
#include "opentelemetry/sdk/configuration/otlp_file_push_metric_exporter_configuration.h"
10+
#include "opentelemetry/sdk/configuration/registry.h"
11+
#include "opentelemetry/sdk/metrics/push_metric_exporter.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace exporter
16+
{
17+
namespace otlp
18+
{
19+
20+
class OPENTELEMETRY_EXPORT OtlpFilePushMetricBuilder
21+
: public opentelemetry::sdk::configuration::OtlpFilePushMetricExporterBuilder
22+
{
23+
public:
24+
static void Register(opentelemetry::sdk::configuration::Registry *registry);
25+
26+
std::unique_ptr<opentelemetry::sdk::metrics::PushMetricExporter> Build(
27+
const opentelemetry::sdk::configuration::OtlpFilePushMetricExporterConfiguration *model)
28+
const override;
29+
};
30+
31+
} // namespace otlp
32+
} // namespace exporter
33+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/otlp_file_span_exporter_builder.h"
9+
#include "opentelemetry/sdk/configuration/otlp_file_span_exporter_configuration.h"
10+
#include "opentelemetry/sdk/configuration/registry.h"
11+
#include "opentelemetry/sdk/trace/exporter.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace exporter
16+
{
17+
namespace otlp
18+
{
19+
20+
class OPENTELEMETRY_EXPORT OtlpFileSpanBuilder
21+
: public opentelemetry::sdk::configuration::OtlpFileSpanExporterBuilder
22+
{
23+
public:
24+
static void Register(opentelemetry::sdk::configuration::Registry *registry);
25+
26+
std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> Build(
27+
const opentelemetry::sdk::configuration::OtlpFileSpanExporterConfiguration *model)
28+
const override;
29+
};
30+
31+
} // namespace otlp
32+
} // namespace exporter
33+
OPENTELEMETRY_END_NAMESPACE

exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_exporter_options.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ namespace otlp
2323
*/
2424
struct OPENTELEMETRY_EXPORT OtlpGrpcExporterOptions : public OtlpGrpcClientOptions
2525
{
26+
/** Lookup environment variables. */
2627
OtlpGrpcExporterOptions();
28+
/** No defaults. */
29+
OtlpGrpcExporterOptions(void *);
2730
OtlpGrpcExporterOptions(const OtlpGrpcExporterOptions &) = default;
2831
OtlpGrpcExporterOptions(OtlpGrpcExporterOptions &&) = default;
2932
OtlpGrpcExporterOptions &operator=(const OtlpGrpcExporterOptions &) = default;
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_builder.h"
9+
#include "opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_configuration.h"
10+
#include "opentelemetry/sdk/configuration/registry.h"
11+
#include "opentelemetry/sdk/logs/exporter.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace exporter
16+
{
17+
namespace otlp
18+
{
19+
20+
class OPENTELEMETRY_EXPORT OtlpGrpcLogRecordBuilder
21+
: public opentelemetry::sdk::configuration::OtlpGrpcLogRecordExporterBuilder
22+
{
23+
public:
24+
static void Register(opentelemetry::sdk::configuration::Registry *registry);
25+
26+
std::unique_ptr<opentelemetry::sdk::logs::LogRecordExporter> Build(
27+
const opentelemetry::sdk::configuration::OtlpGrpcLogRecordExporterConfiguration *model)
28+
const override;
29+
};
30+
31+
} // namespace otlp
32+
} // namespace exporter
33+
OPENTELEMETRY_END_NAMESPACE

exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter_options.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ namespace otlp
2323
*/
2424
struct OPENTELEMETRY_EXPORT OtlpGrpcLogRecordExporterOptions : public OtlpGrpcClientOptions
2525
{
26+
/** Lookup environment variables. */
2627
OtlpGrpcLogRecordExporterOptions();
28+
/** No defaults. */
29+
OtlpGrpcLogRecordExporterOptions(void *);
2730
OtlpGrpcLogRecordExporterOptions(const OtlpGrpcLogRecordExporterOptions &) = default;
2831
OtlpGrpcLogRecordExporterOptions(OtlpGrpcLogRecordExporterOptions &&) = default;
2932
OtlpGrpcLogRecordExporterOptions &operator=(const OtlpGrpcLogRecordExporterOptions &) = default;

exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_metric_exporter_options.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ namespace otlp
2424
*/
2525
struct OPENTELEMETRY_EXPORT OtlpGrpcMetricExporterOptions : public OtlpGrpcClientOptions
2626
{
27+
/** Lookup environment variables. */
2728
OtlpGrpcMetricExporterOptions();
29+
/** No defaults. */
30+
OtlpGrpcMetricExporterOptions(void *);
2831
OtlpGrpcMetricExporterOptions(const OtlpGrpcMetricExporterOptions &) = default;
2932
OtlpGrpcMetricExporterOptions(OtlpGrpcMetricExporterOptions &&) = default;
3033
OtlpGrpcMetricExporterOptions &operator=(const OtlpGrpcMetricExporterOptions &) = default;
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/otlp_grpc_push_metric_exporter_builder.h"
9+
#include "opentelemetry/sdk/configuration/otlp_grpc_push_metric_exporter_configuration.h"
10+
#include "opentelemetry/sdk/configuration/registry.h"
11+
#include "opentelemetry/sdk/metrics/push_metric_exporter.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace exporter
16+
{
17+
namespace otlp
18+
{
19+
20+
class OPENTELEMETRY_EXPORT OtlpGrpcPushMetricBuilder
21+
: public opentelemetry::sdk::configuration::OtlpGrpcPushMetricExporterBuilder
22+
{
23+
public:
24+
static void Register(opentelemetry::sdk::configuration::Registry *registry);
25+
26+
std::unique_ptr<opentelemetry::sdk::metrics::PushMetricExporter> Build(
27+
const opentelemetry::sdk::configuration::OtlpGrpcPushMetricExporterConfiguration *model)
28+
const override;
29+
};
30+
31+
} // namespace otlp
32+
} // namespace exporter
33+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/otlp_grpc_span_exporter_builder.h"
9+
#include "opentelemetry/sdk/configuration/otlp_grpc_span_exporter_configuration.h"
10+
#include "opentelemetry/sdk/configuration/registry.h"
11+
#include "opentelemetry/sdk/trace/exporter.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace exporter
16+
{
17+
namespace otlp
18+
{
19+
20+
class OPENTELEMETRY_EXPORT OtlpGrpcSpanBuilder
21+
: public opentelemetry::sdk::configuration::OtlpGrpcSpanExporterBuilder
22+
{
23+
public:
24+
static void Register(opentelemetry::sdk::configuration::Registry *registry);
25+
26+
std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> Build(
27+
const opentelemetry::sdk::configuration::OtlpGrpcSpanExporterConfiguration *model)
28+
const override;
29+
};
30+
31+
} // namespace otlp
32+
} // namespace exporter
33+
OPENTELEMETRY_END_NAMESPACE

0 commit comments

Comments
 (0)