exporter/kafkaexporter/internal/marshaler/pdata_marshaler.go (50 lines of code) (raw):

// Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 package marshaler // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter/internal/marshaler" import ( "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" ) var ( _ LogsMarshaler = pdataLogsMarshaler{} _ MetricsMarshaler = pdataMetricsMarshaler{} _ TracesMarshaler = pdataTracesMarshaler{} ) type pdataLogsMarshaler struct { marshaler plog.Marshaler } // NewPdataLogsMarshaler returns a new LogsMarshaler that marshals // plog.Logs using the given plog.Marshaler. This can be used with // the standard OTLP marshalers in the plog package, or with encoding // extensions. func NewPdataLogsMarshaler(m plog.Marshaler) LogsMarshaler { return pdataLogsMarshaler{marshaler: m} } func (p pdataLogsMarshaler) MarshalLogs(ld plog.Logs) ([]Message, error) { bts, err := p.marshaler.MarshalLogs(ld) if err != nil { return nil, err } return []Message{{Value: bts}}, nil } type pdataMetricsMarshaler struct { marshaler pmetric.Marshaler } // NewPdataMetricsMarshaler returns a new MetricsMarshaler that marshals // pmetric.Metrics using the given pmetric.Marshaler. This can be used // with the standard OTLP marshalers in the pmetric package, or with // encoding extensions. func NewPdataMetricsMarshaler(m pmetric.Marshaler) MetricsMarshaler { return pdataMetricsMarshaler{marshaler: m} } func (p pdataMetricsMarshaler) MarshalMetrics(ld pmetric.Metrics) ([]Message, error) { bts, err := p.marshaler.MarshalMetrics(ld) if err != nil { return nil, err } return []Message{{Value: bts}}, nil } type pdataTracesMarshaler struct { marshaler ptrace.Marshaler } // NewPdataTracesMarshaler returns a new TracesMarshaler that marshals // ptrace.Traces using the given ptrace.Marshaler. This can be used // with the standard OTLP marshalers in the ptrace package, or with // encoding extensions. func NewPdataTracesMarshaler(m ptrace.Marshaler) TracesMarshaler { return pdataTracesMarshaler{marshaler: m} } func (p pdataTracesMarshaler) MarshalTraces(td ptrace.Traces) ([]Message, error) { bts, err := p.marshaler.MarshalTraces(td) if err != nil { return nil, err } return []Message{{Value: bts}}, nil }