Skip to content

Commit 11bbcac

Browse files
committed
Upgrade to format 0.3 (in progress)
1 parent 62b431b commit 11bbcac

11 files changed

+714
-309
lines changed

examples/yaml/kitchen-sink.yaml

Lines changed: 621 additions & 224 deletions
Large diffs are not rendered by default.

exporters/otlp/src/otlp_http_span_builder.cc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@ std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> OtlpHttpSpanBuilder::Bu
3131
const opentelemetry::sdk::configuration::OtlpHttpSpanExporterConfiguration *model) const
3232
{
3333
OtlpHttpExporterOptions options(nullptr);
34-
options.url = model->endpoint;
35-
options.content_type = GetOtlpHttpProtocolFromString(model->protocol);
36-
options.timeout = std::chrono::duration_cast<std::chrono::system_clock::duration>(
34+
options.url = model->endpoint;
35+
// options.content_type = xxx;
36+
options.timeout = std::chrono::duration_cast<std::chrono::system_clock::duration>(
3737
std::chrono::seconds{model->timeout});
3838
// options.http_headers = model->xxx;
39-
options.ssl_ca_cert_path = model->certificate;
40-
options.ssl_client_key_path = model->client_key;
41-
options.ssl_client_cert_path = model->client_certificate;
39+
options.ssl_ca_cert_path = model->certificate_file;
40+
options.ssl_client_key_path = model->client_key_file;
41+
options.ssl_client_cert_path = model->client_certificate_file;
4242
return OtlpHttpExporterFactory::Create(options);
4343
}
4444

sdk/include/opentelemetry/sdk/configuration/exporter_default_histogram_aggregation.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33

44
#pragma once
55

6-
#include "opentelemetry/sdk/configuration/headers_configuration.h"
7-
#include "opentelemetry/sdk/configuration/push_metric_exporter_configuration.h"
8-
#include "opentelemetry/sdk/configuration/push_metric_exporter_configuration_visitor.h"
96
#include "opentelemetry/version.h"
107

118
OPENTELEMETRY_BEGIN_NAMESPACE

sdk/include/opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_configuration.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,10 @@ class OtlpGrpcLogRecordExporterConfiguration : public LogRecordExporterConfigura
2727
visitor->VisitOtlpGrpc(this);
2828
}
2929

30-
std::string protocol;
3130
std::string endpoint;
32-
std::string certificate;
33-
std::string client_key;
34-
std::string client_certificate;
31+
std::string certificate_file;
32+
std::string client_key_file;
33+
std::string client_certificate_file;
3534
std::unique_ptr<HeadersConfiguration> headers;
3635
std::string headers_list;
3736
std::string compression;

sdk/include/opentelemetry/sdk/configuration/otlp_grpc_push_metric_exporter_configuration.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,10 @@ class OtlpGrpcPushMetricExporterConfiguration : public PushMetricExporterConfigu
2828
visitor->VisitOtlpGrpc(this);
2929
}
3030

31-
std::string protocol;
3231
std::string endpoint;
33-
std::string certificate;
34-
std::string client_key;
35-
std::string client_certificate;
32+
std::string certificate_file;
33+
std::string client_key_file;
34+
std::string client_certificate_file;
3635
std::unique_ptr<HeadersConfiguration> headers;
3736
std::string headers_list;
3837
std::string compression;

sdk/include/opentelemetry/sdk/configuration/otlp_grpc_span_exporter_configuration.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,10 @@ class OtlpGrpcSpanExporterConfiguration : public SpanExporterConfiguration
2727
visitor->VisitOtlpGrpc(this);
2828
}
2929

30-
std::string protocol;
3130
std::string endpoint;
32-
std::string certificate;
33-
std::string client_key;
34-
std::string client_certificate;
31+
std::string certificate_file;
32+
std::string client_key_file;
33+
std::string client_certificate_file;
3534
std::unique_ptr<HeadersConfiguration> headers;
3635
std::string headers_list;
3736
std::string compression;

