跳转至

Instrumentation

Instrumentation

↩ Parent

Instrumentation is the spec for OpenTelemetry instrumentation.

Name Type Description Required
apiVersion string opentelemetry.io/v1alpha1 true
kind string Instrumentation true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object InstrumentationSpec defines the desired state of OpenTelemetry SDK and instrumentation.
false
status object InstrumentationStatus defines status of the instrumentation.
false

Instrumentation.spec

↩ Parent

InstrumentationSpec defines the desired state of OpenTelemetry SDK and instrumentation.

Name Type Description Required
apacheHttpd object Apache defines configuration for Apache HTTPD auto-instrumentation.
false
dotnet object DotNet defines configuration for DotNet auto-instrumentation.
false
env []object Env defines common env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored.
false
exporter object Exporter defines exporter configuration.
false
go object Go defines configuration for Go auto-instrumentation. When using Go auto-instrumenetation you must provide a value for the OTEL_GO_AUTO_TARGET_EXE env var via the Instrumentation env vars or via the instrumentation.opentelemetry.io/otel-go-auto-target-exe pod annotation. Failure to set this value causes instrumentation injection to abort, leaving the original pod unchanged.
false
java object Java defines configuration for java auto-instrumentation.
false
nodejs object NodeJS defines configuration for nodejs auto-instrumentation.
false
propagators []enum Propagators defines inter-process context propagation configuration. Values in this list will be set in the OTEL_PROPAGATORS env var. Enum=tracecontext;baggage;b3;b3multi;jaeger;xray;ottrace;none
false
python object Python defines configuration for python auto-instrumentation.
false
resource object Resource defines the configuration for the resource attributes, as defined by the OpenTelemetry specification.
false
sampler object Sampler defines sampling configuration.
false

Instrumentation.spec.apacheHttpd

↩ Parent

Apache defines configuration for Apache HTTPD auto-instrumentation.

Name Type Description Required
attrs []object Attrs defines Apache HTTPD agent specific attributes. The precedence is: `agent default attributes` > `instrument spec attributes` . Attributes are documented at https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/otel-webserver-module
false
configPath string Location of Apache HTTPD server configuration. Needed only if different from default "/usr/local/apache2/conf"
false
env []object Env defines Apache HTTPD specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored.
false
image string Image is a container image with Apache SDK and auto-instrumentation.
false
resourceRequirements object Resources describes the compute resource requirements.
false
version string Apache HTTPD server version. One of 2.4 or 2.2. Default is 2.4
false

Instrumentation.spec.apacheHttpd.attrs[index]

↩ Parent

EnvVar represents an environment variable present in a Container.

Name Type Description Required
name string Name of the environment variable. Must be a C_IDENTIFIER.
true
value string Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
false
valueFrom object Source for the environment variable's value. Cannot be used if value is not empty.
false

Instrumentation.spec.apacheHttpd.attrs[index].valueFrom

↩ Parent

Source for the environment variable's value. Cannot be used if value is not empty.

Name Type Description Required
configMapKeyRef object Selects a key of a ConfigMap.
false
fieldRef object Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
false
resourceFieldRef object Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
false
secretKeyRef object Selects a key of a secret in the pod's namespace
false

Instrumentation.spec.apacheHttpd.attrs[index].valueFrom.configMapKeyRef

↩ Parent

Selects a key of a ConfigMap.

Name Type Description Required
key string The key to select.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the ConfigMap or its key must be defined
false

Instrumentation.spec.apacheHttpd.attrs[index].valueFrom.fieldRef

↩ Parent

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

Name Type Description Required
fieldPath string Path of the field to select in the specified API version.
true
apiVersion string Version of the schema the FieldPath is written in terms of, defaults to "v1".
false

Instrumentation.spec.apacheHttpd.attrs[index].valueFrom.resourceFieldRef

↩ Parent

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.

Name Type Description Required
resource string Required: resource to select
true
containerName string Container name: required for volumes, optional for env vars
false
divisor int or string Specifies the output format of the exposed resources, defaults to "1"
false

Instrumentation.spec.apacheHttpd.attrs[index].valueFrom.secretKeyRef

↩ Parent

Selects a key of a secret in the pod's namespace

Name Type Description Required
key string The key of the secret to select from. Must be a valid secret key.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the Secret or its key must be defined
false

Instrumentation.spec.apacheHttpd.env[index]

