From 3e9e86680c3bb67efd9b1fd3cd9bf8723e1de564 Mon Sep 17 00:00:00 2001 From: jvoravong Date: Mon, 15 Apr 2024 09:21:27 -0600 Subject: [PATCH] Update operator integration statuses and feature gate options --- docs/auto-instrumentation-install.md | 28 ++++++++----------- .../splunk-otel-collector/templates/NOTES.txt | 17 ++++++++--- helm-charts/splunk-otel-collector/values.yaml | 2 ++ 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/docs/auto-instrumentation-install.md b/docs/auto-instrumentation-install.md index 17a9939420..ed09e24e44 100644 --- a/docs/auto-instrumentation-install.md +++ b/docs/auto-instrumentation-install.md @@ -371,22 +371,18 @@ Below is a breakdown of the main and related components involved in auto-instrum ### Instrumentation Libraries -In the table below current instrumentation libraries are listed, if they are supported, and how compatible they are -with Splunk customer content. -_The native OpenTelemetry instrumentation libraries are owned and maintained by the OpenTelemetry Community, Splunk -provides best effort support with issues related to native OpenTelemetry instrumentation libraries._ - -| Instrumentation Library | Distribution | Status | Supported | Splunk Content Compatability | Code Repo | Image Repo | -|-------------------------|---------------|-------------|------------------|------------------------------|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------| -| java | Splunk | Available | Yes | Completely | [Link](github.com/signalfx/splunk-otel-java) | ghcr.io/signalfx/splunk-otel-java/splunk-otel-java | -| dotnet | Splunk | Coming Soon | | | [Link](github.com/signalfx/splunk-otel-dotnet) | | -| nodejs | Splunk | Available | Yes | Completely | [Link](github.com/signalfx/splunk-otel-nodejs) | ghcr.io/signalfx/splunk-otel-java/splunk-otel-js | -| python | Splunk | Coming Soon | | | [Link](github.com/signalfx/splunk-otel-python) | | -| java | OpenTelemetry | Available | Yes | Mostly | [Link](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java | -| dotnet | OpenTelemetry | Available | Yes | Mostly | [Link](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet | -| nodejs | OpenTelemetry | Available | Yes | Mostly | [Link](https://github.com/open-telemetry/opentelemetry-nodejs-instrumentation) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodes | -| python | OpenTelemetry | Available | Needs Validation | | [Link](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java | -| apache-httpd | OpenTelemetry | Available | Needs Validation | | [Link](https://github.com/open-telemetry/opentelemetry-apache-httpd-instrumentation) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-apache-httpd | +The table below lists the current instrumentation libraries, their availability, and their compatibility with Splunk customer content. +_Note: Native OpenTelemetry instrumentation libraries are owned and maintained by the OpenTelemetry Community. Splunk provides best effort support for issues related to these libraries._ + +| Instrumentation Library | Distribution | Status | Splunk Support | Splunk Content Compatibility | Code Repository | Image Repository | +|-------------------------|----------------|--------------|------------------|------------------------------|---------------------------------------------------------------------|---------------------------------------------------------------------------------| +| Java | Splunk | Stable | Full | Fully Compatible | [Link](https://github.com/signalfx/splunk-otel-java) | ghcr.io/signalfx/splunk-otel-java/splunk-otel-java | +| NodeJS | Splunk | Stable | Full | Fully Compatible | [Link](https://github.com/signalfx/splunk-otel-js) | ghcr.io/signalfx/splunk-otel-java/splunk-otel-js | +| DotNet | Splunk | Stable | Full | Fully Compatible | [Link](https://github.com/signalfx/splunk-otel-dotnet) | ghcr.io/signalfx/splunk-otel-dotnet/splunk-otel-dotnet | +| Python | Splunk | Experimental | Best Effort | Partially Compatible | [Link](https://github.com/open-telemetry/opentelemetry-python) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python | +| ApacheHttpD | OpenTelemetry | Experimental | Best Effort | Partially Compatible | [Link](https://github.com/open-telemetry/opentelemetry-cpp-contrib) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-apache-httpd | +| Go | OpenTelemetry | Experimental | Best Effort | Partially Compatible | [Link](https://github.com/open-telemetry/opentelemetry-go) | ghcr.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go | +| Nginx | OpenTelemetry | Experimental | Best Effort | Partially Compatible | [Link](https://github.com/open-telemetry/opentelemetry-cpp-contrib) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-apache-httpd | ### Documentation Resources diff --git a/helm-charts/splunk-otel-collector/templates/NOTES.txt b/helm-charts/splunk-otel-collector/templates/NOTES.txt index 883d98239c..76413779d4 100644 --- a/helm-charts/splunk-otel-collector/templates/NOTES.txt +++ b/helm-charts/splunk-otel-collector/templates/NOTES.txt @@ -77,8 +77,17 @@ Splunk OpenTelemetry Collector is installed and configured to send data to Splun Upgrade guidelines: https://github.com/signalfx/splunk-otel-collector-chart/blob/main/UPGRADING.md#0670-to-0680 {{ end }} {{- if .Values.operator.enabled }} -[INFO] You've enabled the operator's auto-instrumentation feature (operator.enabled=true), currently considered ALPHA. - - Instrumentation library maturity varies (e.g., Java is more mature than Go). For library stability, visit: https://opentelemetry.io/docs/instrumentation/#status-and-releases - - Some libraries may be enabled by default. For current status, see: https://github.com/open-telemetry/opentelemetry-operator#controlling-instrumentation-capabilities - - Splunk provides best-effort support for native OpenTelemetry libraries, and full support for Splunk library distributions. For used libraries, refer to the values.yaml under "operator.instrumentation.spec". +[INFO] Auto-instrumentation is enabled (operator.enabled=true). This feature allows the operator to automatically instrument applications hosted in Kubernetes. Note that the maturity of integrations may vary based on the application language. + - Status: Maturity levels of language instrumentation vary. See the table below for details on each language's integration status and other relevant information. + - Usage: Some instrumentation languages are enabled by default, while others require manual activation using feature gates (`operator.manager.featureGates=+operator.autoinstrumentation.{language}`). + - Splunk Support: Full support is provided for Splunk distributions, and best-effort support is available for native OpenTelemetry instrumentation distributions. Consult `values.yaml` under `operator.instrumentation.spec` for details on the libraries used. + | Instrumentation Language | Feature Gate Name | Default Value | Status | Source URL | + |--------------------------|-----------------------------------------------------|---------------|----------------|-----------------------------------------------------------------| + | Java | `operator.autoinstrumentation.java` | Enabled | Stable | https://github.com/signalfx/splunk-otel-java/releases | + | NodeJS | `operator.autoinstrumentation.nodejs` | Enabled | Stable | https://github.com/signalfx/splunk-otel-js/releases | + | DotNet | `operator.autoinstrumentation.dotnet` | Enabled | Stable | https://github.com/signalfx/splunk-otel-dotnet/releases | + | Python | `operator.autoinstrumentation.python` | Enabled | Experimental | https://github.com/open-telemetry/opentelemetry-python/releases | + | ApacheHttpD | `operator.autoinstrumentation.apache-httpd` | Enabled | Experimental | https://github.com/open-telemetry/opentelemetry-cpp-contrib | + | Go | `operator.autoinstrumentation.go` | Disabled | Experimental | https://github.com/open-telemetry/opentelemetry-go | + | Nginx | `operator.autoinstrumentation.nginx` | Disabled | Experimental | https://github.com/open-telemetry/opentelemetry-cpp-contrib | {{- end }} diff --git a/helm-charts/splunk-otel-collector/values.yaml b/helm-charts/splunk-otel-collector/values.yaml index 0fa1ba4fee..2929f421ef 100644 --- a/helm-charts/splunk-otel-collector/values.yaml +++ b/helm-charts/splunk-otel-collector/values.yaml @@ -1206,6 +1206,7 @@ operator: env: - name: OTEL_DOTNET_AUTO_PLUGINS value: Splunk.OpenTelemetry.AutoInstrumentation.Plugin, Splunk.OpenTelemetry.AutoInstrumentation + # Instrumentation for go is disabled by default, it must be enabled using `operator.manager.featureGates=+operator.autoinstrumentation.go”` go: repository: ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-go tag: v0.10.1-alpha @@ -1215,6 +1216,7 @@ operator: python: repository: ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python tag: 0.44b0 + # Instrumentation for nginx is disabled by default, it must be enabled using `operator.manager.featureGates=+operator.autoinstrumentation.nginx”` nginx: repository: ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-apache-httpd tag: 1.0.4