mirror of
https://github.com/hanzoai/metrics.git
synced 2026-10-30 20:03:39 +00:00
45 lines
1.0 KiB
Go
45 lines
1.0 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package plog // import "go.opentelemetry.io/collector/pdata/plog"
|
|
|
|
var _ MarshalSizer = (*ProtoMarshaler)(nil)
|
|
|
|
type ProtoMarshaler struct{}
|
|
|
|
func (e *ProtoMarshaler) MarshalLogs(ld Logs) ([]byte, error) {
|
|
size := ld.getOrig().SizeProto()
|
|
buf := make([]byte, size)
|
|
_ = ld.getOrig().MarshalProto(buf)
|
|
return buf, nil
|
|
}
|
|
|
|
func (e *ProtoMarshaler) LogsSize(ld Logs) int {
|
|
return ld.getOrig().SizeProto()
|
|
}
|
|
|
|
func (e *ProtoMarshaler) ResourceLogsSize(ld ResourceLogs) int {
|
|
return ld.orig.SizeProto()
|
|
}
|
|
|
|
func (e *ProtoMarshaler) ScopeLogsSize(ld ScopeLogs) int {
|
|
return ld.orig.SizeProto()
|
|
}
|
|
|
|
func (e *ProtoMarshaler) LogRecordSize(ld LogRecord) int {
|
|
return ld.orig.SizeProto()
|
|
}
|
|
|
|
var _ Unmarshaler = (*ProtoUnmarshaler)(nil)
|
|
|
|
type ProtoUnmarshaler struct{}
|
|
|
|
func (d *ProtoUnmarshaler) UnmarshalLogs(buf []byte) (Logs, error) {
|
|
ld := NewLogs()
|
|
err := ld.getOrig().UnmarshalProto(buf)
|
|
if err != nil {
|
|
return Logs{}, err
|
|
}
|
|
return ld, nil
|
|
}
|