Новичок в Opentelemetry-CPP, поэтому я написал небольшое тестовое приложение под Ubuntu 22, чтобы сгенерировать и отправить запись журнала GRCP. Приложение компилирует и запускается, а журналы OTEL Collector показывают получение сообщения. С помощью этой работы я переносил тестовый код - практически неизменен - в мое реальное приложение (часть большого проекта) и запускаю его на той же тестовой машине, указывающей на тот же коллекционер. На этот раз коллектор OTEL не получает записей, а журнал ошибок SDK показывает тайм -ауты: < /p>
[DEBUG] /home/mandrews/github/livewire/third-party/opentelemetry-cpp/sdk/src/logs/logger_provider.cc:40 - [LoggerProvider] LoggerProvider created.
[ERROR] /home/mandrews/github/livewire/third-party/opentelemetry-cpp/exporters/otlp/src/otlp_grpc_log_record_exporter.cc:184 - [OTLP LOG GRPC Exporter] Export() failed: Deadline Exceeded
[ERROR] /home/mandrews/github/livewire/third-party/opentelemetry-cpp/exporters/otlp/src/otlp_grpc_log_record_exporter.cc:184 - [OTLP LOG GRPC Exporter] Export() failed: Deadline Exceeded
[ERROR] /home/mandrews/github/livewire/third-party/opentelemetry-cpp/exporters/otlp/src/otlp_grpc_log_record_exporter.cc:184 - [OTLP LOG GRPC Exporter] Export() failed: Deadline Exceeded
[ERROR] /home/mandrews/github/livewire/third-party/opentelemetry-cpp/exporters/otlp/src/otlp_grpc_log_record_exporter.cc:184 - [OTLP LOG GRPC Exporter] Export() failed: Deadline Exceeded
[DEBUG] /home/mandrews/github/livewire/third-party/opentelemetry-cpp/exporters/otlp/src/otlp_grpc_client.cc:770 - [OTLP GRPC Client] DEBUG: OtlpGrpcClient start to shutdown
< /code>
Я установил длительный тайм -аут, работая на том же ящике, тот же сборщик OTEL, и тестовые приложения работают, поэтому неясно, что происходит. Помощь в центре внимания.
#include "opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter_factory.h"
#include "opentelemetry/logs/provider.h"
#include "opentelemetry/sdk/logs/batch_log_record_processor.h"
#include "opentelemetry/sdk/logs/logger_provider_factory.h"
namespace api_logs = opentelemetry::logs;
namespace common = opentelemetry::common;
namespace otlp = opentelemetry::exporter::otlp;
namespace sdk_logs = opentelemetry::sdk::logs;
namespace
{
std::unique_ptr exporter;
std::unique_ptr processor;
std::shared_ptr provider;
std::shared_ptr shared_provider;
opentelemetry::nostd::shared_ptr logger;
} // namespace
bool init()
{
// exporter options
otlp::OtlpGrpcLogRecordExporterOptions logger_opts_grpc;
const char* endpoint_env = std::getenv("OTEL_EXPORTER_OTLP_ENDPOINT");
logger_opts_grpc.endpoint = endpoint_env ? endpoint_env : "localhost:4317";
logger_opts_grpc.use_ssl_credentials = false; // true if TLS required
logger_opts_grpc.timeout = std::chrono::milliseconds(30'000);
// processor options
opentelemetry::sdk::logs::BatchLogRecordProcessorOptions batch_options;
batch_options.max_queue_size = 2048; // default: 2048
batch_options.schedule_delay_millis = std::chrono::milliseconds(1000); // delay before forcing a flush
batch_options.max_export_batch_size = 512; // max logs per export
// build grpc log exporter, batch processor and provider
exporter = otlp::OtlpGrpcLogRecordExporterFactory::Create(logger_opts_grpc);
if(!exporter)
{
std::cerr Shutdown();
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... -times-out
OpenTeLemetry-CPP тестовый приложение работает, но тот же код в Times Out Out Out ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение