Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge zero-config-dev branch #3791

Merged
merged 10 commits into from
Oct 18, 2023
Merged

Merge zero-config-dev branch #3791

merged 10 commits into from
Oct 18, 2023

Conversation

jeffreyc-splunk
Copy link
Contributor

See commits and doc changes for details.

TODO: Update all installers to support node.js and the new configs.

@jeffreyc-splunk jeffreyc-splunk force-pushed the zero-config-dev branch 2 times, most recently from b401fd9 to 1b5556b Compare October 17, 2023 14:16
@jeffreyc-splunk jeffreyc-splunk marked this pull request as ready for review October 17, 2023 16:27
@jeffreyc-splunk jeffreyc-splunk requested review from a team as code owners October 17, 2023 16:27
OpenTelemetry Collector
2. [Install](../docs/getting-started/linux-manual.md#auto-instrumentation-debianrpm-packages) the
`splunk-otel-auto-instrumentation` deb/rpm package
3. If Auto Instrumentation for Node.js is required, [install](
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of questions:
Correct me if I am wrong, for our installers both steps 2 and 3 will be abstracted for customers right?
Is the reason for not including the node.js binary as part of the splunk-otel-auto-instrumentation that contains the java agent because it requires a separate install with npm?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • The splunk-otel-auto-instrumentation deb/rpm will include the latest splunk-otel-js tgz package from https://github.com/signalfx/splunk-otel-js/releases.
  • After installing the splunk-otel-auto-instrumentation deb/rpm, the splunk-otel-js tgz package is then required to be separately installed with npm. The plan is to update the installers to try to automate these steps to enable Node.js.

```
Configuration of the respective agents is supported by the adding/updating the following environment variables in
each of these files (***any environment variable not in this list will be ignored***):
- `OTEL_EXPORTER_OTLP_ENDPOINT`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would the instrumentation fail completely if another variable is set that is not part of this list? Or would it ignore the issue and use the other valid entries? Is there a specific error message to look out?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll defer to @atoulme since he wrote that code, but looks like libsplunk.so will just silently skip (without failing) everything not in the allowed list: https://github.com/signalfx/splunk-otel-collector/blob/zero-config-dev/instrumentation/src/main.c#L89-L91.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

silently skip. We want this resilient and we don't know how to log errors.

atoulme and others added 10 commits October 18, 2023 13:03
… Node.js (#3514)

* Remove sending a metric as part of auto-instrumentation (#3482)

* refactor the code to inject allowed env vars

* latest after pair programming

* latest after review and pairing

* only inject env vars for java and nodejs programs. Apply env vars from different files for java and nodejs

* remove docker interactive and tty flags

* wip

* use arch var to set the name of the file to copy

* make tests pass on arm64

* try to support arm

* build for the proper platform

* fix package build

* review with Jason, test for env vars overrides

* Make ALLOWED_ENV_VARS a single string defined through the preprocessor

* Update instrumentation/tests/java/Dockerfile

Co-authored-by: Jeff Cheng <83052155+jeffreyc-splunk@users.noreply.github.com>

* load preload file same way as java test

* move file locations to macros

* use n functions to handle strings when possible

---------

Co-authored-by: Jeff Cheng <83052155+jeffreyc-splunk@users.noreply.github.com>
* Add systemd sample file to splunk-otel-auto-instrumention

* Update manual instructions

* Include default /etc/splunk/zeroconfig_java.conf in deb/rpm packages

* Update tests for new libsplunk.so

* Run auto instrumentation workflow for the zero-config-dev branch
* Add systemd sample file to splunk-otel-auto-instrumention

* Update tests for new libsplunk.so

* Include splunk-otel-js in auto instrumentation deb/rpm

* Include default /etc/splunk/zeroconfig_node.conf in deb/rpm packages
* Update docs

* Update splunk-otel-js to v2.4.2

* Combine sample systemd config files

* Install splunk-otel-js globally for tests

* Update deps installation for node tests

* Update splunk-otel-js to v2.4.4

* Update linux-manual.md

* Update test for centos/oraclelinux 7 arm64

---------

Co-authored-by: Anna U <104845867+aurbiztondo-splunk@users.noreply.github.com>
* Update otlp endpoint for linux installer script

* remove 0.0.0.0
@atoulme atoulme merged commit b6e72c1 into main Oct 18, 2023
194 checks passed
@delete-merged-branch delete-merged-branch bot deleted the zero-config-dev branch October 18, 2023 22:47
@github-actions github-actions bot mentioned this pull request Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants