mirror of
https://github.com/hanzoai/telemetry.git
synced 2026-10-30 20:01:49 +00:00
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description <!-- Issue number if applicable --> #### Link to tracking issue Fixes # <!--Describe what testing was performed and which tests were added.--> #### Testing <!--Describe the documentation added.--> #### Documentation <!--Please delete paragraphs that you did not use before submitting.--> Signed-off-by: Bogdan Drutu <[email protected]> Co-authored-by: Alex Boten <[email protected]>
39 lines
1.3 KiB
Go
39 lines
1.3 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package pref // import "go.opentelemetry.io/collector/pdata/xpdata/pref"
|
|
|
|
import (
|
|
"reflect"
|
|
|
|
"go.opentelemetry.io/collector/pdata/internal"
|
|
pmetadata "go.opentelemetry.io/collector/pdata/internal/metadata"
|
|
"go.opentelemetry.io/collector/pdata/plog"
|
|
)
|
|
|
|
// MarkPipelineOwnedLogs marks the plog.Logs data as owned by the pipeline, returns true if the data were
|
|
// previously not owned by the pipeline, otherwise false.
|
|
func MarkPipelineOwnedLogs(ld plog.Logs) bool {
|
|
return internal.GetLogsState(internal.LogsWrapper(ld)).MarkPipelineOwned()
|
|
}
|
|
|
|
func RefLogs(ld plog.Logs) {
|
|
internal.GetLogsState(internal.LogsWrapper(ld)).Ref()
|
|
}
|
|
|
|
func UnrefLogs(ld plog.Logs) {
|
|
if !internal.GetLogsState(internal.LogsWrapper(ld)).Unref() {
|
|
return
|
|
}
|
|
// Don't call DeleteExportLogsServiceRequest without the gate because we reset the data and that may still cause issues.
|
|
if pmetadata.PdataUseProtoPoolingFeatureGate.IsEnabled() {
|
|
internal.DeleteExportLogsServiceRequest(internal.GetLogsOrig(internal.LogsWrapper(ld)), true)
|
|
}
|
|
}
|
|
|
|
// TODO: Generate this in pdata.
|
|
|
|
func EqualLogs(ld1, ld2 plog.Logs) bool {
|
|
return reflect.DeepEqual(internal.GetLogsOrig(internal.LogsWrapper(ld1)), internal.GetLogsOrig(internal.LogsWrapper(ld2)))
|
|
}
|