Skip to content

Commit 42aff30

Browse files
asreehari-splunkdmitryax
authored andcommitted
Remove access_token_passthrough from sapmreceiver (open-telemetry#35972)
#### Description Remove the use access_token_passthrough from sapmreceiver after deprecation --------- Co-authored-by: Dmitrii Anoshin <[email protected]>
1 parent 0283f45 commit 42aff30

File tree

9 files changed

+32
-137
lines changed

9 files changed

+32
-137
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Use this changelog template to create an entry for release notes.
2+
3+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
4+
change_type: breaking
5+
6+
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
7+
component: sapmreceiver
8+
9+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
10+
note: "Remove the deprecated access_token_passthrough from SAPM receiver."
11+
12+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
13+
issues: [35972]
14+
15+
# (Optional) One or more lines of additional information to render under the primary note.
16+
# These lines will be padded with 2 spaces and then inserted directly into the document.
17+
# Use pipe (|) for multiline entries.
18+
subtext: |
19+
Please use `include_metadata` instead with the following config option applied to the batch processor:
20+
batch:
21+
metadata_keys: [X-Sf-Token]
22+
23+
# If your change doesn't affect end users or the exported elements of any package,
24+
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label.
25+
# Optional: The change log or logs in which this entry should be included.
26+
# e.g. '[user]' or '[user, api]'
27+
# Include 'user' if the change is relevant to end users.
28+
# Include 'api' if there is a change to a library API.
29+
# Default: '[user]'
30+
change_logs: []

receiver/sapmreceiver/config.go

-8
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,9 @@ package sapmreceiver // import "github.com/open-telemetry/opentelemetry-collecto
55

66
import (
77
"go.opentelemetry.io/collector/config/confighttp"
8-
9-
"github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk"
108
)
119

1210
// Config defines configuration for SAPM receiver.
1311
type Config struct {
1412
confighttp.ServerConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct
15-
16-
// Deprecated: `access_token_passthrough` is deprecated.
17-
// Please enable include_metadata in the receiver and add the following config to the batch processor:
18-
// batch:
19-
// metadata_keys: [X-Sf-Token]
20-
splunk.AccessTokenPassthroughConfig `mapstructure:",squash"`
2113
}

receiver/sapmreceiver/config_test.go

-12
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import (
1414
"go.opentelemetry.io/collector/config/configtls"
1515
"go.opentelemetry.io/collector/confmap/confmaptest"
1616

17-
"github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk"
1817
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver/internal/metadata"
1918
)
2019

@@ -54,17 +53,6 @@ func TestLoadConfig(t *testing.T) {
5453
},
5554
},
5655
},
57-
{
58-
id: component.NewIDWithName(metadata.Type, "passthrough"),
59-
expected: &Config{
60-
ServerConfig: confighttp.ServerConfig{
61-
Endpoint: "localhost:7276",
62-
},
63-
AccessTokenPassthroughConfig: splunk.AccessTokenPassthroughConfig{
64-
AccessTokenPassthrough: true,
65-
},
66-
},
67-
},
6856
}
6957

