mirror of
https://github.com/hanzoai/telemetry.git
synced 2026-10-30 20:01:49 +00:00
#### Description Continuation of https://github.com/open-telemetry/opentelemetry-collector/pull/11085. <!-- Issue number if applicable --> #### Link to tracking issue Fixes https://github.com/open-telemetry/opentelemetry-collector/issues/7047 --------- Co-authored-by: Tyler Helmuth <[email protected]> Co-authored-by: Evan Bradley <[email protected]>
60 lines
1.7 KiB
Go
60 lines
1.7 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package consumererror // import "go.opentelemetry.io/collector/consumer/consumererror"
|
|
|
|
import (
|
|
"go.opentelemetry.io/collector/consumer/consumererror/internal"
|
|
"go.opentelemetry.io/collector/pdata/plog"
|
|
"go.opentelemetry.io/collector/pdata/pmetric"
|
|
"go.opentelemetry.io/collector/pdata/ptrace"
|
|
)
|
|
|
|
// Traces is an error that may carry associated Trace data for a subset of received data
|
|
// that failed to be processed or sent.
|
|
type Traces struct {
|
|
internal.Retryable[ptrace.Traces]
|
|
}
|
|
|
|
// NewTraces creates a Traces that can encapsulate received data that failed to be processed or sent.
|
|
func NewTraces(err error, data ptrace.Traces) error {
|
|
return Traces{
|
|
Retryable: internal.Retryable[ptrace.Traces]{
|
|
Err: NewRetryableError(err),
|
|
Value: data,
|
|
},
|
|
}
|
|
}
|
|
|
|
// Logs is an error that may carry associated Log data for a subset of received data
|
|
// that failed to be processed or sent.
|
|
type Logs struct {
|
|
internal.Retryable[plog.Logs]
|
|
}
|
|
|
|
// NewLogs creates a Logs that can encapsulate received data that failed to be processed or sent.
|
|
func NewLogs(err error, data plog.Logs) error {
|
|
return Logs{
|
|
Retryable: internal.Retryable[plog.Logs]{
|
|
Err: NewRetryableError(err),
|
|
Value: data,
|
|
},
|
|
}
|
|
}
|
|
|
|
// Metrics is an error that may carry associated Metrics data for a subset of received data
|
|
// that failed to be processed or sent.
|
|
type Metrics struct {
|
|
internal.Retryable[pmetric.Metrics]
|
|
}
|
|
|
|
// NewMetrics creates a Metrics that can encapsulate received data that failed to be processed or sent.
|
|
func NewMetrics(err error, data pmetric.Metrics) error {
|
|
return Metrics{
|
|
Retryable: internal.Retryable[pmetric.Metrics]{
|
|
Err: NewRetryableError(err),
|
|
Value: data,
|
|
},
|
|
}
|
|
}
|