Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
trace_exporters.h File Reference

Trace data exporters for various distributed tracing systems. More...

#include "../core/result_types.h"
#include "../core/error_codes.h"
#include "../tracing/distributed_tracer.h"
#include "opentelemetry_adapter.h"
#include "http_transport.h"
#include "grpc_transport.h"
#include <vector>
#include <string>
#include <memory>
#include <chrono>
#include <optional>
#include <functional>
#include <atomic>
#include <algorithm>
#include <unordered_map>
#include <sstream>
#include <iomanip>
#include <cmath>
#include <thread>
Include dependency graph for trace_exporters.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::monitoring::trace_export_config
 Configuration for trace exporters. More...
 
struct  kcenon::monitoring::jaeger_span_data
 Jaeger-specific span representation. More...
 
struct  kcenon::monitoring::zipkin_span_data
 Zipkin-specific span representation. More...
 
class  kcenon::monitoring::trace_exporter_interface
 Abstract interface for trace exporters. More...
 
class  kcenon::monitoring::jaeger_exporter
 Jaeger trace exporter implementation. More...
 
class  kcenon::monitoring::zipkin_exporter
 Zipkin trace exporter implementation. More...
 
class  kcenon::monitoring::otlp_exporter
 OpenTelemetry Protocol (OTLP) trace exporter implementation. More...
 
class  kcenon::monitoring::trace_exporter_factory
 Factory for creating trace exporters. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::monitoring
 

Enumerations

enum class  kcenon::monitoring::trace_export_format {
  kcenon::monitoring::jaeger_thrift , kcenon::monitoring::jaeger_grpc , kcenon::monitoring::zipkin_json , kcenon::monitoring::zipkin_protobuf ,
  kcenon::monitoring::otlp_grpc , kcenon::monitoring::otlp_http_json , kcenon::monitoring::otlp_http_protobuf
}
 Supported trace export formats. More...
 

Functions

std::unique_ptr< jaeger_exporterkcenon::monitoring::create_jaeger_exporter (const std::string &endpoint, trace_export_format format=trace_export_format::jaeger_grpc)
 Helper function to create a Jaeger exporter.
 
std::unique_ptr< zipkin_exporterkcenon::monitoring::create_zipkin_exporter (const std::string &endpoint, trace_export_format format=trace_export_format::zipkin_json)
 Helper function to create a Zipkin exporter.
 
std::unique_ptr< otlp_exporterkcenon::monitoring::create_otlp_exporter (const std::string &endpoint, const otel_resource &resource, trace_export_format format=trace_export_format::otlp_grpc)
 Helper function to create an OTLP exporter.
 

Detailed Description

Trace data exporters for various distributed tracing systems.

This file provides exporters for popular distributed tracing systems:

  • Jaeger (Uber's distributed tracing system)
  • Zipkin (Twitter's distributed tracing system)
  • OTLP (OpenTelemetry Protocol)

Each exporter handles format conversion and network transmission to the respective tracing backend.

Definition in file trace_exporters.h.