Instrumentation is the spec for OpenTelemetry instrumentation.
Last changed in OpenTelemetry Operator v0.84.0
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
InstrumentationSpec defines the desired state of OpenTelemetry SDK and instrumentation.
ApacheHttpd defines configuration for Apache HTTPD auto-instrumentation.
Attrs defines Apache HTTPD agent specific attributes. The precedence is: `agent default attributes` > `instrument spec attributes` . Attributes are documented at https://github.
Name of the environment variable. Must be a C_IDENTIFIER.
Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables.
Source for the environment variable's value. Cannot be used if value is not empty.
Selects a key of a ConfigMap.
The key to select.
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?
Specify whether the ConfigMap or its key must be defined
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.
Version of the schema the FieldPath is written in terms of, defaults to "v1".
Path of the field to select in the specified API version.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.
Container name: required for volumes, optional for env vars
Specifies the output format of the exposed resources, defaults to "1"
Required: resource to select
Selects a key of a secret in the pod's namespace
The key of the secret to select from. Must be a valid secret key.
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?
Specify whether the Secret or its key must be defined
Location of Apache HTTPD server configuration. Needed only if different from default "/usr/local/apache2/conf"
Env defines Apache HTTPD specific env vars.
Name of the environment variable. Must be a C_IDENTIFIER.
Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables.
Source for the environment variable's value. Cannot be used if value is not empty.
Selects a key of a ConfigMap.
The key to select.
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?
Specify whether the ConfigMap or its key must be defined
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.
Version of the schema the FieldPath is written in terms of, defaults to "v1".
Path of the field to select in the specified API version.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.
Container name: required for volumes, optional for env vars
Specifies the output format of the exposed resources, defaults to "1"
Required: resource to select
Selects a key of a secret in the pod's namespace
The key of the secret to select from. Must be a valid secret key.
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?
Specify whether the Secret or its key must be defined
Image is a container image with Apache SDK and auto-instrumentation.
Resources describes the compute resource requirements.
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.
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.
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Requests describes the minimum amount of compute resources required.
Apache HTTPD server version. One of 2.4 or 2.2. Default is 2.4
VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 150Mi.
DotNet defines configuration for DotNet auto-instrumentation.
Env defines DotNet specific env vars.
Name of the environment variable. Must be a C_IDENTIFIER.
Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables.
Source for the environment variable's value. Cannot be used if value is not empty.
Selects a key of a ConfigMap.
The key to select.
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?
Specify whether the ConfigMap or its key must be defined
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.
Version of the schema the FieldPath is written in terms of, defaults to "v1".
Path of the field to select in the specified API version.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.
Container name: required for volumes, optional for env vars
Specifies the output format of the exposed resources, defaults to "1"
Required: resource to select
Selects a key of a secret in the pod's namespace
The key of the secret to select from. Must be a valid secret key.
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?
Specify whether the Secret or its key must be defined
Image is a container image with DotNet SDK and auto-instrumentation.
Resources describes the compute resource requirements.
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.
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.
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Requests describes the minimum amount of compute resources required.
VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 150Mi.
Env defines common env vars.
Name of the environment variable. Must be a C_IDENTIFIER.
Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables.
Source for the environment variable's value. Cannot be used if value is not empty.
Selects a key of a ConfigMap.
The key to select.
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?
Specify whether the ConfigMap or its key must be defined
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.
Version of the schema the FieldPath is written in terms of, defaults to "v1".
Path of the field to select in the specified API version.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.
Container name: required for volumes, optional for env vars
Specifies the output format of the exposed resources, defaults to "1"
Required: resource to select
Selects a key of a secret in the pod's namespace
The key of the secret to select from. Must be a valid secret key.
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?
Specify whether the Secret or its key must be defined
Exporter defines exporter configuration.
Endpoint is address of the collector with OTLP endpoint.
Go defines configuration for Go auto-instrumentation.
Env defines Go specific env vars.
Name of the environment variable. Must be a C_IDENTIFIER.
Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables.
Source for the environment variable's value. Cannot be used if value is not empty.
Selects a key of a ConfigMap.
The key to select.
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?
Specify whether the ConfigMap or its key must be defined
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.
Version of the schema the FieldPath is written in terms of, defaults to "v1".
Path of the field to select in the specified API version.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.
Container name: required for volumes, optional for env vars
Specifies the output format of the exposed resources, defaults to "1"
Required: resource to select
Selects a key of a secret in the pod's namespace
The key of the secret to select from. Must be a valid secret key.
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?
Specify whether the Secret or its key must be defined
Image is a container image with Go SDK and auto-instrumentation.
Resources describes the compute resource requirements.
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.
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.
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Requests describes the minimum amount of compute resources required.
VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 150Mi.
Java defines configuration for java auto-instrumentation.
Env defines java specific env vars.
Name of the environment variable. Must be a C_IDENTIFIER.
Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables.
Source for the environment variable's value. Cannot be used if value is not empty.
Selects a key of a ConfigMap.
The key to select.
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?
Specify whether the ConfigMap or its key must be defined
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.
Version of the schema the FieldPath is written in terms of, defaults to "v1".
Path of the field to select in the specified API version.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.
Container name: required for volumes, optional for env vars
Specifies the output format of the exposed resources, defaults to "1"
Required: resource to select
Selects a key of a secret in the pod's namespace
The key of the secret to select from. Must be a valid secret key.
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?
Specify whether the Secret or its key must be defined
Image is a container image with javaagent auto-instrumentation JAR.
Resources describes the compute resource requirements.
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.
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.
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Requests describes the minimum amount of compute resources required.
VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 150Mi.
Nginx defines configuration for Nginx auto-instrumentation.
Attrs defines Nginx agent specific attributes. The precedence order is: `agent default attributes` > `instrument spec attributes` . Attributes are documented at https://github.
Name of the environment variable. Must be a C_IDENTIFIER.
Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables.
Source for the environment variable's value. Cannot be used if value is not empty.
Selects a key of a ConfigMap.
The key to select.
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?
Specify whether the ConfigMap or its key must be defined
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.
Version of the schema the FieldPath is written in terms of, defaults to "v1".
Path of the field to select in the specified API version.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.
Container name: required for volumes, optional for env vars
Specifies the output format of the exposed resources, defaults to "1"
Required: resource to select
Selects a key of a secret in the pod's namespace
The key of the secret to select from. Must be a valid secret key.
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?
Specify whether the Secret or its key must be defined
Location of Nginx configuration file. Needed only if different from default "/etx/nginx/nginx.conf"
Env defines Nginx specific env vars.
Name of the environment variable. Must be a C_IDENTIFIER.
Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables.
Source for the environment variable's value. Cannot be used if value is not empty.
Selects a key of a ConfigMap.
The key to select.
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?
Specify whether the ConfigMap or its key must be defined
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.
Version of the schema the FieldPath is written in terms of, defaults to "v1".
Path of the field to select in the specified API version.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.
Container name: required for volumes, optional for env vars
Specifies the output format of the exposed resources, defaults to "1"
Required: resource to select
Selects a key of a secret in the pod's namespace
The key of the secret to select from. Must be a valid secret key.
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?
Specify whether the Secret or its key must be defined
Image is a container image with Nginx SDK and auto-instrumentation.
Resources describes the compute resource requirements.
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.
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.
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Requests describes the minimum amount of compute resources required.
VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 150Mi.
NodeJS defines configuration for nodejs auto-instrumentation.
Env defines nodejs specific env vars.
Name of the environment variable. Must be a C_IDENTIFIER.
Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables.
Source for the environment variable's value. Cannot be used if value is not empty.
Selects a key of a ConfigMap.
The key to select.
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?
Specify whether the ConfigMap or its key must be defined
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.
Version of the schema the FieldPath is written in terms of, defaults to "v1".
Path of the field to select in the specified API version.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.
Container name: required for volumes, optional for env vars
Specifies the output format of the exposed resources, defaults to "1"
Required: resource to select
Selects a key of a secret in the pod's namespace
The key of the secret to select from. Must be a valid secret key.
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?
Specify whether the Secret or its key must be defined
Image is a container image with NodeJS SDK and auto-instrumentation.
Resources describes the compute resource requirements.
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.
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.
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Requests describes the minimum amount of compute resources required.
VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 150Mi.
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
Python defines configuration for python auto-instrumentation.
Env defines python specific env vars.
Name of the environment variable. Must be a C_IDENTIFIER.
Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables.
Source for the environment variable's value. Cannot be used if value is not empty.
Selects a key of a ConfigMap.
The key to select.
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?
Specify whether the ConfigMap or its key must be defined
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.
Version of the schema the FieldPath is written in terms of, defaults to "v1".
Path of the field to select in the specified API version.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.
Container name: required for volumes, optional for env vars
Specifies the output format of the exposed resources, defaults to "1"
Required: resource to select
Selects a key of a secret in the pod's namespace
The key of the secret to select from. Must be a valid secret key.
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?
Specify whether the Secret or its key must be defined
Image is a container image with Python SDK and auto-instrumentation.
Resources describes the compute resource requirements.
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.
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.
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Requests describes the minimum amount of compute resources required.
VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 150Mi.
Resource defines the configuration for the resource attributes, as defined by the OpenTelemetry specification.
AddK8sUIDAttributes defines whether K8s UID attributes should be collected (e.g. k8s.deployment.uid).
Attributes defines attributes that are added to the resource. For example environment: dev
Sampler defines sampling configuration.
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.
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...
InstrumentationStatus defines status of the instrumentation.
Source: opentelemetry.io_instrumentations.yaml
Changes to Instrumentation (opentelemetry.io/v1alpha1) in each OpenTelemetry Operator version, compared to the version before it.
7 properties have been added
Released · View Instrumentation in v0.84.0
58 properties have changed the description
Released · View Instrumentation in v0.83.0
1 property has been added
1 property has changed the description
Released · View Instrumentation in v0.80.0
1 property has been added
5 properties have changed the description
Released · View Instrumentation in v0.78.0
6 properties have been added
Released · View Instrumentation in v0.77.0
3 properties have changed the description
Released · View Instrumentation in v0.71.0
1 property has been added
Released · View Instrumentation in v0.69.0
1 property has been added
Released · View Instrumentation in v0.57.2
4 properties have been added
Released · View Instrumentation in v0.43.0
5 properties have been added
The description of Instrumentation has changed
1 property has changed the description
Released · View Instrumentation in v0.39.0
Instrumentation was first seen on this version of OpenTelemetry Operator
Released · View Instrumentation in v0.38.0
No examples of Instrumentation yet. Contribute one on GitHub.