Skip to content

Commit

Permalink
remove resource_metrics, fully move to upstream testing
Browse files Browse the repository at this point in the history
  • Loading branch information
atoulme committed Jan 15, 2025
1 parent c3e6a70 commit 7156e6b
Show file tree
Hide file tree
Showing 13 changed files with 22 additions and 375 deletions.
51 changes: 1 addition & 50 deletions tests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ provides a set of integration tests and associated utilities. The general testi
is:

1. Building the Collector (`make otelcol` or `make all`)
1. Defining your expected [resource metric content](./testutils/README.md#resource-metrics) as a yaml file
([see example](testutils/telemetry/testdata/metrics/resource-metrics.yaml))
1. Defining [your expected golden file content as a yaml file](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/golden)
1. Spin up your target resources as [docker containers](./testutils/README.md#test-containers).
1. Stand up an in-memory [OTLP metrics receiver and sink](./testutils/README.md#otlp-metrics-receiver-sink) capable of detecting if/when desired data are received.
1. Spin up your Collector [as a subprocess](./testutils/README.md#collector-process) or [as a container](./testutils/README.md#collector-container) configured to report to this OTLP receiver.
Expand All @@ -17,51 +16,3 @@ is more useful overall.
**NOTE** At this time, integration tests generally target collector containers (`SPLUNK_OTEL_COLLECTOR_IMAGE` env var),
and test coverage for the subprocess is best effort only, unless the test cases explicitly maintain one.
The collector process targets are generally for test development without requiring frequent rebuilds of a local docker image.

```go
package example_test

import (
"context"
"path/filepath"
"testing"
"time"

"github.com/stretchr/testify/require"

"github.com/signalfx/splunk-otel-collector/tests/testutils"
"github.com/signalfx/splunk-otel-collector/tests/testutils/telemetry"
)

func TestMyExampleComponent(t *testing.T) {
expectedResourceMetrics, err := telemetry.LoadResourceMetrics(
filepath.Join(".", "testdata", "metrics", "my_resource_metrics.yaml"),
)
require.NoError(t, err)
require.NotNil(t, expectedResourceMetrics)

// combination OTLP Receiver, consumertests.MetricsSink, and consumertests.LogsSink
otlp, err := testutils.NewOTLPReceiverSink().WithEndpoint("localhost:23456").Build()
require.NoError(t, err)
require.NoError(t, otlp.Start())

defer func() {
require.NoError(t, otlp.Shutdown())
}()

myContainer := testutils.NewContainer().WithImage("someTarget").Build()
err = myContainer.Start(context.Background())
require.NoError(t, err)

// running collector subprocess that uses the provided config set to export OTLP to our test receiver
myCollector, err := testutils.NewCollectorProcess().WithConfigPath(filepath.Join(".", "testdata", "config.yaml")).Build()
require.NoError(t, err)
err = myCollector.Start()
require.NoError(t, err)
defer func() {
require.NoError(t, myCollector.Shutdown() )
}()

require.NoError(t, otlp.AssertAllMetricsReceived(t, *expectedResourceMetrics, 30*time.Second))
}
```
2 changes: 0 additions & 2 deletions tests/general/container_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,6 @@ func TestSpecifiedContainerConfigDefaultsToCmdLineArgIfEnvVarConflict(t *testing
return false
}
receivedOTLPMetrics := tc.OTLPReceiverSink.AllMetrics()
tc.OTLPReceiverSink.Reset()

for _, rom := range receivedOTLPMetrics {
for i := 0; i < rom.ResourceMetrics().Len(); i++ {
Expand Down Expand Up @@ -189,7 +188,6 @@ service:
return false
}
receivedOTLPMetrics := tc.OTLPReceiverSink.AllMetrics()
tc.OTLPReceiverSink.Reset()

for _, rom := range receivedOTLPMetrics {
for i := 0; i < rom.ResourceMetrics().Len(); i++ {
Expand Down

This file was deleted.

1 change: 0 additions & 1 deletion tests/general/dry_run_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@ service:
return false
}
receivedOTLPMetrics := tc.OTLPReceiverSink.AllMetrics()
tc.OTLPReceiverSink.Reset()

for _, rom := range receivedOTLPMetrics {
for i := 0; i < rom.ResourceMetrics().Len(); i++ {
Expand Down
12 changes: 0 additions & 12 deletions tests/receivers/scriptedinputs/script_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ func TestScriptReceiverCpu(t *testing.T) {
return
}
receivedOTLPLogs := tc.OTLPReceiverSink.AllLogs()
tc.OTLPReceiverSink.Reset()

lr := receivedOTLPLogs[0].ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
assert.Regexp(tt, regexp.MustCompile("CPU\\s+pctUser\\s+pctNice\\s+pctSystem\\s+pctIowait\\s+pctIdle\\nall(\\s*\\d{1,3}.\\d{1,3}){5}\\n0(\\s*\\d{1,3}.\\d{1,3}){5}"), lr.Body().Str())
Expand All @@ -62,7 +61,6 @@ func TestScriptReceiverDf(t *testing.T) {
return
}
receivedOTLPLogs := tc.OTLPReceiverSink.AllLogs()
tc.OTLPReceiverSink.Reset()

lr := receivedOTLPLogs[0].ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
fmt.Printf("Received log entry - \n%s", lr.Body().Str())
Expand All @@ -84,7 +82,6 @@ func TestScriptReceiverHardware(t *testing.T) {
return
}
receivedOTLPLogs := tc.OTLPReceiverSink.AllLogs()
tc.OTLPReceiverSink.Reset()

lr := receivedOTLPLogs[0].ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
assert.Regexp(tt, regexp.MustCompile("KEY\\s+VALUE"), lr.Body().Str())
Expand All @@ -105,7 +102,6 @@ func TestScriptReceiverInterfaces(t *testing.T) {
return
}
receivedOTLPLogs := tc.OTLPReceiverSink.AllLogs()
tc.OTLPReceiverSink.Reset()

lr := receivedOTLPLogs[0].ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
assert.Regexp(tt, regexp.MustCompile("Name\\s+MAC\\s+inetAddr\\s+inet6Addr\\s+Collisions\\s+RXbytes\\s+RXerrors\\s+RXdropped\\s+TXbytes\\s+TXerrors\\s+TXdropped\\s+Speed\\s+Duplex"), lr.Body().Str())
Expand All @@ -126,7 +122,6 @@ func TestScriptReceiverIostat(t *testing.T) {
return
}
receivedOTLPLogs := tc.OTLPReceiverSink.AllLogs()
tc.OTLPReceiverSink.Reset()

lr := receivedOTLPLogs[0].ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
assert.Regexp(tt, regexp.MustCompile("Device\\s+r/s\\s+rkB/s\\s+rrqm/s\\s+%rrqm\\s+r_await\\s+rareq-sz\\s+w/s\\s+wkB/s\\s+wrqm/s\\s+%wrqm\\s+w_await\\s+wareq-sz\\s+d/s\\s+dkB/s\\s+drqm/s\\s+%drqm\\s+d_await\\s+dareq-sz\\s+(f/s\\s+)?(f_await\\s+)?aqu-sz\\s+%util"), lr.Body().Str())
Expand All @@ -147,7 +142,6 @@ func TestScriptReceiverLsof(t *testing.T) {
return
}
receivedOTLPLogs := tc.OTLPReceiverSink.AllLogs()
tc.OTLPReceiverSink.Reset()

lr := receivedOTLPLogs[0].ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
assert.Regexp(tt, regexp.MustCompile("COMMAND\\s+PID\\s+USER\\s+FD\\s+TYPE\\s+DEVICE\\s+SIZE\\s+NODE\\s+NAME"), lr.Body().Str())
Expand All @@ -168,7 +162,6 @@ func TestScriptReceiverNetstat(t *testing.T) {
return
}
receivedOTLPLogs := tc.OTLPReceiverSink.AllLogs()
tc.OTLPReceiverSink.Reset()

lr := receivedOTLPLogs[0].ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
assert.Regexp(tt, regexp.MustCompile("Proto\\s+Recv-Q\\s+Send-Q\\s+LocalAddress\\s+ForeignAddress\\s+State"), lr.Body().Str())
Expand All @@ -189,7 +182,6 @@ func TestScriptReceiverOpenPorts(t *testing.T) {
return
}
receivedOTLPLogs := tc.OTLPReceiverSink.AllLogs()
tc.OTLPReceiverSink.Reset()

lr := receivedOTLPLogs[0].ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
assert.Regexp(tt, regexp.MustCompile("Proto\\s+Port"), lr.Body().Str())
Expand All @@ -210,7 +202,6 @@ func TestScriptReceiverPackage(t *testing.T) {
return
}
receivedOTLPLogs := tc.OTLPReceiverSink.AllLogs()
tc.OTLPReceiverSink.Reset()

lr := receivedOTLPLogs[0].ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
assert.Regexp(tt, regexp.MustCompile("NAME\\s+VERSION\\s+RELEASE\\s+ARCH\\s+VENDOR\\s+GROUP"), lr.Body().Str())
Expand All @@ -231,7 +222,6 @@ func TestScriptReceiverProtocol(t *testing.T) {
return
}
receivedOTLPLogs := tc.OTLPReceiverSink.AllLogs()
tc.OTLPReceiverSink.Reset()

lr := receivedOTLPLogs[0].ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
assert.Regexp(tt, regexp.MustCompile("IPdropped\\s+TCPrexmits\\s+TCPreorder\\s+TCPpktRecv\\s+TCPpktSent\\s+UDPpktLost\\s+UDPunkPort\\s+UDPpktRecv\\s+UDPpktSent"), lr.Body().Str())
Expand All @@ -252,7 +242,6 @@ func TestScriptReceiverPs(t *testing.T) {
return
}
receivedOTLPLogs := tc.OTLPReceiverSink.AllLogs()
tc.OTLPReceiverSink.Reset()

lr := receivedOTLPLogs[0].ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
assert.Regexp(tt, regexp.MustCompile("USER\\s+PID\\s+%CPU\\s+%MEM\\s+VSZ\\s+RSS\\s+TTY\\s+STAT\\s+START\\s+TIME\\s+COMMAND\\s+ARGS"), lr.Body().Str())
Expand All @@ -273,7 +262,6 @@ func TestScriptReceiverTop(t *testing.T) {
return
}
receivedOTLPLogs := tc.OTLPReceiverSink.AllLogs()
tc.OTLPReceiverSink.Reset()

lr := receivedOTLPLogs[0].ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0)
assert.Regexp(tt, regexp.MustCompile("PID\\s+USER\\s+PR\\s+NI\\s+VIRT\\s+RES\\s+SHR\\s+S\\s+pctCPU\\s+pctMEM\\s+cpuTIME\\s+COMMAND"), lr.Body().Str())
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

11 changes: 0 additions & 11 deletions tests/receivers/smartagent/jmx/testdata/resource_metrics/all.yaml

This file was deleted.

Loading

0 comments on commit 7156e6b

Please sign in to comment.