mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-08-02 15:02:50 +02:00
batch tracing spans instead of sending them all individually
This commit is contained in:
parent
06bc1e5e6b
commit
5329326591
1 changed files with 9 additions and 2 deletions
|
@ -10,6 +10,7 @@
|
||||||
* of this software will be governed by version 2.0 of the Apache License.
|
* of this software will be governed by version 2.0 of the Apache License.
|
||||||
*/
|
*/
|
||||||
/****/
|
/****/
|
||||||
|
#define ZT_OPENTELEMETRY_ENABLED 1
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <condition_variable>
|
#include <condition_variable>
|
||||||
|
@ -60,6 +61,7 @@
|
||||||
#include <cpp-httplib/httplib.h>
|
#include <cpp-httplib/httplib.h>
|
||||||
|
|
||||||
#ifdef ZT_OPENTELEMETRY_ENABLED
|
#ifdef ZT_OPENTELEMETRY_ENABLED
|
||||||
|
#include "opentelemetry/exporters/memory/in_memory_data.h"
|
||||||
#include "opentelemetry/exporters/otlp/otlp_grpc_exporter.h"
|
#include "opentelemetry/exporters/otlp/otlp_grpc_exporter.h"
|
||||||
#include "opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter.h"
|
#include "opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter.h"
|
||||||
#include "opentelemetry/exporters/otlp/otlp_grpc_metric_exporter.h"
|
#include "opentelemetry/exporters/otlp/otlp_grpc_metric_exporter.h"
|
||||||
|
@ -68,10 +70,11 @@
|
||||||
#include "opentelemetry/sdk/metrics/metric_reader.h"
|
#include "opentelemetry/sdk/metrics/metric_reader.h"
|
||||||
#include "opentelemetry/sdk/metrics/provider.h"
|
#include "opentelemetry/sdk/metrics/provider.h"
|
||||||
#include "opentelemetry/sdk/resource/resource.h"
|
#include "opentelemetry/sdk/resource/resource.h"
|
||||||
|
#include "opentelemetry/sdk/trace/batch_span_processor.h"
|
||||||
|
#include "opentelemetry/sdk/trace/batch_span_processor_options.h"
|
||||||
#include "opentelemetry/sdk/trace/processor.h"
|
#include "opentelemetry/sdk/trace/processor.h"
|
||||||
#include "opentelemetry/sdk/trace/provider.h"
|
#include "opentelemetry/sdk/trace/provider.h"
|
||||||
#include "opentelemetry/sdk/trace/samplers/trace_id_ratio.h"
|
#include "opentelemetry/sdk/trace/samplers/trace_id_ratio.h"
|
||||||
#include "opentelemetry/sdk/trace/simple_processor.h"
|
|
||||||
#include "opentelemetry/sdk/trace/tracer.h"
|
#include "opentelemetry/sdk/trace/tracer.h"
|
||||||
#include "opentelemetry/sdk/trace/tracer_context.h"
|
#include "opentelemetry/sdk/trace/tracer_context.h"
|
||||||
#include "opentelemetry/sdk/trace/tracer_provider.h"
|
#include "opentelemetry/sdk/trace/tracer_provider.h"
|
||||||
|
@ -1065,7 +1068,11 @@ class OneServiceImpl : public OneService {
|
||||||
opentelemetry::v1::exporter::otlp::OtlpGrpcExporterOptions opts;
|
opentelemetry::v1::exporter::otlp::OtlpGrpcExporterOptions opts;
|
||||||
opts.endpoint = _exporterEndpoint + "/v1/traces";
|
opts.endpoint = _exporterEndpoint + "/v1/traces";
|
||||||
auto exporter = std::unique_ptr<opentelemetry::exporter::otlp::OtlpGrpcExporter>(new opentelemetry::exporter::otlp::OtlpGrpcExporter(opts));
|
auto exporter = std::unique_ptr<opentelemetry::exporter::otlp::OtlpGrpcExporter>(new opentelemetry::exporter::otlp::OtlpGrpcExporter(opts));
|
||||||
auto processor = std::unique_ptr<sdktrace::SpanProcessor>(new sdktrace::SimpleSpanProcessor(std::move(exporter)));
|
|
||||||
|
sdktrace::BatchSpanProcessorOptions batch_options {};
|
||||||
|
batch_options.schedule_delay_millis = std::chrono::milliseconds(5000); // 5 seconds
|
||||||
|
|
||||||
|
auto processor = std::unique_ptr<sdktrace::SpanProcessor>(new sdktrace::BatchSpanProcessor(std::move(exporter), batch_options));
|
||||||
auto processors = std::vector<std::unique_ptr<sdktrace::SpanProcessor> >();
|
auto processors = std::vector<std::unique_ptr<sdktrace::SpanProcessor> >();
|
||||||
processors.push_back(std::move(processor));
|
processors.push_back(std::move(processor));
|
||||||
char buf[256];
|
char buf[256];
|
||||||
|
|
Loading…
Add table
Reference in a new issue