This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new cb06e67fba [fix](tracing) Fix opentelemetry log output to be.out (#11856) cb06e67fba is described below commit cb06e67fbaceb63884f50d9d0f0661f12a550b2a Author: luozenglin <37725793+luozeng...@users.noreply.github.com> AuthorDate: Sun Sep 18 17:40:23 2022 +0800 [fix](tracing) Fix opentelemetry log output to be.out (#11856) --- be/src/util/telemetry/telemetry.cpp | 18 ++++++++++++++++++ thirdparty/patches/opentelemetry-cpp-1.4.0.patch | 9 +++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/be/src/util/telemetry/telemetry.cpp b/be/src/util/telemetry/telemetry.cpp index b6301862a4..44904355f4 100644 --- a/be/src/util/telemetry/telemetry.cpp +++ b/be/src/util/telemetry/telemetry.cpp @@ -26,6 +26,8 @@ #include "opentelemetry/exporters/otlp/otlp_http_exporter.h" #include "opentelemetry/exporters/zipkin/zipkin_exporter.h" #include "opentelemetry/nostd/shared_ptr.h" +#include "opentelemetry/sdk/common/attribute_utils.h" +#include "opentelemetry/sdk/common/global_log_handler.h" #include "opentelemetry/sdk/trace/batch_span_processor.h" #include "opentelemetry/sdk/trace/tracer_provider.h" #include "opentelemetry/trace/propagation/http_trace_context.h" @@ -38,6 +40,18 @@ namespace zipkin = opentelemetry::exporter::zipkin; namespace resource = opentelemetry::sdk::resource; namespace propagation = opentelemetry::context::propagation; namespace otlp = opentelemetry::exporter::otlp; +namespace internal_log = opentelemetry::sdk::common::internal_log; + +class OpenTelemetryLogHandler : public internal_log::LogHandler { +public: + void Handle(internal_log::LogLevel level, const char* file, int line, const char* msg, + const opentelemetry::sdk::common::AttributeMap& attributes) noexcept override { + if ((level == internal_log::LogLevel::Error || level == internal_log::LogLevel::Warning) && + file != nullptr && msg != nullptr) { + LOG(WARNING) << fmt::format("OpenTelemetry File: {}:{} {}", file, line, msg); + } + } +}; void doris::telemetry::init_tracer() { if (!doris::config::enable_tracing) { @@ -82,4 +96,8 @@ void doris::telemetry::init_tracer() { propagation::GlobalTextMapPropagator::SetGlobalPropagator( nostd::shared_ptr<propagation::TextMapPropagator>( new opentelemetry::trace::propagation::HttpTraceContext())); + + // Output OpenTelemetry logs by glog + internal_log::GlobalLogHandler::SetLogHandler( + nostd::shared_ptr<internal_log::LogHandler>(new OpenTelemetryLogHandler())); } diff --git a/thirdparty/patches/opentelemetry-cpp-1.4.0.patch b/thirdparty/patches/opentelemetry-cpp-1.4.0.patch index 6317c60bf3..47b16b6928 100644 --- a/thirdparty/patches/opentelemetry-cpp-1.4.0.patch +++ b/thirdparty/patches/opentelemetry-cpp-1.4.0.patch @@ -301,14 +301,15 @@ index ecd6dab..1aaa220 100644 } // namespace sdk diff --git a/sdk/src/common/threadlocal.cc b/sdk/src/common/threadlocal.cc new file mode 100644 -index 0000000..1f8b6b1 +index 0000000..ec2038b --- /dev/null +++ b/sdk/src/common/threadlocal.cc -@@ -0,0 +1,82 @@ +@@ -0,0 +1,83 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include <opentelemetry/common/threadlocal.h> ++#include "opentelemetry/sdk/common/global_log_handler.h" + +#include <pthread.h> +#include <memory> @@ -360,7 +361,7 @@ index 0000000..1f8b6b1 + std::stringstream ss; + ss << "[thread local] pthread_key_create() failed, cannot add destructor to thread: " + << "error " << ret; -+ fprintf(stderr, "%s\n", ss.str().c_str()); ++ OTEL_INTERNAL_LOG_ERROR(ss.str()); + } +} + @@ -382,7 +383,7 @@ index 0000000..1f8b6b1 + std::stringstream ss; + ss << "[thread local] pthread_setspecific() failed, cannot update destructor list: " + << "error " << ret; -+ fprintf(stderr, "%s\n", ss.str().c_str()); ++ OTEL_INTERNAL_LOG_ERROR(ss.str()); + } +} +} // namespace internal_threadlocal --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org