Files
1a30d986a4 Remove usage of the PdataEnableRefCountingFeatureGate, since is stable cannot be changed (#15336)
<!--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]>
2026-05-22 04:42:24 +00:00

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)))
}