Make signalfx-agent
and signalfx-agent/pkg/apm
externally accessible Go packages?
#3594
evantorrie
started this conversation in
Ideas
Replies: 1 comment 1 reply
-
@atoulme Sorry for @'ing you, but you probably have the most context to answer this. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi, I see that opening Github “Issues” on https://github.com/signalfx/splunk-otel-collector/issues is now more difficult (wants to redirect me to open an issue via Splunk Support), so I wanted to pose here first since I know there are various Splunk employees who are familiar with this use-case.
This is related to https://github.com/signalfx/splunk-otel-collector/issues/1821, where I am trying to build a custom distribution of the OpenTelemetry Collector which includes smartagent extension/receivers. Up until a couple of months ago, these extensions/receivers had a dependency on github.com/signalfx/signalfx-agent which was satisfied by pointing them to a specific dated commit in the github.com/signalfx/signalfx-agent repo via a replace statement in go.mod.
Recently, the signalfx/signalfx-agent code used by these extensions has moved completely into the github.com/signalfx/splunk-otel-collector repository as a module under /internal/signalfx-agent , and there is now a top-level replaces block which points the former github.com/signalfx/signalfx-agent and signalfx-agent/pkg/apm modules to this new internal repo location.
Unfortunately, this now makes it very difficult to build an out-of-tree version of the smartagent receiver/extension because they rely directly on a go module which is only available as an internal/ package inside the splunk-otel-collector repo (i.e. not directly accessible from an external build).
I don’t know how much of the signalfx-agent code is actually being used by smartagent{extension,receiver} (looks like mostly config? and other core code), but one way to fix this would be to move the whole /internal/signalfx-agent directory into /pkg/signalfx-agent and tag it appropriately to make it accessible externally from an external “ocb” build of the collector.
I have a proof of concept available to do this (in the same way I had provided a PR to move smartagent{extension,receiver} in the past, but I wanted to ask the splunk-otel-collector team first to see if this is something they would consider.
Beta Was this translation helpful? Give feedback.
All reactions