7058
for _, tt := range tests {

receiver/sapmreceiver/go.mod

-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ require (
88
github.com/klauspost/compress v1.17.11
99
github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0
1010
github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0
11-
github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.112.0
1211
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.112.0
1312
github.com/signalfx/sapm-proto v0.16.0
1413
github.com/stretchr/testify v1.9.0
@@ -29,7 +28,6 @@ require (
2928

3029
require (
3130
github.com/apache/thrift v0.21.0 // indirect
32-
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
3331
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
3432
github.com/felixge/httpsnoop v1.0.4 // indirect
3533
github.com/fsnotify/fsnotify v1.7.0 // indirect
@@ -56,14 +54,11 @@ require (
5654
go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect
5755
go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect
5856
go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect
59-
go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect
6057
go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect
6158
go.opentelemetry.io/collector/config/internal v0.112.0 // indirect
6259
go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect
63-
go.opentelemetry.io/collector/exporter v0.112.0 // indirect
6460
go.opentelemetry.io/collector/extension v0.112.0 // indirect
6561
go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect
66-
go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect
6762
go.opentelemetry.io/collector/featuregate v1.18.0 // indirect
6863
go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect
6964
go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect
@@ -84,8 +79,6 @@ require (
8479
gopkg.in/yaml.v3 v3.0.1 // indirect
8580
)
8681

87-
replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk => ../../internal/splunk
88-
8982
replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger => ../../pkg/translator/jaeger
9083

9184
replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/common => ../../internal/common

receiver/sapmreceiver/go.sum

-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/sapmreceiver/trace_receiver.go

+1-21
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
"go.opentelemetry.io/collector/receiver/receiverhelper"
2424

2525
"github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/errorutil"
26-
"github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk"
2726
"github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger"
2827
)
2928

@@ -66,17 +65,6 @@ func (sr *sapmReceiver) handleRequest(req *http.Request) error {
6665
return err
6766
}
6867

69-
if sr.config.AccessTokenPassthrough {
70-
if accessToken := req.Header.Get(splunk.SFxAccessTokenHeader); accessToken != "" {
71-
rSpans := td.ResourceSpans()
72-
for i := 0; i < rSpans.Len(); i++ {
73-
rSpan := rSpans.At(i)
74-
attrs := rSpan.Resource().Attributes()
75-
attrs.PutStr(splunk.SFxAccessTokenLabel, accessToken)
76-
}
77-
}
78-
}
79-
8068
// pass the trace data to the next consumer
8169
err = sr.nextConsumer.ConsumeTraces(ctx, td)
8270
if err != nil {
@@ -104,7 +92,7 @@ func (sr *sapmReceiver) HTTPHandlerFunc(rw http.ResponseWriter, req *http.Reques
10492
// more than an empty struct, then the sapm.PostSpansResponse{} struct will need to be marshaled
10593
// and on error a http.StatusInternalServerError should be written to the http.ResponseWriter and
10694
// this function should immediately return.
107-
var respBytes = sr.defaultResponse
95+
respBytes := sr.defaultResponse
10896
rw.Header().Set(sapmprotocol.ContentTypeHeaderName, sapmprotocol.ContentTypeHeaderValue)
10997

11098
// write the response if client does not accept gzip encoding
@@ -209,14 +197,6 @@ func newReceiver(
209197
return nil, fmt.Errorf("failed to marshal default response body for %v receiver: %w", params.ID, err)
210198
}
211199

212-
if config.AccessTokenPassthrough {
213-
params.Logger.Warn(
214-
"access_token_passthrough is deprecated. " +
215-
"Please enable include_metadata in the receiver and add " +
216-
"`metadata_keys: [X-Sf-Token]` to the batch processor",
217-
)
218-
}
219-
220200
transport := "http"
221201
if config.TLSSetting != nil {
222202
transport = "https"

receiver/sapmreceiver/trace_receiver_test.go

-74
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import (
3434
conventions "go.opentelemetry.io/collector/semconv/v1.27.0"
3535

3636
"github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil"
37-
"github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk"
3837
)
3938

4039
func expectedTraceData(t1, t2, t3 time.Time) ptrace.Traces {
@@ -336,7 +335,6 @@ func TestReception(t *testing.T) {
336335
}
337336
for _, tt := range tests {
338337
t.Run(tt.name, func(t *testing.T) {
339-
340338
sink := new(consumertest.TracesSink)
341339
sr := setupReceiver(t, tt.args.config, sink)
342340
defer func() {
@@ -362,78 +360,6 @@ func TestReception(t *testing.T) {
362360
}
363361
}
364362

365-
func TestAccessTokenPassthrough(t *testing.T) {
366-
tests := []struct {
367-
name string
368-
accessTokenPassthrough bool
369-
token string
370-
}{
371-
{
372-
name: "no passthrough and no token",
373-
accessTokenPassthrough: false,
374-
token: "",
375-
},
376-
{
377-
name: "no passthrough and token",
378-
accessTokenPassthrough: false,
379-
token: "MyAccessToken",
380-
},
381-
{
382-
name: "passthrough and no token",
383-
accessTokenPassthrough: true,
384-
token: "",
385-
},
386-
{
387-
name: "passthrough and token",
388-
accessTokenPassthrough: true,
389-
token: "MyAccessToken",
390-
},
391-
}
392-
for _, tt := range tests {
393-
t.Run(tt.name, func(t *testing.T) {
394-
config := &Config{
395-
ServerConfig: confighttp.ServerConfig{
396-
Endpoint: "0.0.0.0:7226",
397-
},
398-
AccessTokenPassthroughConfig: splunk.AccessTokenPassthroughConfig{
399-
AccessTokenPassthrough: tt.accessTokenPassthrough,
400-
},
401-
}
402-
403-
sapm := &splunksapm.PostSpansRequest{
404-
Batches: []*model.Batch{grpcFixture(time.Now().UTC())},
405-
}
406-
407-
sink := new(consumertest.TracesSink)
408-
sr := setupReceiver(t, config, sink)
409-
defer func() {
410-
require.NoError(t, sr.Shutdown(context.Background()))
411-
}()
412-
413-
var resp *http.Response
414-
resp, err := sendSapm(config.Endpoint, sapm, "gzip", false, tt.token)
415-
require.NoErrorf(t, err, "should not have failed when sending sapm %v", err)
416-
assert.Equal(t, 200, resp.StatusCode)
417-
assert.NoError(t, resp.Body.Close())
418-
419-
got := sink.AllTraces()
420-
assert.Len(t, got, 1)
421-
422-
received := got[0].ResourceSpans()
423-
for i := 0; i < received.Len(); i++ {
424-
rspan := received.At(i)
425-
attrs := rspan.Resource().Attributes()
426-
amap, contains := attrs.Get("com.splunk.signalfx.access_token")
427-
if tt.accessTokenPassthrough && tt.token != "" {
428-
assert.Equal(t, tt.token, amap.Str())
429-
} else {
430-
assert.False(t, contains)
431-
}
432-
}
433-
})
434-
}
435-
}
436-
437363
func TestStatusCode(t *testing.T) {
438364
tlsAddress := testutil.GetAvailableLocalAddress(t)
439365

testbed/datareceivers/sapm.go

-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313
"go.opentelemetry.io/collector/receiver"
1414
"go.opentelemetry.io/collector/receiver/receivertest"
1515

16-
"github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk"
1716
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver"
1817
"github.com/open-telemetry/opentelemetry-collector-contrib/testbed/testbed"
1918
)
@@ -36,7 +35,6 @@ func (sr *SapmDataReceiver) Start(tc consumer.Traces, _ consumer.Metrics, _ cons
3635
ServerConfig: confighttp.ServerConfig{
3736
Endpoint: fmt.Sprintf("127.0.0.1:%d", sr.Port),
3837
},
39-
AccessTokenPassthroughConfig: splunk.AccessTokenPassthroughConfig{AccessTokenPassthrough: true},
4038
}
4139
var err error
4240
params := receivertest.NewNopSettings()

testbed/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ require (
1616
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.112.0
1717
github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0
1818
github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0
19-
github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.112.0
2019
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0
2120
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.112.0
2221
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.112.0
@@ -215,6 +214,7 @@ require (
215214
github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.112.0 // indirect
216215
github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.112.0 // indirect
217216
github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.112.0 // indirect
217+
github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.112.0 // indirect
218218
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.112.0 // indirect
219219
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.112.0 // indirect
220220
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.112.0 // indirect

0 commit comments

Comments
 (0)