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

[DNM] Zero-config C code to inject environment variables for Java and Node.js #3514

Merged
merged 18 commits into from
Aug 28, 2023

Conversation

atoulme
Copy link
Contributor

@atoulme atoulme commented Aug 18, 2023

** Work in progress **

This PR shows the current work in progress to adopt a zero-config solution that is minimally inserting environment variables into the runtime environment of Java and Node.js processes.

Please feel free to review and help strengthen this approach.


// TODO change to systemd drop in file paths
static char *const env_var_file_java = "/etc/splunk/zeroconfig_java.conf";
static char *const env_var_file_node = "/etc/splunk/zeroconfig_node.conf";
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@jeffreyc-splunk would you have the path of the systemd drop-in env var files handy? Did you also separate them by language by any chance?

Copy link
Contributor

Choose a reason for hiding this comment

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

If we go with #3506, the deb/rpm packages can include sample systemd drop-in files in /usr/lib/splunk-instrumentation/examples/systemd/ for each language (see https://github.com/signalfx/splunk-otel-collector/pull/3506/files#diff-71d510eec30ef5d3556193068fc6726c24202c439f5bd9f25989cb511ff113f9 for java). We can then add a sample splunk-otel-js.conf once we add support for the node.js agent. These sample files can be used for manual installations.

On the other hand, I'm thinking that the installers will automatically create the actual drop-in file to be loaded by systemd, for example /usr/lib/systemd/system.conf.d/splunk-otel-auto-instrumentation.conf, based on the installation options and defaults (see https://github.com/signalfx/splunk-otel-collector/pull/3506/files#diff-4dca014cfa3f56017a31c6a9e698de416a5bcc9cf6450a8ef9d088295f19ca98 for the test config).

Copy link
Contributor

Choose a reason for hiding this comment

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

Side note: A reoccurring issue we have been noticing with being swappable with upstream auto-instrumentation solutions vs Splunk solutions is Splunk file paths are unique to Splunk vs what upstream uses. I don't think this issue should be addressed in this PR, but it is worth noting for future compatibility.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We can make those configurable via macros. I'll do that.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

"OTEL_RESOURCE_ATTRIBUTES",
"SPLUNK_PROFILER_ENABLED",
"SPLUNK_PROFILER_MEMORY_ENABLED",
"SPLUNK_METRICS_ENABLED",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

this list needs to be completed. It doesn't represent the whole set yet.

Copy link
Contributor

Choose a reason for hiding this comment

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

For java, would we need to support all of the splunk-specific env vars?

Any from otel java and otel sdk not included in the above list?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes we're missing quite a few.

Copy link
Contributor

Choose a reason for hiding this comment

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

Quick question for clarification: Correct me if I am wrong, wouldn't the allowed env variables be injected from the language specific drop-in files and not the constant ones defined here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This allows us to check the file contents, and ensure that only the keys we allow here are injected in the environment of processes.

Copy link
Contributor

Choose a reason for hiding this comment

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

Will this library read JAVA_TOOL_OPTIONS and NODE_OPTIONS from the conf files, or are you expecting them to be defined somewhere else? For systemd, we can define them directly in the drop-in file(s), but should they be added to the list for the preloader method?

Copy link
Contributor

Choose a reason for hiding this comment

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

If we are allowing arbitrary input I think instrumentation checksum validation from .rodata should be required. This will add complexity and overhead but the benefit is that we'd only respect known target values.

Copy link
Contributor Author

@atoulme atoulme Aug 24, 2023

Choose a reason for hiding this comment

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

I would just read all the env vars from a file. We can harden our stance around specific instrumentation files being placed in specific places and matching checksums.

@jeffreyc-splunk
Copy link
Contributor

jeffreyc-splunk commented Aug 18, 2023

If we go with these changes, should we just use the LD_PRELOAD env var for systemd-only instrumentation? So instead of setting the env vars directly in a systemd config like:

[Manager]
DefaultEnvironment="JAVA_TOOL_OPTIONS=-javaagent:/usr/lib/splunk-instrumentation/splunk-otel-javaagent.jar"
DefaultEnvironment="OTEL_EXPORTER_OTLP_ENDPOINT=http://1.2.3.4:5678"
DefaultEnvironment="OTEL_RESOURCE_ATTRIBUTES=deployment.environment=my_deployment_environment"
DefaultEnvironment="OTEL_SERVICE_NAME=my_service_name"
DefaultEnvironment="SPLUNK_PROFILER_ENABLED=true"

The systemd config would just be something like:

[Manager]
DefaultEnvironment="LD_PRELOAD=/usr/lib/splunk-instrumentation/libsplunk.so"

And libsplunk.so would just read/inject the env vars from a separate config file. This would simplify configuration for the installers since we'd be dealing with a single config file for both systemd and /etc/ld.so.preload methods.

Or do we need an alternative configuration that completely excludes preloading libsplunk.so?

@atoulme
Copy link
Contributor Author

atoulme commented Aug 18, 2023

That second approach would allow to run everything through the preload function, which we can test for. I'm ok with either way but I tend to the latter option because we can then format the env var file into a simple file to source from.

@jeffreyc-splunk
Copy link
Contributor

That second approach would allow to run everything through the preload function, which we can test for. I'm ok with either way but I tend to the latter option because we can then format the env var file into a simple file to source from.

Instead of the systemd drop-in method, another option could be to include and install a simple systemd environment generator script to read and inject env vars from a shared config file. This would bypass libsplunk.so while still allowing us to manage and source env vars from a single config file with either the preloader or systemd-only methods.

@atoulme atoulme changed the base branch from main to zero-config-dev August 28, 2023 21:40
@atoulme atoulme marked this pull request as ready for review August 28, 2023 21:40
@atoulme atoulme requested review from a team as code owners August 28, 2023 21:40
@atoulme atoulme merged commit bfd4f54 into zero-config-dev Aug 28, 2023
@delete-merged-branch delete-merged-branch bot deleted the zeroconfc branch August 28, 2023 21:42
jeffreyc-splunk added a commit that referenced this pull request Sep 1, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Sep 1, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Sep 7, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Sep 8, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Sep 14, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Sep 21, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Sep 25, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Sep 26, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Oct 3, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Oct 3, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Oct 9, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Oct 11, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Oct 16, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Oct 16, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Oct 16, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Oct 16, 2023
… 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>
jeffreyc-splunk added a commit that referenced this pull request Oct 18, 2023
… 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>
atoulme added a commit that referenced this pull request Oct 18, 2023
* [DNM] Zero-config C code to inject environment variables for Java and 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 (#3506)

* 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

* Include splunk-otel-js in auto instrumentation deb/rpm (#3540)

* 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

* Add tests for express instrumentation (#3566)

* Update installer script for systemd auto instrumentation (#3536)

* Rename zeroconfig config files (#3682)

* Update ZC docs and tests for manual installation/configuration (#3700)

* 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 (#3761)

* Update otlp endpoint for linux installer script

* remove 0.0.0.0

* Add debian bookworm for instrumentation tests

* Update CHANGELOG.md

---------

Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
Co-authored-by: Anna U <104845867+aurbiztondo-splunk@users.noreply.github.com>
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.

6 participants