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

Pulling refs/heads/main into main #1084

Merged
merged 14 commits into from
Dec 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions apm/profiling/get-data-in-profiling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ AlwaysOn Profiling requires APM tracing data to correlate stack traces to your a
- :strong:`Documentation`
* - Java
- Splunk Distribution of OpenTelemetry Java version 1.14.2 or higher

OpenJDK versions 15.0 to 17.0.8 are not supported for memory profiling. See :new-page:`https://bugs.openjdk.org/browse/JDK-8309862` in the JDK bug tracker for more information.
- * :ref:`instrument-java-applications`
* :ref:`profiling-configuration-java`
* - Node.js
Expand Down
2 changes: 2 additions & 0 deletions apm/profiling/intro-profiling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ The following programming languages have instrumentation available:
- :strong:`Documentation`
* - Java
- Splunk Distribution of OpenTelemetry Java version 1.14.2 or higher

OpenJDK versions 15.0 to 17.0.8 are not supported for memory profiling. See :new-page:`https://bugs.openjdk.org/browse/JDK-8309862` in the JDK bug system for more information.
- * :ref:`instrument-java-applications`
* :ref:`profiling-configuration-java`
* - Node.js
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,9 @@ The following settings control the AlwaysOn Profiling feature for the Java agent
* The default value is ``false``.
* Requires ``splunk.profiler.enabled`` to be set to ``true``.
* Activating memory profiling sets the value of ``splunk.metrics.enabled`` to ``true``.


.. note:: OpenJDK versions 15.0 to 17.0.8, are not supported for memory profiling. See :new-page:`https://bugs.openjdk.org/browse/JDK-8309862` in the JDK bug system for more information.

System property: ``splunk.profiler.memory.enabled``
* - ``SPLUNK_PROFILER_MEMORY_EVENT_RATE``
- Rate limit for memory profiling data, expressed as stack traces per unit of time. You can define duration in the form ``<number>/<unit>``, where the unit can be ``s`` or ``m``. The default value is ``150/s``, or 150 stack traces per second. Consider increasing this value when collecting memory profiling data from complex, multithreaded workloads, like application servers. |br| |br| System property: ``splunk.profiler.memory.event.rate``
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,8 @@ To activate AlwaysOn Profiling, use the following system property argument. You

To activate memory profiling, set the ``splunk.profiler.memory.enabled`` system property or the ``SPLUNK_PROFILER_MEMORY_ENABLED`` environment variable to ``true`` after activating AlwaysOn Profiling.

.. note:: OpenJDK versions 15.0 to 17.0.8 are not supported for memory profiling. See :new-page:`https://bugs.openjdk.org/browse/JDK-8309862` in the JDK bug system for more information.

The following example shows how to activate the profiler using the system property:

.. code-block:: bash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ You can install the ``splunk-otel-auto-instrumentation`` package in the followin

Using the installer script, you can install the auto instrumentation package for Node.js and activate auto instrumentation for Node.js for either all supported Node.js applications on the host via the system-wide method or for only Node.js applications running as ``systemd`` services.

By default, the installer script installs the Node.js package globally using the ``npm install --global`` command. To specify a custom command for installation, use the ``--npm-command <command>`` option as in the following example:
The installer script installs the Node.js package using the ``npm install`` command. To specify a custom path to ``npm`` for installation, use the ``--npm-path <path>`` option as in the following example:

.. code-block:: bash

--npm-command "/custom/path/to/npm install --prefix /custom/nodejs/install/path"
--npm-path /custom/path/to/npm

.. note:: By default, auto instrumentation is activated for both Java and Node.js when using the installer script. To deactivate auto instrumentation for Java, add the ``--without-instrumentation-sdk java`` or ``--with-instrumentation-sdk node`` option in the installer script command.

Expand Down Expand Up @@ -140,6 +140,29 @@ You can configure the Splunk Distribution of OpenTelemetry JS to suit your instr

To learn more, see :ref:`advanced-nodejs-otel-configuration`.

.. _update-js-zeroconfig-linux:

Update zero config auto instrumentation
============================================

To update the Node.js agent to the latest provided version, you must first update the ``splunk-otel-auto-instrumentation`` package. To learn more, see :ref:`upgrade-the-package`.

After updating the ``splunk-otel-auto-instrumentation`` package, run the following command:

.. code-block:: bash

cd /usr/lib/splunk-instrumentation/splunk-otel-js && \
sudo npm install /usr/lib/splunk-instrumentation/splunk-otel-js.tgz


The default auto instrumentation configuration expects the Node.js agent to be installed under the ``/usr/lib/splunk-instrumentation/splunk-otel-js`` path.

If the Node.js agent is installed under a different path, manually update the path for the ``NODE_OPTIONS`` environment variable in either ``/etc/splunk/zeroconfig/node.conf`` for system-wide services or ``/usr/lib/systemd/system.conf.d/00-splunk-otel-auto-instrumentation.conf`` for ``systemd`` services. For example:

.. code-block:: yaml

NODE_OPTIONS=-r /custom/nodejs/install/path/@splunk/otel/instrument

.. _js-zeroconfig-linux-nextsteps:

Next steps
Expand Down