sdk/include/opentelemetry/sdk/configuration/otlp_http_log_record_exporter_configuration.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "opentelemetry/sdk/configuration/headers_configuration.h"
77
#include "opentelemetry/sdk/configuration/log_record_exporter_configuration.h"
88
#include "opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h"
9+
#include "opentelemetry/sdk/configuration/otlp_http_encoding.h"
910
#include "opentelemetry/version.h"
1011

1112
OPENTELEMETRY_BEGIN_NAMESPACE
@@ -15,7 +16,7 @@ namespace configuration
1516
{
1617

1718
// YAML-SCHEMA: schema/common.json
18-
// YAML-NODE: Otlp
19+
// YAML-NODE: OtlpHttpExporter
1920
class OtlpHttpLogRecordExporterConfiguration : public LogRecordExporterConfiguration
2021
{
2122
public:
@@ -27,16 +28,15 @@ class OtlpHttpLogRecordExporterConfiguration : public LogRecordExporterConfigura
2728
visitor->VisitOtlpHttp(this);
2829
}
2930

30-
std::string protocol;
3131
std::string endpoint;
32-
std::string certificate;
33-
std::string client_key;
34-
std::string client_certificate;
32+
std::string certificate_file;
33+
std::string client_key_file;
34+
std::string client_certificate_file;
3535
std::unique_ptr<HeadersConfiguration> headers;
3636
std::string headers_list;
3737
std::string compression;
3838
size_t timeout{0};
39-
bool insecure{false};
39+
enum_otlp_http_encoding encoding;
4040
};
4141

4242
} // namespace configuration

sdk/include/opentelemetry/sdk/configuration/otlp_http_push_metric_exporter_configuration.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
#include "opentelemetry/sdk/configuration/exporter_default_histogram_aggregation.h"
77
#include "opentelemetry/sdk/configuration/headers_configuration.h"
8+
#include "opentelemetry/sdk/configuration/otlp_http_encoding.h"
89
#include "opentelemetry/sdk/configuration/push_metric_exporter_configuration.h"
910
#include "opentelemetry/sdk/configuration/push_metric_exporter_configuration_visitor.h"
1011
#include "opentelemetry/version.h"
@@ -28,18 +29,17 @@ class OtlpHttpPushMetricExporterConfiguration : public PushMetricExporterConfigu
2829
visitor->VisitOtlpHttp(this);
2930
}
3031

31-
std::string protocol;
3232
std::string endpoint;
33-
std::string certificate;
34-
std::string client_key;
35-
std::string client_certificate;
33+
std::string certificate_file;
34+
std::string client_key_file;
35+
std::string client_certificate_file;
3636
std::unique_ptr<HeadersConfiguration> headers;
3737
std::string headers_list;
3838
std::string compression;
3939
size_t timeout{0};
40+
enum_otlp_http_encoding encoding{protobuf};
4041
std::string temporality_preference;
4142
enum_default_histogram_aggregation default_histogram_aggregation{explicit_bucket_histogram};
42-
bool insecure{false};
4343
};
4444

4545
} // namespace configuration

sdk/include/opentelemetry/sdk/configuration/otlp_http_span_exporter_configuration.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#pragma once
55

66
#include "opentelemetry/sdk/configuration/headers_configuration.h"
7+
#include "opentelemetry/sdk/configuration/otlp_http_encoding.h"
78
#include "opentelemetry/sdk/configuration/span_exporter_configuration.h"
89
#include "opentelemetry/sdk/configuration/span_exporter_configuration_visitor.h"
910
#include "opentelemetry/version.h"
@@ -27,16 +28,15 @@ class OtlpHttpSpanExporterConfiguration : public SpanExporterConfiguration
2728
visitor->VisitOtlpHttp(this);
2829
}
2930