↩ Parent

EnvVar represents an environment variable present in a Container.

Name Type Description Required
name string Name of the environment variable. Must be a C_IDENTIFIER.
true
value string Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
false
valueFrom object Source for the environment variable's value. Cannot be used if value is not empty.
false

Instrumentation.spec.apacheHttpd.env[index].valueFrom

↩ Parent

Source for the environment variable's value. Cannot be used if value is not empty.

Name Type Description Required
configMapKeyRef object Selects a key of a ConfigMap.
false
fieldRef object Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
false
resourceFieldRef object Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
false
secretKeyRef object Selects a key of a secret in the pod's namespace
false

Instrumentation.spec.apacheHttpd.env[index].valueFrom.configMapKeyRef

↩ Parent

Selects a key of a ConfigMap.

Name Type Description Required
key string The key to select.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the ConfigMap or its key must be defined
false

Instrumentation.spec.apacheHttpd.env[index].valueFrom.fieldRef

↩ Parent

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

Name Type Description Required
fieldPath string Path of the field to select in the specified API version.
true
apiVersion string Version of the schema the FieldPath is written in terms of, defaults to "v1".
false

Instrumentation.spec.apacheHttpd.env[index].valueFrom.resourceFieldRef

↩ Parent

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.

Name Type Description Required
resource string Required: resource to select
true
containerName string Container name: required for volumes, optional for env vars
false
divisor int or string Specifies the output format of the exposed resources, defaults to "1"
false

Instrumentation.spec.apacheHttpd.env[index].valueFrom.secretKeyRef

↩ Parent

Selects a key of a secret in the pod's namespace

Name Type Description Required
key string The key of the secret to select from. Must be a valid secret key.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the Secret or its key must be defined
false

Instrumentation.spec.apacheHttpd.resourceRequirements

↩ Parent

Resources describes the compute resource requirements.

Name Type Description Required
claims []object Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
false
limits map[string]int or string Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false
requests map[string]int or string Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false

Instrumentation.spec.apacheHttpd.resourceRequirements.claims[index]

↩ Parent

ResourceClaim references one entry in PodSpec.ResourceClaims.

Name Type Description Required
name string Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
true

Instrumentation.spec.dotnet

↩ Parent

DotNet defines configuration for DotNet auto-instrumentation.

Name Type Description Required
env []object Env defines DotNet specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored.
false
image string Image is a container image with DotNet SDK and auto-instrumentation.
false
resourceRequirements object Resources describes the compute resource requirements.
false

Instrumentation.spec.dotnet.env[index]

↩ Parent

EnvVar represents an environment variable present in a Container.

Name Type Description Required
name string Name of the environment variable. Must be a C_IDENTIFIER.
true
value string Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
false
valueFrom object Source for the environment variable's value. Cannot be used if value is not empty.
false

Instrumentation.spec.dotnet.env[index].valueFrom

↩ Parent

Source for the environment variable's value. Cannot be used if value is not empty.

Name Type Description Required
configMapKeyRef object Selects a key of a ConfigMap.
false
fieldRef object Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
false
resourceFieldRef object Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
false
secretKeyRef object Selects a key of a secret in the pod's namespace
false

Instrumentation.spec.dotnet.env[index].valueFrom.configMapKeyRef

↩ Parent

Selects a key of a ConfigMap.

Name Type Description Required
key string The key to select.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the ConfigMap or its key must be defined
false

Instrumentation.spec.dotnet.env[index].valueFrom.fieldRef

↩ Parent

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

Name Type Description Required
fieldPath string Path of the field to select in the specified API version.
true
apiVersion string Version of the schema the FieldPath is written in terms of, defaults to "v1".
false

Instrumentation.spec.dotnet.env[index].valueFrom.resourceFieldRef

↩ Parent

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.

Name Type Description Required
resource string Required: resource to select
true
containerName string Container name: required for volumes, optional for env vars
false
divisor int or string Specifies the output format of the exposed resources, defaults to "1"
false

Instrumentation.spec.dotnet.env[index].valueFrom.secretKeyRef

↩ Parent

Selects a key of a secret in the pod's namespace

Name Type Description Required
key string The key of the secret to select from. Must be a valid secret key.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the Secret or its key must be defined
false

Instrumentation.spec.dotnet.resourceRequirements

↩ Parent

Resources describes the compute resource requirements.

