mirror of
https://github.com/hanzoai/metrics.git
synced 2026-10-30 20:03:39 +00:00
Updates: - unpin AWS dependencies and run `make vendor-update` - add config options to enable checksums only if required by storage in order to preserve backwards compatibility Related issues: - https://github.com/VictoriaMetrics/VictoriaMetrics/issues/9748 - https://github.com/VictoriaMetrics/VictoriaMetrics/issues/8622 Tested with: AWS S3, self-hosted MinIO, Linode object storage as it was failing previously with multi-part uploads (reported here - https://github.com/VictoriaMetrics/VictoriaMetrics/pull/8630#issuecomment-2772185033). An updated library allows (PR with the fix - https://github.com/aws/aws-sdk-go-v2/pull/3151) overriding multi-part upload configurations so that compatibility can be preserved. Signed-off-by: Zakhar Bessarab <[email protected]>
32 lines
943 B
Go
32 lines
943 B
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package plog // import "go.opentelemetry.io/collector/pdata/plog"
|
|
|
|
// MarshalSizer is the interface that groups the basic Marshal and Size methods
|
|
type MarshalSizer interface {
|
|
Marshaler
|
|
Sizer
|
|
}
|
|
|
|
// Marshaler marshals Logs into bytes.
|
|
type Marshaler interface {
|
|
// MarshalLogs the given Logs into bytes.
|
|
// If the error is not nil, the returned bytes slice cannot be used.
|
|
MarshalLogs(ld Logs) ([]byte, error)
|
|
}
|
|
|
|
// Unmarshaler unmarshalls bytes into Logs.
|
|
type Unmarshaler interface {
|
|
// UnmarshalLogs the given bytes into Logs.
|
|
// If the error is not nil, the returned Logs cannot be used.
|
|
UnmarshalLogs(buf []byte) (Logs, error)
|
|
}
|
|
|
|
// Sizer is an optional interface implemented by the Marshaler,
|
|
// that calculates the size of a marshaled Logs.
|
|
type Sizer interface {
|
|
// LogsSize returns the size in bytes of a marshaled Logs.
|
|
LogsSize(ld Logs) int
|
|
}
|