Skip to content

Commit

Permalink
[chore] Enable goleak for tests failing on opencensus-go
Browse files Browse the repository at this point in the history
As described [here](open-telemetry#9165 (comment))
there are quite a few packages that directly or indirectly import the
OpenCensus stats package. Within the stats/view package there's an init()
function that starts goroutines that aren't cleaned up. This causes
goleak to fail. Since the failure is caused by OpenCensus, always
indirectly from what I can tell, and OpenCensus is now read-only,
I believe it's fair to ignore leaks caused by this dependency.
  • Loading branch information
crobert-1 committed Jan 4, 2024
1 parent 3673059 commit c28aa99
Show file tree
Hide file tree
Showing 25 changed files with 298 additions and 4 deletions.
3 changes: 2 additions & 1 deletion cmd/otelcorecol/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ go 1.20

require (
github.com/stretchr/testify v1.8.4
go.opentelemetry.io/collector v0.91.0
go.opentelemetry.io/collector/component v0.91.0
go.opentelemetry.io/collector/connector v0.91.0
go.opentelemetry.io/collector/connector/forwardconnector v0.91.0
Expand All @@ -23,6 +24,7 @@ require (
go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.91.0
go.opentelemetry.io/collector/receiver v0.91.0
go.opentelemetry.io/collector/receiver/otlpreceiver v0.91.0
go.uber.org/goleak v1.3.0
golang.org/x/sys v0.15.0
)

Expand Down Expand Up @@ -77,7 +79,6 @@ require (
github.com/tklauser/numcpus v0.6.1 // indirect
github.com/yusufpapurcu/wmi v1.2.3 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/collector v0.91.0 // indirect
go.opentelemetry.io/collector/config/configauth v0.91.0 // indirect
go.opentelemetry.io/collector/config/configcompression v0.91.0 // indirect
go.opentelemetry.io/collector/config/configgrpc v0.91.0 // indirect
Expand Down
1 change: 1 addition & 0 deletions cmd/otelcorecol/go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions cmd/otelcorecol/package_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package main

import (
"testing"

"go.uber.org/goleak"

"go.opentelemetry.io/collector/internal/testutil"
)

func TestMain(m *testing.M) {
goleak.VerifyTestMain(m, testutil.IgnoreOpenCensusWorkerLeak())
}
7 changes: 6 additions & 1 deletion exporter/debugexporter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ go 1.20

require (
github.com/stretchr/testify v1.8.4
go.opentelemetry.io/collector v0.91.0
go.opentelemetry.io/collector/component v0.91.0
go.opentelemetry.io/collector/config/configtelemetry v0.91.0
go.opentelemetry.io/collector/confmap v0.91.0
Expand All @@ -15,6 +16,8 @@ require (
require (
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/go-logr/logr v1.3.0 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/hashicorp/go-version v1.6.0 // indirect
Expand All @@ -29,14 +32,16 @@ require (
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/collector v0.91.0 // indirect
go.opentelemetry.io/collector/config/configretry v0.0.0-20231221085427-9027a8d9cc3f // indirect
go.opentelemetry.io/collector/consumer v0.91.0 // indirect
go.opentelemetry.io/collector/extension v0.91.0 // indirect
go.opentelemetry.io/collector/featuregate v1.0.0 // indirect
go.opentelemetry.io/collector/pdata v1.0.0 // indirect
go.opentelemetry.io/collector/receiver v0.91.0 // indirect
go.opentelemetry.io/contrib/config v0.1.1 // indirect
go.opentelemetry.io/otel v1.21.0 // indirect
go.opentelemetry.io/otel/sdk v1.21.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.26.0 // indirect
golang.org/x/net v0.19.0 // indirect
Expand Down
7 changes: 7 additions & 0 deletions exporter/debugexporter/go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions exporter/debugexporter/package_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package debugexporter

import (
"testing"

"go.uber.org/goleak"

"go.opentelemetry.io/collector/internal/testutil"
)

func TestMain(m *testing.M) {
goleak.VerifyTestMain(m, testutil.IgnoreOpenCensusWorkerLeak())
}
16 changes: 16 additions & 0 deletions exporter/exportertest/package_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package exportertest

import (
"testing"

"go.uber.org/goleak"

"go.opentelemetry.io/collector/internal/testutil"
)

func TestMain(m *testing.M) {
goleak.VerifyTestMain(m, testutil.IgnoreOpenCensusWorkerLeak())
}
16 changes: 16 additions & 0 deletions exporter/internal/common/package_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package common

import (
"testing"

"go.uber.org/goleak"

"go.opentelemetry.io/collector/internal/testutil"
)

func TestMain(m *testing.M) {
goleak.VerifyTestMain(m, testutil.IgnoreOpenCensusWorkerLeak())
}
7 changes: 6 additions & 1 deletion exporter/loggingexporter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ go 1.20

require (
github.com/stretchr/testify v1.8.4
go.opentelemetry.io/collector v0.91.0
go.opentelemetry.io/collector/component v0.91.0
go.opentelemetry.io/collector/config/configtelemetry v0.91.0
go.opentelemetry.io/collector/confmap v0.91.0
Expand All @@ -17,6 +18,8 @@ require (
require (
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/go-logr/logr v1.3.0 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/hashicorp/go-version v1.6.0 // indirect
Expand All @@ -31,14 +34,16 @@ require (
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/collector v0.91.0 // indirect
go.opentelemetry.io/collector/config/configretry v0.0.0-20231221085427-9027a8d9cc3f // indirect
go.opentelemetry.io/collector/consumer v0.91.0 // indirect
go.opentelemetry.io/collector/extension v0.91.0 // indirect
go.opentelemetry.io/collector/featuregate v1.0.0 // indirect
go.opentelemetry.io/collector/pdata v1.0.0 // indirect
go.opentelemetry.io/collector/receiver v0.91.0 // indirect
go.opentelemetry.io/contrib/config v0.1.1 // indirect
go.opentelemetry.io/otel v1.21.0 // indirect
go.opentelemetry.io/otel/sdk v1.21.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/sys v0.15.0 // indirect
Expand Down
7 changes: 7 additions & 0 deletions exporter/loggingexporter/go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions exporter/loggingexporter/package_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package loggingexporter

import (
"testing"

"go.uber.org/goleak"

"go.opentelemetry.io/collector/internal/testutil"
)

func TestMain(m *testing.M) {
goleak.VerifyTestMain(m, testutil.IgnoreOpenCensusWorkerLeak())
}
16 changes: 16 additions & 0 deletions exporter/otlpexporter/package_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package otlpexporter

import (
"testing"

"go.uber.org/goleak"

"go.opentelemetry.io/collector/internal/testutil"
)

func TestMain(m *testing.M) {
goleak.VerifyTestMain(m, testutil.IgnoreOpenCensusWorkerLeak())
}
16 changes: 16 additions & 0 deletions internal/obsreportconfig/package_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package obsreportconfig

import (
"testing"

"go.uber.org/goleak"

"go.opentelemetry.io/collector/internal/testutil"
)

func TestMain(m *testing.M) {
goleak.VerifyTestMain(m, testutil.IgnoreOpenCensusWorkerLeak())
}
16 changes: 16 additions & 0 deletions obsreport/obsreporttest/package_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package obsreporttest

import (
"testing"

"go.uber.org/goleak"

"go.opentelemetry.io/collector/internal/testutil"
)

func TestMain(m *testing.M) {
goleak.VerifyTestMain(m, testutil.IgnoreOpenCensusWorkerLeak())
}
2 changes: 1 addition & 1 deletion otelcol/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ go 1.20
require (
github.com/spf13/cobra v1.8.0
github.com/stretchr/testify v1.8.4
go.opentelemetry.io/collector v0.91.0
go.opentelemetry.io/collector/component v0.91.0
go.opentelemetry.io/collector/config/configtelemetry v0.91.0
go.opentelemetry.io/collector/confmap v0.91.0
Expand Down Expand Up @@ -66,7 +67,6 @@ require (
github.com/tklauser/numcpus v0.6.1 // indirect
github.com/yusufpapurcu/wmi v1.2.3 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/collector v0.91.0 // indirect
go.opentelemetry.io/collector/consumer v0.91.0 // indirect
go.opentelemetry.io/collector/pdata v1.0.0 // indirect
go.opentelemetry.io/collector/semconv v0.91.0 // indirect
Expand Down
16 changes: 16 additions & 0 deletions otelcol/otelcoltest/package_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package otelcoltest

import (
"testing"

"go.uber.org/goleak"

"go.opentelemetry.io/collector/internal/testutil"
)

func TestMain(m *testing.M) {
goleak.VerifyTestMain(m, testutil.IgnoreOpenCensusWorkerLeak())
}
16 changes: 16 additions & 0 deletions otelcol/package_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package otelcol

import (
"testing"

"go.uber.org/goleak"

"go.opentelemetry.io/collector/internal/testutil"
)

func TestMain(m *testing.M) {
goleak.VerifyTestMain(m, testutil.IgnoreOpenCensusWorkerLeak())
}
5 changes: 5 additions & 0 deletions processor/memorylimiterprocessor/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ require (

require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/go-logr/logr v1.3.0 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
Expand All @@ -40,7 +42,10 @@ require (
github.com/yusufpapurcu/wmi v1.2.3 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/collector/featuregate v1.0.0 // indirect
go.opentelemetry.io/contrib/config v0.1.1 // indirect
go.opentelemetry.io/otel v1.21.0 // indirect
go.opentelemetry.io/otel/sdk v1.21.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/sys v0.15.0 // indirect
Expand Down
7 changes: 7 additions & 0 deletions processor/memorylimiterprocessor/go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit c28aa99

Please sign in to comment.