File tree Expand file tree Collapse file tree 3 files changed +82
-2
lines changed
include/opentelemetry/exporters/zipkin Expand file tree Collapse file tree 3 files changed +82
-2
lines changed Original file line number Diff line number Diff line change 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/registry.h"
9+ #include " opentelemetry/sdk/configuration/zipkin_span_exporter_builder.h"
10+ #include " opentelemetry/sdk/configuration/zipkin_span_exporter_configuration.h"
11+ #include " opentelemetry/sdk/trace/exporter.h"
12+ #include " opentelemetry/version.h"
13+
14+ OPENTELEMETRY_BEGIN_NAMESPACE
15+ namespace exporter
16+ {
17+ namespace zipkin
18+ {
19+
20+ class OPENTELEMETRY_EXPORT ZipkinBuilder
21+ : public opentelemetry::sdk::configuration::ZipkinSpanExporterBuilder
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::ZipkinSpanExporterConfiguration *model)
28+ const override ;
29+ };
30+
31+ } // namespace zipkin
32+ } // namespace exporter
33+ OPENTELEMETRY_END_NAMESPACE
Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ namespace exporter
1313namespace zipkin
1414{
1515
16+ // The endpoint to export to. By default the OpenTelemetry Collector's default endpoint.
1617inline const std::string GetDefaultZipkinEndpoint ()
1718{
1819 const char *otel_exporter_zipkin_endpoint_env = " OTEL_EXPORTER_ZIPKIN_ENDPOINT" ;
@@ -36,8 +37,13 @@ enum class TransportFormat
3637 */
3738struct ZipkinExporterOptions
3839{
39- // The endpoint to export to. By default the OpenTelemetry Collector's default endpoint.
40- std::string endpoint = GetDefaultZipkinEndpoint();
40+ // Lookup environment variables
41+ ZipkinExporterOptions () : endpoint(GetDefaultZipkinEndpoint()) {}
42+
43+ // No defaults
44+ ZipkinExporterOptions (void *) : endpoint(" " ) {}
45+
46+ std::string endpoint;
4147 TransportFormat format = TransportFormat::kJson ;
4248 std::string service_name = " default-service" ;
4349 std::string ipv4;
Original file line number Diff line number Diff line change 1+ // Copyright The OpenTelemetry Authors
2+ // SPDX-License-Identifier: Apache-2.0
3+
4+ #include < memory>
5+ #include < string>
6+ #include < utility>
7+
8+ #include " opentelemetry/exporters/zipkin/zipkin_builder.h"
9+ #include " opentelemetry/exporters/zipkin/zipkin_exporter_factory.h"
10+ #include " opentelemetry/exporters/zipkin/zipkin_exporter_options.h"
11+ #include " opentelemetry/sdk/configuration/registry.h"
12+ #include " opentelemetry/sdk/configuration/zipkin_span_exporter_builder.h"
13+ #include " opentelemetry/sdk/configuration/zipkin_span_exporter_configuration.h"
14+ #include " opentelemetry/sdk/trace/exporter.h"
15+ #include " opentelemetry/version.h"
16+
17+ OPENTELEMETRY_BEGIN_NAMESPACE
18+ namespace exporter
19+ {
20+ namespace zipkin
21+ {
22+
23+ void ZipkinBuilder::Register (opentelemetry::sdk::configuration::Registry *registry)
24+ {
25+ auto builder = std::make_unique<ZipkinBuilder>();
26+ registry->SetZipkinSpanBuilder (std::move (builder));
27+ }
28+
29+ std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> ZipkinBuilder::Build (
30+ const opentelemetry::sdk::configuration::ZipkinSpanExporterConfiguration *model) const
31+ {
32+ ZipkinExporterOptions options (nullptr );
33+
34+ options.endpoint = model->endpoint ;
35+
36+ return ZipkinExporterFactory::Create (options);
37+ }
38+
39+ } // namespace zipkin
40+ } // namespace exporter
41+ OPENTELEMETRY_END_NAMESPACE
You can’t perform that action at this time.
0 commit comments