Summary
Create a development guide for the 7 exporter types and 3 transport layers, documenting how to create custom exporters, configure transports, and handle data format transformation.
Parent Issue
Part of: [EPIC] docs: Address documentation gaps across all ecosystem systems (kcenon/common_system#325)
Background (Why)
monitoring_system supports 7 exporter types across metric and trace exporters, with 3 transport layers. While the API reference documents individual classes, there is no guide explaining how the exporter pipeline works end-to-end, how to create custom exporters, or how to configure transport layers.
Source files:
include/kcenon/monitoring/exporters/metric_exporters.h — Prometheus, StatsD, InfluxDB, Graphite
include/kcenon/monitoring/exporters/trace_exporters.h — Jaeger, Zipkin, OTLP, Console
include/kcenon/monitoring/exporters/opentelemetry_adapter.h — OpenTelemetry adapter
include/kcenon/monitoring/exporters/otlp_grpc_exporter.h — OTLP via gRPC
include/kcenon/monitoring/exporters/http_transport.h — HTTP transport layer
include/kcenon/monitoring/exporters/grpc_transport.h — gRPC transport layer
include/kcenon/monitoring/exporters/udp_transport.h — UDP transport layer
Scope (What)
Create docs/guides/EXPORTER_DEVELOPMENT.md covering:
1. Exporter Architecture
- Export pipeline: metrics → serialization → transport → destination
- Metric exporters vs trace exporters
- Transport layer abstraction
- OpenTelemetry integration path
2. Built-in Exporters
| Exporter |
Protocol |
Format |
Transport |
Use Case |
| Prometheus |
HTTP pull |
OpenMetrics |
http_transport |
Standard monitoring |
| StatsD |
UDP push |
StatsD line |
udp_transport |
Legacy systems |
| InfluxDB |
HTTP push |
Line protocol |
http_transport |
Time-series DB |
| Graphite |
TCP push |
Plaintext |
TCP |
Legacy graphing |
| Jaeger |
HTTP/gRPC |
Thrift/Proto |
http/grpc |
Distributed tracing |
| Zipkin |
HTTP |
JSON |
http_transport |
Distributed tracing |
| OTLP |
gRPC |
Protobuf |
grpc_transport |
OpenTelemetry native |
| Console |
stdout |
Text |
N/A |
Development/debug |
3. Transport Layer
http_transport.h — Configuration, TLS, authentication
grpc_transport.h — Channel configuration, streaming
udp_transport.h — Datagram configuration, batching
4. Creating Custom Exporters
- Exporter interface implementation
- Data format transformation
- Error handling and retries
- Backpressure handling
- Buffering strategies
5. OpenTelemetry Integration
opentelemetry_adapter.h — Bridging to OTEL SDK
otlp_grpc_exporter.h — Direct OTLP export
- Collector sidecar pattern (see OTEL_COLLECTOR_SIDECAR.md)
6. Configuration Examples
- Prometheus endpoint setup
- OTLP gRPC export to collector
- Multi-exporter fan-out
Acceptance Criteria
Summary
Create a development guide for the 7 exporter types and 3 transport layers, documenting how to create custom exporters, configure transports, and handle data format transformation.
Parent Issue
Part of: [EPIC] docs: Address documentation gaps across all ecosystem systems (kcenon/common_system#325)
Background (Why)
monitoring_system supports 7 exporter types across metric and trace exporters, with 3 transport layers. While the API reference documents individual classes, there is no guide explaining how the exporter pipeline works end-to-end, how to create custom exporters, or how to configure transport layers.
Source files:
include/kcenon/monitoring/exporters/metric_exporters.h— Prometheus, StatsD, InfluxDB, Graphiteinclude/kcenon/monitoring/exporters/trace_exporters.h— Jaeger, Zipkin, OTLP, Consoleinclude/kcenon/monitoring/exporters/opentelemetry_adapter.h— OpenTelemetry adapterinclude/kcenon/monitoring/exporters/otlp_grpc_exporter.h— OTLP via gRPCinclude/kcenon/monitoring/exporters/http_transport.h— HTTP transport layerinclude/kcenon/monitoring/exporters/grpc_transport.h— gRPC transport layerinclude/kcenon/monitoring/exporters/udp_transport.h— UDP transport layerScope (What)
Create
docs/guides/EXPORTER_DEVELOPMENT.mdcovering:1. Exporter Architecture
2. Built-in Exporters
3. Transport Layer
http_transport.h— Configuration, TLS, authenticationgrpc_transport.h— Channel configuration, streamingudp_transport.h— Datagram configuration, batching4. Creating Custom Exporters
5. OpenTelemetry Integration
opentelemetry_adapter.h— Bridging to OTEL SDKotlp_grpc_exporter.h— Direct OTLP export6. Configuration Examples
Acceptance Criteria