Name Type Description Required
claims []object Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
false
limits map[string]int or string Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false
requests map[string]int or string Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false

Instrumentation.spec.dotnet.resourceRequirements.claims[index]

↩ Parent

ResourceClaim references one entry in PodSpec.ResourceClaims.

Name Type Description Required
name string Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
true

Instrumentation.spec.env[index]

↩ Parent

EnvVar represents an environment variable present in a Container.

Name Type Description Required
name string Name of the environment variable. Must be a C_IDENTIFIER.
true
value string Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
false
valueFrom object Source for the environment variable's value. Cannot be used if value is not empty.
false

Instrumentation.spec.env[index].valueFrom

↩ Parent

Source for the environment variable's value. Cannot be used if value is not empty.

Name Type Description Required
configMapKeyRef object Selects a key of a ConfigMap.
false
fieldRef object Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
false
resourceFieldRef object Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
false
secretKeyRef object Selects a key of a secret in the pod's namespace
false

Instrumentation.spec.env[index].valueFrom.configMapKeyRef

↩ Parent

Selects a key of a ConfigMap.

Name Type Description Required
key string The key to select.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the ConfigMap or its key must be defined
false

Instrumentation.spec.env[index].valueFrom.fieldRef

↩ Parent

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

Name Type Description Required
fieldPath string Path of the field to select in the specified API version.
true
apiVersion string Version of the schema the FieldPath is written in terms of, defaults to "v1".
false

Instrumentation.spec.env[index].valueFrom.resourceFieldRef

↩ Parent

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.

Name Type Description Required
resource string Required: resource to select
true
containerName string Container name: required for volumes, optional for env vars
false
divisor int or string Specifies the output format of the exposed resources, defaults to "1"
false

Instrumentation.spec.env[index].valueFrom.secretKeyRef

↩ Parent

Selects a key of a secret in the pod's namespace

Name Type Description Required
key string The key of the secret to select from. Must be a valid secret key.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the Secret or its key must be defined
false

Instrumentation.spec.exporter

↩ Parent

Exporter defines exporter configuration.

Name Type Description Required
endpoint string Endpoint is address of the collector with OTLP endpoint.
false

Instrumentation.spec.go

↩ Parent

Go defines configuration for Go auto-instrumentation. When using Go auto-instrumenetation you must provide a value for the OTEL_GO_AUTO_TARGET_EXE env var via the Instrumentation env vars or via the instrumentation.opentelemetry.io/otel-go-auto-target-exe pod annotation. Failure to set this value causes instrumentation injection to abort, leaving the original pod unchanged.

Name Type Description Required
env []object Env defines Go specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored.
false
image string Image is a container image with Go SDK and auto-instrumentation.
false
resourceRequirements object Resources describes the compute resource requirements.
false

Instrumentation.spec.go.env[index]

↩ Parent

EnvVar represents an environment variable present in a Container.

Name Type Description Required
name string Name of the environment variable. Must be a C_IDENTIFIER.
true
value string Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
false
valueFrom object Source for the environment variable's value. Cannot be used if value is not empty.
false

Instrumentation.spec.go.env[index].valueFrom

↩ Parent

Source for the environment variable's value. Cannot be used if value is not empty.

Name Type Description Required
configMapKeyRef object Selects a key of a ConfigMap.
false
fieldRef object Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
false
resourceFieldRef object Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
false
secretKeyRef object Selects a key of a secret in the pod's namespace
false

Instrumentation.spec.go.env[index].valueFrom.configMapKeyRef

↩ Parent

Selects a key of a ConfigMap.

Name Type Description Required
key string The key to select.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the ConfigMap or its key must be defined
false

Instrumentation.spec.go.env[index].valueFrom.fieldRef

↩ Parent

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

Name Type Description Required
fieldPath string Path of the field to select in the specified API version.
true
apiVersion string Version of the schema the FieldPath is written in terms of, defaults to "v1".
false

Instrumentation.spec.go.env[index].valueFrom.resourceFieldRef

↩ Parent

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.

Name Type Description Required
resource string Required: resource to select
true
containerName string Container name: required for volumes, optional for env vars
false
divisor int or string Specifies the output format of the exposed resources, defaults to "1"
false

Instrumentation.spec.go.env[index].valueFrom.secretKeyRef

↩ Parent

Selects a key of a secret in the pod's namespace

