У меня есть проблемы с составлением примера экспортера в пакетном экспортере журнала GRPC под Ubuntu 22, и я надеюсь получить некоторую помощь, указывающую на то, что не так в коде.cmake -DBUILD_TESTING=OFF -DWITH_EXAMPLES=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON -DWITH_OTLP_HTTP=ON -DWITH_OTLP_GRPC=ON -DWITH_ABI_VERSION_1=OFF -DWITH_ABI_VERSION_2=ON -DWITH_STL=CXX17 -DCMAKE_CXX_STANDARD=17 ..
< /code>
Программа тестирования: < /p>
#include
#include
#include
#include "opentelemetry/sdk/logs/batch_log_record_processor.h"
#include "opentelemetry/sdk/logs/logger_provider_factory.h"
#include "opentelemetry/sdk/logs/logger_provider.h"
#include "opentelemetry/logs/provider.h"
#include "opentelemetry/sdk/version/version.h"
#include "opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter_factory.h"
namespace api_logs = opentelemetry::logs;
namespace common = opentelemetry::common;
namespace otlp = opentelemetry::exporter::otlp;
namespace sdk_logs = opentelemetry::sdk::logs;
int main()
{
// exporter
otlp::OtlpGrpcLogRecordExporterOptions logger_opts_grpc;
logger_opts_grpc.endpoint = "localhost:4317"; // set collector endpoint
logger_opts_grpc.use_ssl_credentials = false; // true if TLS required
// processor
opentelemetry::sdk::logs::BatchLogRecordProcessorOptions batch_options;
batch_options.max_queue_size = 2048; // default: 2048
batch_options.schedule_delay_millis = std::chrono::milliseconds(500); // delay before forcing a flush
batch_options.max_export_batch_size = 512; // max logs per export
// build grpc log exporter, batch processor and provider
auto exporter = otlp::OtlpGrpcLogRecordExporterFactory::Create(logger_opts_grpc);
auto processor = std::make_unique(std::move(exporter), batch_options);
auto sdk_provider = sdk_logs::LoggerProviderFactory::Create(std::move(processor));
auto shared_provider = std::shared_ptr(std::move(sdk_provider));
// upcast shared_ptr to shared_ptr
std::shared_ptr provider = std::static_pointer_cast(shared_provider);
api_logs::Provider::SetLoggerProvider(provider);
// check
auto global_provider = api_logs::Provider::GetLoggerProvider();
std::cout
Ошибка призвана к Emitlogger; Это не нравится запись, которую я передаю: < /p>
In file included from /home/mandrews/downloads/github/opentelemetry-cpp/sdk/include/opentelemetry/sdk/logs/logger_provider.h:12,
from /home/mandrews/downloads/github/opentelemetry-cpp/sdk/include/opentelemetry/sdk/logs/logger_provider_factory.h:10,
from otel_test.cpp:6:
/home/mandrews/downloads/github/opentelemetry-cpp/api/include/opentelemetry/logs/logger.h: In instantiation of ‘void opentelemetry::v2::logs::Logger::EmitLogRecord(opentelemetry::v2::nostd::unique_ptr&&, ArgumentType&& ...) [with ArgumentType = {main()::}; opentelemetry::v2::nostd::unique_ptr = std::unique_ptr]’:
/home/mandrews/downloads/github/opentelemetry-cpp/api/include/opentelemetry/logs/logger.h:118:18: required from ‘void opentelemetry::v2::logs::Logger::EmitLogRecord(ArgumentType&& ...) [with ArgumentType = {main()::}]’
otel_test.cpp:53:23: required from here
/home/mandrews/downloads/github/opentelemetry-cpp/api/include/opentelemetry/logs/logger.h:88:98: error: no matching function for call to ‘opentelemetry::v2::logs::detail::LogRecordSetterTrait::Set(std::unique_ptr::pointer, main()::)’
88 | IgnoreTraitResult((detail::LogRecordSetterTrait::Set(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
89 | log_record.get(), std::forward(args)),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
< /code>
Это было закодировано в основном следуя фрагментам, которые я нашел в документах и в Интернете, и мне неясно, что я делаю не так. Тот же код компилизируется под VS2022, но с большим количеством предупреждений об emiterecord ()
Подробнее здесь: https://stackoverflow.com/questions/797 ... emitrecord
Простой пример сбоя экспортера журнала GRPC в emirecord () ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1753809805
Anonymous
У меня есть проблемы с составлением примера экспортера в пакетном экспортере журнала GRPC под Ubuntu 22, и я надеюсь получить некоторую помощь, указывающую на то, что не так в коде.cmake -DBUILD_TESTING=OFF -DWITH_EXAMPLES=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON -DWITH_OTLP_HTTP=ON -DWITH_OTLP_GRPC=ON -DWITH_ABI_VERSION_1=OFF -DWITH_ABI_VERSION_2=ON -DWITH_STL=CXX17 -DCMAKE_CXX_STANDARD=17 ..
< /code>
Программа тестирования: < /p>
#include
#include
#include
#include "opentelemetry/sdk/logs/batch_log_record_processor.h"
#include "opentelemetry/sdk/logs/logger_provider_factory.h"
#include "opentelemetry/sdk/logs/logger_provider.h"
#include "opentelemetry/logs/provider.h"
#include "opentelemetry/sdk/version/version.h"
#include "opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter_factory.h"
namespace api_logs = opentelemetry::logs;
namespace common = opentelemetry::common;
namespace otlp = opentelemetry::exporter::otlp;
namespace sdk_logs = opentelemetry::sdk::logs;
int main()
{
// exporter
otlp::OtlpGrpcLogRecordExporterOptions logger_opts_grpc;
logger_opts_grpc.endpoint = "localhost:4317"; // set collector endpoint
logger_opts_grpc.use_ssl_credentials = false; // true if TLS required
// processor
opentelemetry::sdk::logs::BatchLogRecordProcessorOptions batch_options;
batch_options.max_queue_size = 2048; // default: 2048
batch_options.schedule_delay_millis = std::chrono::milliseconds(500); // delay before forcing a flush
batch_options.max_export_batch_size = 512; // max logs per export
// build grpc log exporter, batch processor and provider
auto exporter = otlp::OtlpGrpcLogRecordExporterFactory::Create(logger_opts_grpc);
auto processor = std::make_unique(std::move(exporter), batch_options);
auto sdk_provider = sdk_logs::LoggerProviderFactory::Create(std::move(processor));
auto shared_provider = std::shared_ptr(std::move(sdk_provider));
// upcast shared_ptr to shared_ptr
std::shared_ptr provider = std::static_pointer_cast(shared_provider);
api_logs::Provider::SetLoggerProvider(provider);
// check
auto global_provider = api_logs::Provider::GetLoggerProvider();
std::cout
Ошибка призвана к Emitlogger; Это не нравится запись, которую я передаю: < /p>
In file included from /home/mandrews/downloads/github/opentelemetry-cpp/sdk/include/opentelemetry/sdk/logs/logger_provider.h:12,
from /home/mandrews/downloads/github/opentelemetry-cpp/sdk/include/opentelemetry/sdk/logs/logger_provider_factory.h:10,
from otel_test.cpp:6:
/home/mandrews/downloads/github/opentelemetry-cpp/api/include/opentelemetry/logs/logger.h: In instantiation of ‘void opentelemetry::v2::logs::Logger::EmitLogRecord(opentelemetry::v2::nostd::unique_ptr&&, ArgumentType&& ...) [with ArgumentType = {main()::}; opentelemetry::v2::nostd::unique_ptr = std::unique_ptr]’:
/home/mandrews/downloads/github/opentelemetry-cpp/api/include/opentelemetry/logs/logger.h:118:18: required from ‘void opentelemetry::v2::logs::Logger::EmitLogRecord(ArgumentType&& ...) [with ArgumentType = {main()::}]’
otel_test.cpp:53:23: required from here
/home/mandrews/downloads/github/opentelemetry-cpp/api/include/opentelemetry/logs/logger.h:88:98: error: no matching function for call to ‘opentelemetry::v2::logs::detail::LogRecordSetterTrait::Set(std::unique_ptr::pointer, main()::)’
88 | IgnoreTraitResult((detail::LogRecordSetterTrait::Set(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
89 | log_record.get(), std::forward(args)),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
< /code>
Это было закодировано в основном следуя фрагментам, которые я нашел в документах и в Интернете, и мне неясно, что я делаю не так. Тот же код компилизируется под VS2022, но с большим количеством предупреждений об emiterecord ()
Подробнее здесь: [url]https://stackoverflow.com/questions/79718847/simple-example-of-grpc-log-exporter-failing-in-emitrecord[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия