Skip to content

Commit 0bbbdb1

Browse files
authored
[CONFIGURATION] File configuration - misc model (#3504)
1 parent 93877b9 commit 0bbbdb1

20 files changed

+564
-2
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <cstddef>
7+
8+
#include "opentelemetry/version.h"
9+
10+
OPENTELEMETRY_BEGIN_NAMESPACE
11+
namespace sdk
12+
{
13+
namespace configuration
14+
{
15+
16+
// YAML-SCHEMA: schema/opentelemetry_configuration.json
17+
// YAML-NODE: AttributeLimits
18+
class AttributeLimitsConfiguration
19+
{
20+
public:
21+
std::size_t attribute_value_length_limit;
22+
std::size_t attribute_count_limit;
23+
};
24+
25+
} // namespace configuration
26+
} // namespace sdk
27+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include "opentelemetry/version.h"
7+
8+
OPENTELEMETRY_BEGIN_NAMESPACE
9+
namespace sdk
10+
{
11+
namespace configuration
12+
{
13+
class AttributeValueConfigurationVisitor;
14+
15+
// YAML-SCHEMA: schema/resource.json
16+
// YAML-NODE: AttributeNameValue
17+
class AttributeValueConfiguration
18+
{
19+
public:
20+
AttributeValueConfiguration() = default;
21+
AttributeValueConfiguration(AttributeValueConfiguration &&) = default;
22+
AttributeValueConfiguration(const AttributeValueConfiguration &) = default;
23+
AttributeValueConfiguration &operator=(AttributeValueConfiguration &&) = default;
24+
AttributeValueConfiguration &operator=(const AttributeValueConfiguration &other) = default;
25+
virtual ~AttributeValueConfiguration() = default;
26+
27+
virtual void Accept(AttributeValueConfigurationVisitor *visitor) const = 0;
28+
};
29+
30+
} // namespace configuration
31+
} // namespace sdk
32+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include "opentelemetry/version.h"
7+
8+
OPENTELEMETRY_BEGIN_NAMESPACE
9+
namespace sdk
10+
{
11+
namespace configuration
12+
{
13+
14+
class StringAttributeValueConfiguration;
15+
class IntegerAttributeValueConfiguration;
16+
class DoubleAttributeValueConfiguration;
17+
class BooleanAttributeValueConfiguration;
18+
class StringArrayAttributeValueConfiguration;
19+
class IntegerArrayAttributeValueConfiguration;
20+
class DoubleArrayAttributeValueConfiguration;
21+
class BooleanArrayAttributeValueConfiguration;
22+
23+
class AttributeValueConfigurationVisitor
24+
{
25+
public:
26+
AttributeValueConfigurationVisitor() = default;
27+
AttributeValueConfigurationVisitor(AttributeValueConfigurationVisitor &&) = default;
28+
AttributeValueConfigurationVisitor(const AttributeValueConfigurationVisitor &) = default;
29+
AttributeValueConfigurationVisitor &operator=(AttributeValueConfigurationVisitor &&) = default;
30+
AttributeValueConfigurationVisitor &operator=(const AttributeValueConfigurationVisitor &other) =
31+
default;
32+
virtual ~AttributeValueConfigurationVisitor() = default;
33+
34+
virtual void VisitString(const StringAttributeValueConfiguration *model) = 0;
35+
virtual void VisitInteger(const IntegerAttributeValueConfiguration *model) = 0;
36+
virtual void VisitDouble(const DoubleAttributeValueConfiguration *model) = 0;
37+
virtual void VisitBoolean(const BooleanAttributeValueConfiguration *model) = 0;
38+
virtual void VisitStringArray(const StringArrayAttributeValueConfiguration *model) = 0;
39+
virtual void VisitIntegerArray(const IntegerArrayAttributeValueConfiguration *model) = 0;
40+
virtual void VisitDoubleArray(const DoubleArrayAttributeValueConfiguration *model) = 0;
41+
virtual void VisitBooleanArray(const BooleanArrayAttributeValueConfiguration *model) = 0;
42+
};
43+
44+
} // namespace configuration
45+
} // namespace sdk
46+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <map>
7+
#include <memory>
8+
#include <string>
9+
10+
#include "opentelemetry/sdk/configuration/attribute_value_configuration.h"
11+
#include "opentelemetry/version.h"
12+
13+
OPENTELEMETRY_BEGIN_NAMESPACE
14+
namespace sdk
15+
{
16+
namespace configuration
17+
{
18+
19+
// YAML-SCHEMA: schema/resource.json
20+
// YAML-NODE: AttributeNameValue
21+
class AttributesConfiguration
22+
{
23+
public:
24+
std::map<std::string, std::unique_ptr<AttributeValueConfiguration>> kv_map;
25+
};
26+
27+
} // namespace configuration
28+
} // namespace sdk
29+
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 <vector>
7+
8+
#include "opentelemetry/sdk/configuration/attribute_value_configuration.h"
9+
#include "opentelemetry/sdk/configuration/attribute_value_configuration_visitor.h"
10+
#include "opentelemetry/version.h"
11+
12+
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace sdk
14+
{
15+
namespace configuration
16+
{
17+
18+
// YAML-SCHEMA: schema/resource.json
19+
// YAML-NODE: AttributeNameValue
20+
class BooleanArrayAttributeValueConfiguration : public AttributeValueConfiguration
21+
{
22+
public:
23+
void Accept(AttributeValueConfigurationVisitor *visitor) const override
24+
{
25+
visitor->VisitBooleanArray(this);
26+
}
27+
28+
std::vector<bool> value;
29+
};
30+
31+
} // namespace configuration
32+
} // namespace sdk
33+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include "opentelemetry/sdk/configuration/attribute_value_configuration.h"
7+
#include "opentelemetry/sdk/configuration/attribute_value_configuration_visitor.h"
8+
#include "opentelemetry/version.h"
9+
10+
OPENTELEMETRY_BEGIN_NAMESPACE
11+
namespace sdk
12+
{
13+
namespace configuration
14+
{
15+
16+
// YAML-SCHEMA: schema/resource.json
17+
// YAML-NODE: AttributeNameValue
18+
class BooleanAttributeValueConfiguration : public AttributeValueConfiguration
19+
{
20+
public:
21+
void Accept(AttributeValueConfigurationVisitor *visitor) const override
22+
{
23+
visitor->VisitBoolean(this);
24+
}
25+
26+
bool value;
27+
};
28+
29+
} // namespace configuration
30+
} // namespace sdk
31+
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 <vector>
7+
8+
#include "opentelemetry/sdk/configuration/attribute_value_configuration.h"
9+
#include "opentelemetry/sdk/configuration/attribute_value_configuration_visitor.h"
10+
#include "opentelemetry/version.h"
11+
12+
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace sdk
14+
{
15+
namespace configuration
16+
{
17+
18+
// YAML-SCHEMA: schema/resource.json
19+
// YAML-NODE: AttributeNameValue
20+
class DoubleArrayAttributeValueConfiguration : public AttributeValueConfiguration
21+
{
22+
public:
23+
void Accept(AttributeValueConfigurationVisitor *visitor) const override
24+
{
25+
visitor->VisitDoubleArray(this);
26+
}
27+
28+
std::vector<double> value;
29+
};
30+
31+
} // namespace configuration
32+
} // namespace sdk
33+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include "opentelemetry/sdk/configuration/attribute_value_configuration.h"
7+
#include "opentelemetry/sdk/configuration/attribute_value_configuration_visitor.h"
8+
#include "opentelemetry/version.h"
9+
10+
OPENTELEMETRY_BEGIN_NAMESPACE
11+
namespace sdk
12+
{
13+
namespace configuration
14+
{
15+
16+
// YAML-SCHEMA: schema/resource.json
17+
// YAML-NODE: AttributeNameValue
18+
class DoubleAttributeValueConfiguration : public AttributeValueConfiguration
19+
{
20+
public:
21+
void Accept(AttributeValueConfigurationVisitor *visitor) const override
22+
{
23+
visitor->VisitDouble(this);
24+
}
25+
26+
double value;
27+
};
28+
29+
} // namespace configuration
30+
} // namespace sdk
31+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <map>
7+
#include <string>
8+
9+
#include "opentelemetry/version.h"
10+
11+
OPENTELEMETRY_BEGIN_NAMESPACE
12+
namespace sdk
13+
{
14+
namespace configuration
15+
{
16+
17+
class HeadersConfiguration
18+
{
19+
public:
20+
std::map<std::string, std::string> kv_map;
21+
};
22+
23+
} // namespace configuration
24+
} // namespace sdk
25+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
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/string_array_configuration.h"
9+
#include "opentelemetry/version.h"
10+
11+
OPENTELEMETRY_BEGIN_NAMESPACE
12+
namespace sdk
13+
{
14+
namespace configuration
15+
{
16+
17+
// YAML-SCHEMA: schema/common.json
18+
// YAML-NODE: IncludeExclude
19+
class IncludeExcludeConfiguration
20+
{
21+
public:
22+
std::unique_ptr<StringArrayConfiguration> included;
23+
std::unique_ptr<StringArrayConfiguration> excluded;
24+
};
25+
26+
} // namespace configuration
27+
} // namespace sdk
28+
OPENTELEMETRY_END_NAMESPACE

0 commit comments

Comments
 (0)