Die OpenTelemetry-CPP-Testanwendung funktioniert, der gleiche Code in Projektzeiten, aber der gleiche CodeC++

Programme in C++. Entwicklerforum
Anonymous
 Die OpenTelemetry-CPP-Testanwendung funktioniert, der gleiche Code in Projektzeiten, aber der gleiche Code

Post by Anonymous »

Neu in OpenTelemetry-CPP, also habe ich eine kleine Test-App unter Ubuntu 22 geschrieben, um einen GRCP-Protokolldatensatz zu generieren und zu senden. Die App kompiliert und läuft aus, und Otel Collector -Protokolle zeigen, wie die Nachricht empfängt wird. Mit diesem Arbeiten portiere ich den Testcode - praktisch unverändert - in meine reale Anwendung (Teil eines großen Projekts) und führe ihn auf derselben Testmaschine aus, die auf denselben Sammler hinweist. Dieses Mal erhält der OTEL -Kollektor keine Datensätze, und das SDK -Fehlerprotokoll zeigt Timeouts: < /p>

Code: Select all

[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>
Ich habe einen langjährigen Zeitpunkt festgelegt, im selben Box ausgeführt, der gleiche Otel -Kollektor und die Test -App funktioniert, so unklar, was los ist. Hilfe geschätzt.  < /P>
Hier ist die Test -App -Quelle: < /p>

#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();
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post