Name Type Description Required
key string The key of the secret to select from. Must be a valid secret key.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the Secret or its key must be defined
false

Instrumentation.spec.go.resourceRequirements

↩ Parent

Resources describes the compute resource requirements.

Name Type Description Required
claims []object Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
false
limits map[string]int or string Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false
requests map[string]int or string Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false

Instrumentation.spec.go.resourceRequirements.claims[index]

↩ Parent

ResourceClaim references one entry in PodSpec.ResourceClaims.

Name Type Description Required
name string Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
true

Instrumentation.spec.java

↩ Parent

Java defines configuration for java auto-instrumentation.

Name Type Description Required
env []object Env defines java specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored.
false
image string Image is a container image with javaagent auto-instrumentation JAR.
false
resources object Resources describes the compute resource requirements.
false

Instrumentation.spec.java.env[index]

↩ Parent

EnvVar represents an environment variable present in a Container.

Name Type Description Required
name string Name of the environment variable. Must be a C_IDENTIFIER.
true
value string Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
false
valueFrom object Source for the environment variable's value. Cannot be used if value is not empty.
false

Instrumentation.spec.java.env[index].valueFrom

↩ Parent

Source for the environment variable's value. Cannot be used if value is not empty.

Name Type Description Required
configMapKeyRef object Selects a key of a ConfigMap.
false
fieldRef object Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
false
resourceFieldRef object Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
false
secretKeyRef object Selects a key of a secret in the pod's namespace
false

Instrumentation.spec.java.env[index].valueFrom.configMapKeyRef

↩ Parent

Selects a key of a ConfigMap.

Name Type Description Required
key string The key to select.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the ConfigMap or its key must be defined
false

Instrumentation.spec.java.env[index].valueFrom.fieldRef

↩ Parent

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

Name Type Description Required
fieldPath string Path of the field to select in the specified API version.
true
apiVersion string Version of the schema the FieldPath is written in terms of, defaults to "v1".
false

Instrumentation.spec.java.env[index].valueFrom.resourceFieldRef

↩ Parent

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.

Name Type Description Required
resource string Required: resource to select
true
containerName string Container name: required for volumes, optional for env vars
false
divisor int or string Specifies the output format of the exposed resources, defaults to "1"
false

Instrumentation.spec.java.env[index].valueFrom.secretKeyRef

↩ Parent

Selects a key of a secret in the pod's namespace

Name Type Description Required
key string The key of the secret to select from. Must be a valid secret key.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the Secret or its key must be defined
false

Instrumentation.spec.java.resources

↩ Parent

Resources describes the compute resource requirements.

Name Type Description Required
claims []object Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
false
limits map[string]int or string Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false
requests map[string]int or string Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false

Instrumentation.spec.java.resources.claims[index]

↩ Parent

ResourceClaim references one entry in PodSpec.ResourceClaims.

Name Type Description Required
name string Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
true

Instrumentation.spec.nodejs

↩ Parent

NodeJS defines configuration for nodejs auto-instrumentation.

Name Type Description Required
env []object Env defines nodejs specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored.
false
image string Image is a container image with NodeJS SDK and auto-instrumentation.
false
resourceRequirements object Resources describes the compute resource requirements.
false

Instrumentation.spec.nodejs.env[index]

↩ Parent

EnvVar represents an environment variable present in a Container.

Name Type Description Required
name string Name of the environment variable. Must be a C_IDENTIFIER.
true
value string Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
false
valueFrom object Source for the environment variable's value. Cannot be used if value is not empty.
false

Instrumentation.spec.nodejs.env[index].valueFrom

↩ Parent

Source for the environment variable's value. Cannot be used if value is not empty.

Name Type Description Required
configMapKeyRef object Selects a key of a ConfigMap.
false
fieldRef object Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
false
resourceFieldRef object Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
false
secretKeyRef object Selects a key of a secret in the pod's namespace
false

Instrumentation.spec.nodejs.env[index].valueFrom.configMapKeyRef

↩ Parent

Selects a key of a ConfigMap.

Name Type Description Required
key string The key to select.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the ConfigMap or its key must be defined
false

Instrumentation.spec.nodejs.env[index].valueFrom.fieldRef

↩ Parent

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

Name Type Description Required
fieldPath string Path of the field to select in the specified API version.
true
apiVersion string Version of the schema the FieldPath is written in terms of, defaults to "v1".
false

