OpenTelemetry Bot d680729c09 [chore] Prepare release 0.90.0 (#29543) 1 rok pred
..
testdata cd92432fd2 [pkg/golden] internal/coreinternal/golden -> pkg/golden (#28636) 1 rok pred
Makefile cd92432fd2 [pkg/golden] internal/coreinternal/golden -> pkg/golden (#28636) 1 rok pred
README.md cd92432fd2 [pkg/golden] internal/coreinternal/golden -> pkg/golden (#28636) 1 rok pred
doc.go cd92432fd2 [pkg/golden] internal/coreinternal/golden -> pkg/golden (#28636) 1 rok pred
go.mod d680729c09 [chore] Prepare release 0.90.0 (#29543) 1 rok pred
go.sum 40b485f08a Update core for v0.90.0 release (#29539) 1 rok pred
golden.go f4c44858b5 [all][chore] Moved from interface{} to any for all go code (#29072) 1 rok pred
golden_test.go cd92432fd2 [pkg/golden] internal/coreinternal/golden -> pkg/golden (#28636) 1 rok pred
metadata.yaml cd92432fd2 [pkg/golden] internal/coreinternal/golden -> pkg/golden (#28636) 1 rok pred
normalize_timestamps.go cd92432fd2 [pkg/golden] internal/coreinternal/golden -> pkg/golden (#28636) 1 rok pred
normalize_timestamps_test.go cd92432fd2 [pkg/golden] internal/coreinternal/golden -> pkg/golden (#28636) 1 rok pred
sort_metrics.go cd92432fd2 [pkg/golden] internal/coreinternal/golden -> pkg/golden (#28636) 1 rok pred
sort_metrics_test.go cd92432fd2 [pkg/golden] internal/coreinternal/golden -> pkg/golden (#28636) 1 rok pred

README.md

golden

Status
Stability alpha: traces, metrics, logs
Issues Open issues Closed issues
Code Owners @djaglowski, @atoulme

The package golden provides utilities for reading and writing files with metrics, traces and logs in YAML format. The package is expected to be used with pkg/pdatatest module.

Generating an expected result file

The easiest way to capture the expected result in a file is golden.WriteMetrics or golden.WriteLogs.

When writing a new test:

  1. Write the test as if the expected file exists.
  2. Follow the steps below for updating an existing test.

When updating an existing test:

  1. Add a call to golden.WriteMetrics or golden.WriteLogs or in the appropriate place.
  2. Run the test once.
  3. Remove the call to golden.WriteMetrics or golden.WriteLogs.

NOTE: golden.WriteMetrics will always mark the test as failed. This behavior is necessary to ensure the function is removed after the golden file is written.

func TestScraper(t *testing.T) {
	cfg := createDefaultConfig().(*Config)
	require.NoError(t, component.ValidateConfig(cfg))

	scraper := newScraper(componenttest.NewNopReceiverCreateSettings(), cfg)

	err := scraper.start(context.Background(), componenttest.NewNopHost())
	require.NoError(t, err)

	actualMetrics, err := scraper.scrape(context.Background())
	require.NoError(t, err)

	expectedFile := filepath.Join("testdata", "scraper", "expected.yaml")

	golden.WriteMetrics(t, expectedFile, actualMetrics) // This line is temporary! TODO remove this!!

	expectedMetrics, err := golden.ReadMetrics(expectedFile)
	require.NoError(t, err)

	require.NoError(t, pmetrictest.CompareMetrics(expectedMetrics, actualMetrics))
}