| 121 | }; |
| 122 | |
| 123 | std::unique_ptr<sdktrace::SpanExporter> InitializeExporter() { |
| 124 | auto maybe_env_var = arrow::internal::GetEnvVar(kTracingBackendEnvVar); |
| 125 | if (maybe_env_var.ok()) { |
| 126 | auto env_var = maybe_env_var.ValueOrDie(); |
| 127 | if (env_var == "ostream") { |
| 128 | return std::make_unique<otel::exporter::trace::OStreamSpanExporter>(); |
| 129 | } else if (env_var == "otlp_http") { |
| 130 | namespace otlp = opentelemetry::exporter::otlp; |
| 131 | otlp::OtlpHttpExporterOptions opts; |
| 132 | return std::make_unique<otlp::OtlpHttpExporter>(opts); |
| 133 | } else if (env_var == "arrow_otlp_stdout") { |
| 134 | return std::make_unique<OtlpOStreamExporter>(&std::cout); |
| 135 | } else if (env_var == "arrow_otlp_stderr") { |
| 136 | return std::make_unique<OtlpOStreamExporter>(&std::cerr); |
| 137 | } else if (!env_var.empty()) { |
| 138 | ARROW_LOG(WARNING) << "Requested unknown backend " << kTracingBackendEnvVar << "=" |
| 139 | << env_var; |
| 140 | } |
| 141 | } |
| 142 | return nullptr; |
| 143 | } |
| 144 | |
| 145 | struct StorageSingleton : public Executor::Resource { |
| 146 | StorageSingleton() |
no test coverage detected