Skip to content

Commit 93877b9

Browse files
authored
[CONFIGURATION] File configuration - extension model (#3503)
1 parent a91d6a1 commit 93877b9

7 files changed

+245
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
#include <string>
8+
9+
#include "opentelemetry/sdk/configuration/document_node.h"
10+
#include "opentelemetry/sdk/configuration/log_record_exporter_configuration.h"
11+
#include "opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace sdk
16+
{
17+
namespace configuration
18+
{
19+
20+
// YAML-SCHEMA: schema/logger_provider.json
21+
// YAML-NODE: LogRecordProcessor
22+
class ExtensionLogRecordExporterConfiguration : public LogRecordExporterConfiguration
23+
{
24+
public:
25+
void Accept(LogRecordExporterConfigurationVisitor *visitor) const override
26+
{
27+
visitor->VisitExtension(this);
28+
}
29+
30+
std::string name;
31+
std::unique_ptr<DocumentNode> node;
32+
};
33+
34+
} // namespace configuration
35+
} // namespace sdk
36+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
#include <string>
8+
9+
#include "opentelemetry/sdk/configuration/document_node.h"
10+
#include "opentelemetry/sdk/configuration/log_record_processor_configuration.h"
11+
#include "opentelemetry/sdk/configuration/log_record_processor_configuration_visitor.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace sdk
16+
{
17+
namespace configuration
18+
{
19+
20+
class ExtensionLogRecordProcessorConfiguration : public LogRecordProcessorConfiguration
21+
{
22+
public:
23+
void Accept(LogRecordProcessorConfigurationVisitor *visitor) const override
24+
{
25+
visitor->VisitExtension(this);
26+
}
27+
28+
std::string name;
29+
std::unique_ptr<DocumentNode> node;
30+
};
31+
32+
} // namespace configuration
33+
} // namespace sdk
34+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
#include <string>
8+
9+
#include "opentelemetry/sdk/configuration/document_node.h"
10+
#include "opentelemetry/sdk/configuration/pull_metric_exporter_configuration.h"
11+
#include "opentelemetry/sdk/configuration/pull_metric_exporter_configuration_visitor.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace sdk
16+
{
17+
namespace configuration
18+
{
19+
20+
// YAML-SCHEMA: schema/meter_provider.json
21+
// YAML-NODE: PullMetricExporter
22+
class ExtensionPullMetricExporterConfiguration : public PullMetricExporterConfiguration
23+
{
24+
public:
25+
void Accept(PullMetricExporterConfigurationVisitor *visitor) const override
26+
{
27+
visitor->VisitExtension(this);
28+
}
29+
30+
std::string name;
31+
std::unique_ptr<DocumentNode> node;
32+
};
33+
34+
} // namespace configuration
35+
} // namespace sdk
36+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
#include <string>
8+
9+
#include "opentelemetry/sdk/configuration/document_node.h"
10+
#include "opentelemetry/sdk/configuration/push_metric_exporter_configuration.h"
11+
#include "opentelemetry/sdk/configuration/push_metric_exporter_configuration_visitor.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace sdk
16+
{
17+
namespace configuration
18+
{
19+
20+
// YAML-SCHEMA: schema/meter_provider.json
21+
// YAML-NODE: PushMetricExporter
22+
class ExtensionPushMetricExporterConfiguration : public PushMetricExporterConfiguration
23+
{
24+
public:
25+
void Accept(PushMetricExporterConfigurationVisitor *visitor) const override
26+
{
27+
visitor->VisitExtension(this);
28+
}
29+
30+
std::string name;
31+
std::unique_ptr<DocumentNode> node;
32+
};
33+
34+
} // namespace configuration
35+
} // namespace sdk
36+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
#include <string>
8+
9+
#include "opentelemetry/sdk/configuration/document_node.h"
10+
#include "opentelemetry/sdk/configuration/sampler_configuration.h"
11+
#include "opentelemetry/sdk/configuration/sampler_configuration_visitor.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace sdk
16+
{
17+
namespace configuration
18+
{
19+
20+
class ExtensionSamplerConfiguration : public SamplerConfiguration
21+
{
22+
public:
23+
void Accept(SamplerConfigurationVisitor *visitor) const override
24+
{
25+
visitor->VisitExtension(this);
26+
}
27+
28+
std::string name;
29+
std::unique_ptr<DocumentNode> node;
30+
std::size_t depth{0};
31+
};
32+
33+
} // namespace configuration
34+
} // namespace sdk
35+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
#include <string>
8+
9+
#include "opentelemetry/sdk/configuration/document_node.h"
10+
#include "opentelemetry/sdk/configuration/span_exporter_configuration.h"
11+
#include "opentelemetry/sdk/configuration/span_exporter_configuration_visitor.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace sdk
16+
{
17+
namespace configuration
18+
{
19+
20+
class ExtensionSpanExporterConfiguration : public SpanExporterConfiguration
21+
{
22+
public:
23+
void Accept(SpanExporterConfigurationVisitor *visitor) const override
24+
{
25+
visitor->VisitExtension(this);
26+
}
27+
28+
std::string name;
29+
std::unique_ptr<DocumentNode> node;
30+
};
31+
32+
} // namespace configuration
33+
} // namespace sdk
34+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
#include <string>
8+
9+
#include "opentelemetry/sdk/configuration/document_node.h"
10+
#include "opentelemetry/sdk/configuration/span_processor_configuration.h"
11+
#include "opentelemetry/sdk/configuration/span_processor_configuration_visitor.h"
12+
#include "opentelemetry/version.h"
13+
14+
OPENTELEMETRY_BEGIN_NAMESPACE
15+
namespace sdk
16+
{
17+
namespace configuration
18+
{
19+
20+
class ExtensionSpanProcessorConfiguration : public SpanProcessorConfiguration
21+
{
22+
public:
23+
void Accept(SpanProcessorConfigurationVisitor *visitor) const override
24+
{
25+
visitor->VisitExtension(this);
26+
}
27+
28+
std::string name;
29+
std::unique_ptr<DocumentNode> node;
30+
};
31+
32+
} // namespace configuration
33+
} // namespace sdk
34+
OPENTELEMETRY_END_NAMESPACE

0 commit comments

Comments
 (0)