Instrumentation.spec.nodejs.env[index].valueFrom.resourceFieldRef

↩ Parent

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.

Name Type Description Required
resource string Required: resource to select
true
containerName string Container name: required for volumes, optional for env vars
false
divisor int or string Specifies the output format of the exposed resources, defaults to "1"
false

Instrumentation.spec.nodejs.env[index].valueFrom.secretKeyRef

↩ Parent

Selects a key of a secret in the pod's namespace

Name Type Description Required
key string The key of the secret to select from. Must be a valid secret key.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the Secret or its key must be defined
false

Instrumentation.spec.nodejs.resourceRequirements

↩ Parent

Resources describes the compute resource requirements.

Name Type Description Required
claims []object Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
false
limits map[string]int or string Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false
requests map[string]int or string Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false

Instrumentation.spec.nodejs.resourceRequirements.claims[index]

↩ Parent

ResourceClaim references one entry in PodSpec.ResourceClaims.

Name Type Description Required
name string Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
true

Instrumentation.spec.python

↩ Parent

Python defines configuration for python auto-instrumentation.

Name Type Description Required
env []object Env defines python specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored.
false
image string Image is a container image with Python SDK and auto-instrumentation.
false
resourceRequirements object Resources describes the compute resource requirements.
false

Instrumentation.spec.python.env[index]

↩ Parent

EnvVar represents an environment variable present in a Container.

Name Type Description Required
name string Name of the environment variable. Must be a C_IDENTIFIER.
true
value string Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
false
valueFrom object Source for the environment variable's value. Cannot be used if value is not empty.
false

Instrumentation.spec.python.env[index].valueFrom

↩ Parent

Source for the environment variable's value. Cannot be used if value is not empty.

Name Type Description Required
configMapKeyRef object Selects a key of a ConfigMap.
false
fieldRef object Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
false
resourceFieldRef object Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
false
secretKeyRef object Selects a key of a secret in the pod's namespace
false

Instrumentation.spec.python.env[index].valueFrom.configMapKeyRef

↩ Parent

Selects a key of a ConfigMap.

Name Type Description Required
key string The key to select.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the ConfigMap or its key must be defined
false

Instrumentation.spec.python.env[index].valueFrom.fieldRef

↩ Parent

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

Name Type Description Required
fieldPath string Path of the field to select in the specified API version.
true
apiVersion string Version of the schema the FieldPath is written in terms of, defaults to "v1".
false

Instrumentation.spec.python.env[index].valueFrom.resourceFieldRef

↩ Parent

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.

Name Type Description Required
resource string Required: resource to select
true
containerName string Container name: required for volumes, optional for env vars
false
divisor int or string Specifies the output format of the exposed resources, defaults to "1"
false

Instrumentation.spec.python.env[index].valueFrom.secretKeyRef

↩ Parent

Selects a key of a secret in the pod's namespace

Name Type Description Required
key string The key of the secret to select from. Must be a valid secret key.
true
name string Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
false
optional boolean Specify whether the Secret or its key must be defined
false

Instrumentation.spec.python.resourceRequirements

↩ Parent

Resources describes the compute resource requirements.

Name Type Description Required
claims []object Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
false
limits map[string]int or string Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false
requests map[string]int or string Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false

Instrumentation.spec.python.resourceRequirements.claims[index]

↩ Parent

ResourceClaim references one entry in PodSpec.ResourceClaims.

Name Type Description Required
name string Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
true

Instrumentation.spec.resource

↩ Parent

Resource defines the configuration for the resource attributes, as defined by the OpenTelemetry specification.

Name Type Description Required
addK8sUIDAttributes boolean AddK8sUIDAttributes defines whether K8s UID attributes should be collected (e.g. k8s.deployment.uid).
false
resourceAttributes map[string]string Attributes defines attributes that are added to the resource. For example environment: dev
false

Instrumentation.spec.sampler

↩ Parent

Sampler defines sampling configuration.

Name Type Description Required
argument string Argument defines sampler argument. The value depends on the sampler type. For instance for parentbased_traceidratio sampler type it is a number in range [0..1] e.g. 0.25. The value will be set in the OTEL_TRACES_SAMPLER_ARG env var.
false
type enum Type defines sampler type. The value will be set in the OTEL_TRACES_SAMPLER env var. The value can be for instance parentbased_always_on, parentbased_always_off, parentbased_traceidratio...

Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray
false