30-
std::string protocol;
3131
std::string endpoint;
32-
std::string certificate;
33-
std::string client_key;
34-
std::string client_certificate;
32+
std::string certificate_file;
33+
std::string client_key_file;
34+
std::string client_certificate_file;
3535
std::unique_ptr<HeadersConfiguration> headers;
3636
std::string headers_list;
3737
std::string compression;
3838
size_t timeout{0};
39-
bool insecure{false};
39+
enum_otlp_http_encoding encoding;
4040
};
4141

4242
} // namespace configuration

sdk/src/configuration/configuration_factory.cc

Lines changed: 51 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include "opentelemetry/sdk/configuration/document_node.h"
3030
#include "opentelemetry/sdk/configuration/drop_aggregation_configuration.h"
3131
#include "opentelemetry/sdk/configuration/explicit_bucket_histogram_aggregation_configuration.h"
32+
#include "opentelemetry/sdk/configuration/exporter_default_histogram_aggregation.h"
3233
#include "opentelemetry/sdk/configuration/extension_log_record_exporter_configuration.h"
3334
#include "opentelemetry/sdk/configuration/extension_log_record_processor_configuration.h"
3435
#include "opentelemetry/sdk/configuration/extension_pull_metric_exporter_configuration.h"
@@ -89,16 +90,24 @@ static std::unique_ptr<HeadersConfiguration> ParseHeadersConfiguration(
8990
const std::unique_ptr<DocumentNode> &node)
9091
{
9192
std::unique_ptr<HeadersConfiguration> model(new HeadersConfiguration);
93+
std::unique_ptr<DocumentNode> kv_pair;
94+
std::unique_ptr<DocumentNode> name_child;
95+
std::unique_ptr<DocumentNode> value_child;
96+
std::string name;
97+
std::string value;
9298

93-
for (auto it = node->begin_properties(); it != node->end_properties(); ++it)
99+
for (auto it = node->begin(); it != node->end(); ++it)
94100
{
95-
std::string name = it.Name();
96-
std::unique_ptr<DocumentNode> child = it.Value();
97-
std::string string_value = child->AsString();
101+
kv_pair = *it;
98102

99-
OTEL_INTERNAL_LOG_DEBUG("ParseHeadersConfiguration() name = " << name
100-
<< ", value = " << string_value);
101-
std::pair<std::string, std::string> entry(name, string_value);
103+
name_child = kv_pair->GetRequiredChildNode("name");
104+
value_child = kv_pair->GetRequiredChildNode("value");
105+
106+
name = name_child->AsString();
107+
value = value_child->AsString();
108+
109+
OTEL_INTERNAL_LOG_DEBUG("ParseHeadersConfiguration() name = " << name << ", value = " << value);
110+
std::pair<std::string, std::string> entry(name, value);
102111
model->kv_map.insert(entry);
103112
}
104113

@@ -123,11 +132,10 @@ ParseOtlpHttpLogRecordExporterConfiguration(const std::unique_ptr<DocumentNode>
123132
new OtlpHttpLogRecordExporterConfiguration);
124133
std::unique_ptr<DocumentNode> child;
125134

126-
model->protocol = node->GetRequiredString("protocol");
127-
model->endpoint = node->GetRequiredString("endpoint");
128-
model->certificate = node->GetString("certificate", "");
129-
model->client_key = node->GetString("client_key", "");
130-
model->client_certificate = node->GetString("client_certificate", "");
135+
model->endpoint = node->GetRequiredString("endpoint");
136+
model->certificate_file = node->GetString("certificate_file", "");
137+
model->client_key_file = node->GetString("client_key_file", "");
138+
model->client_certificate_file = node->GetString("client_certificate_file", "");
131139

132140
child = node->GetChildNode("headers");
133141
if (child)
@@ -138,7 +146,7 @@ ParseOtlpHttpLogRecordExporterConfiguration(const std::unique_ptr<DocumentNode>
138146
model->headers_list = node->GetString("headers_list", "");
139147
model->compression = node->GetString("compression", "");
140148
model->timeout = node->GetInteger("timeout", 10000);
141-
model->insecure = node->GetBoolean("insecure", false);
149+
// FIXME: encoding
142150

143151
return model;
144152
}
@@ -150,11 +158,10 @@ ParseOtlpGrpcLogRecordExporterConfiguration(const std::unique_ptr<DocumentNode>
150158
new OtlpGrpcLogRecordExporterConfiguration);
151159
std::unique_ptr<DocumentNode> child;
152160

153-
model->protocol = node->GetRequiredString("protocol");
154-
model->endpoint = node->GetRequiredString("endpoint");
155-
model->certificate = node->GetString("certificate", "");
156-
model->client_key = node->GetString("client_key", "");
157-
model->client_certificate = node->GetString("client_certificate", "");
161+
model->endpoint = node->GetRequiredString("endpoint");
162+
model->certificate_file = node->GetString("certificate_file", "");
163+
model->client_key_file = node->GetString("client_key_file", "");
164+
model->client_certificate_file = node->GetString("client_certificate_file", "");
158165

159166
child = node->GetChildNode("headers");
160167
if (child)
@@ -375,11 +382,10 @@ ParseOtlpHttpPushMetricExporterConfiguration(const std::unique_ptr<DocumentNode>
375382
new OtlpHttpPushMetricExporterConfiguration);
376383
std::unique_ptr<DocumentNode> child;
377384

378-
model->protocol = node->GetRequiredString("protocol");
379-
model->endpoint = node->GetRequiredString("endpoint");
380-
model->certificate = node->GetString("certificate", "");
381-
model->client_key = node->GetString("client_key", "");
382-
model->client_certificate = node->GetString("client_certificate", "");
385+
model->endpoint = node->GetRequiredString("endpoint");
386+
model->certificate_file = node->GetString("certificate_file", "");
387+
model->client_key_file = node->GetString("client_key_file", "");
388+
model->client_certificate_file = node->GetString("client_certificate_file", "");
383389

384390
child = node->GetChildNode("headers");
385391
if (child)
@@ -396,8 +402,6 @@ ParseOtlpHttpPushMetricExporterConfiguration(const std::unique_ptr<DocumentNode>
396402
model->default_histogram_aggregation =
397403
ParseDefaultHistogramAggregation(default_histogram_aggregation);
398404

399-
model->insecure = node->GetBoolean("insecure", false);
400-
401405
return model;
402406
}
403407

@@ -408,11 +412,10 @@ ParseOtlpGrpcPushMetricExporterConfiguration(const std::unique_ptr<DocumentNode>
408412
new OtlpGrpcPushMetricExporterConfiguration);
409413
std::unique_ptr<DocumentNode> child;
410414

411-
model->protocol = node->GetRequiredString("protocol");
412-
model->endpoint = node->GetRequiredString("endpoint");
413-
model->certificate = node->GetString("certificate", "");
414-
model->client_key = node->GetString("client_key", "");
415-
model->client_certificate = node->GetString("client_certificate", "");
415+
model->endpoint = node->GetRequiredString("endpoint");
416+
model->certificate_file = node->GetString("certificate_file", "");
417+
model->client_key_file = node->GetString("client_key_file", "");
418+
model->client_certificate_file = node->GetString("client_certificate_file", "");
416419

417420
child = node->GetChildNode("headers");
418421
if (child)
@@ -817,6 +820,10 @@ static std::unique_ptr<StreamConfiguration> ParseStreamConfiguration(
817820

818821
if (child)
819822
{
823+
OTEL_INTERNAL_LOG_ERROR("ParseStreamConfiguration: FIXME");
824+
825+
// Schema has changed
826+
#ifdef NEVER
820827
for (auto it = child->begin(); it != child->end(); ++it)
821828
{
822829
std::unique_ptr<DocumentNode> attribute_key(*it);
@@ -825,6 +832,7 @@ static std::unique_ptr<StreamConfiguration> ParseStreamConfiguration(
825832

826833
model->attribute_keys.push_back(name);
827834
}
835+
#endif
828836
}
829837

830838
return model;
@@ -1079,11 +1087,10 @@ static std::unique_ptr<OtlpHttpSpanExporterConfiguration> ParseOtlpHttpSpanExpor
10791087
std::unique_ptr<OtlpHttpSpanExporterConfiguration> model(new OtlpHttpSpanExporterConfiguration);
10801088
std::unique_ptr<DocumentNode> child;
10811089

1082-
model->protocol = node->GetRequiredString("protocol");
1083-
model->endpoint = node->GetRequiredString("endpoint");
1084-
model->certificate = node->GetString("certificate", "");
1085-
model->client_key = node->GetString("client_key", "");
1086-
model->client_certificate = node->GetString("client_certificate", "");
1090+
model->endpoint = node->GetRequiredString("endpoint");
1091+
model->certificate_file = node->GetString("certificate_file", "");
1092+
model->client_key_file = node->GetString("client_key_file", "");
1093+
model->client_certificate_file = node->GetString("client_certificate_file", "");
10871094

10881095
child = node->GetChildNode("headers");
10891096
if (child)
@@ -1094,7 +1101,6 @@ static std::unique_ptr<OtlpHttpSpanExporterConfiguration> ParseOtlpHttpSpanExpor
10941101
model->headers_list = node->GetString("headers_list", "");
10951102
model->compression = node->GetString("compression", "");
10961103
model->timeout = node->GetInteger("timeout", 10000);
1097-
model->insecure = node->GetBoolean("insecure", false);
10981104

10991105
return model;
11001106
}
@@ -1105,11 +1111,10 @@ static std::unique_ptr<OtlpGrpcSpanExporterConfiguration> ParseOtlpGrpcSpanExpor
11051111
std::unique_ptr<OtlpGrpcSpanExporterConfiguration> model(new OtlpGrpcSpanExporterConfiguration);
11061112
std::unique_ptr<DocumentNode> child;
11071113

1108-
model->protocol = node->GetRequiredString("protocol");
1109-
model->endpoint = node->GetRequiredString("endpoint");
1110-
model->certificate = node->GetString("certificate", "");
1111-
model->client_key = node->GetString("client_key", "");
1112-
model->client_certificate = node->GetString("client_certificate", "");
1114+
model->endpoint = node->GetRequiredString("endpoint");
1115+
model->certificate_file = node->GetString("certificate_file", "");
1116+
model->client_key_file = node->GetString("client_key_file", "");
1117+
model->client_certificate_file = node->GetString("client_certificate_file", "");
11131118

11141119
child = node->GetChildNode("headers");
11151120
if (child)
@@ -1319,6 +1324,10 @@ static std::unique_ptr<AttributesConfiguration> ParseAttributesConfiguration(
13191324
std::unique_ptr<AttributesConfiguration> model(new AttributesConfiguration);
13201325
std::unique_ptr<DocumentNode> child;
13211326

1327+
OTEL_INTERNAL_LOG_ERROR("ParseAttributesConfiguration: FIXME");
1328+
1329+
// Schema has changed
1330+
#ifdef NEVER
13221331
for (auto it = node->begin_properties(); it != node->end_properties(); ++it)
13231332
{
13241333
std::string name = it.Name();
@@ -1331,6 +1340,7 @@ static std::unique_ptr<AttributesConfiguration> ParseAttributesConfiguration(
13311340
std::pair<std::string, std::string> entry(name, string_value);
13321341
model->kv_map.insert(entry);
13331342
}
1343+
#endif
13341344

13351345
return model;
13361346
}

0 commit comments

Comments
 (0)