mirror of
https://github.com/hanzoai/otel-collector.git
synced 2026-11-03 02:20:04 +00:00
- Go module: github.com/SigNoz/signoz-otel-collector → github.com/hanzoai/otel-collector - All signoz-prefixed packages → o11y-prefixed - Docker: signoz/* → ghcr.io/hanzoai/otel-collector - ClickHouse exporter → Hanzo Datastore - Env vars: SIGNOZ_* → HANZO_* - Directory renames for all processor/receiver/exporter packages
99 lines
2.2 KiB
Go
99 lines
2.2 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package o11ykafkaexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter"
|
|
|
|
import (
|
|
"github.com/Shopify/sarama"
|
|
"go.opentelemetry.io/collector/pdata/plog"
|
|
"go.opentelemetry.io/collector/pdata/pmetric"
|
|
"go.opentelemetry.io/collector/pdata/ptrace"
|
|
)
|
|
|
|
type pdataLogsMarshaler struct {
|
|
marshaler plog.Marshaler
|
|
encoding string
|
|
}
|
|
|
|
func (p pdataLogsMarshaler) Marshal(ld plog.Logs, topic string) ([]*sarama.ProducerMessage, error) {
|
|
bts, err := p.marshaler.MarshalLogs(ld)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return []*sarama.ProducerMessage{
|
|
{
|
|
Topic: topic,
|
|
Value: sarama.ByteEncoder(bts),
|
|
},
|
|
}, nil
|
|
}
|
|
|
|
func (p pdataLogsMarshaler) Encoding() string {
|
|
return p.encoding
|
|
}
|
|
|
|
func newPdataLogsMarshaler(marshaler plog.Marshaler, encoding string) LogsMarshaler {
|
|
return pdataLogsMarshaler{
|
|
marshaler: marshaler,
|
|
encoding: encoding,
|
|
}
|
|
}
|
|
|
|
type pdataMetricsMarshaler struct {
|
|
marshaler pmetric.Marshaler
|
|
encoding string
|
|
}
|
|
|
|
func (p pdataMetricsMarshaler) Marshal(ld pmetric.Metrics, topic string) ([]*sarama.ProducerMessage, error) {
|
|
bts, err := p.marshaler.MarshalMetrics(ld)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return []*sarama.ProducerMessage{
|
|
{
|
|
Topic: topic,
|
|
Value: sarama.ByteEncoder(bts),
|
|
},
|
|
}, nil
|
|
}
|
|
|
|
func (p pdataMetricsMarshaler) Encoding() string {
|
|
return p.encoding
|
|
}
|
|
|
|
func newPdataMetricsMarshaler(marshaler pmetric.Marshaler, encoding string) MetricsMarshaler {
|
|
return pdataMetricsMarshaler{
|
|
marshaler: marshaler,
|
|
encoding: encoding,
|
|
}
|
|
}
|
|
|
|
type pdataTracesMarshaler struct {
|
|
marshaler ptrace.Marshaler
|
|
encoding string
|
|
}
|
|
|
|
func (p pdataTracesMarshaler) Marshal(td ptrace.Traces, topic string) ([]*sarama.ProducerMessage, error) {
|
|
bts, err := p.marshaler.MarshalTraces(td)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return []*sarama.ProducerMessage{
|
|
{
|
|
Topic: topic,
|
|
Value: sarama.ByteEncoder(bts),
|
|
},
|
|
}, nil
|
|
}
|
|
|
|
func (p pdataTracesMarshaler) Encoding() string {
|
|
return p.encoding
|
|
}
|
|
|
|
func newPdataTracesMarshaler(marshaler ptrace.Marshaler, encoding string) TracesMarshaler {
|
|
return pdataTracesMarshaler{
|
|
marshaler: marshaler,
|
|
encoding: encoding,
|
|
}
|
|
}
|