diff --git a/Documentation/api.md b/Documentation/api.md
index f5047e925..c50899d7e 100644
--- a/Documentation/api.md
+++ b/Documentation/api.md
@@ -2261,6 +2261,20 @@ When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet
 </tr>
 <tr>
 <td>
+<code>tracingConfig</code><br/>
+<em>
+<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
+PrometheusTracingConfig
+</a>
+</em>
+</td>
+<td>
+<em>(Optional)</em>
+<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
+</td>
+</tr>
+<tr>
+<td>
 <code>baseImage</code><br/>
 <em>
 string
@@ -2587,20 +2601,6 @@ TSDBSpec
 (TSDB).</p>
 </td>
 </tr>
-<tr>
-<td>
-<code>tracingConfig</code><br/>
-<em>
-<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
-PrometheusTracingConfig
-</a>
-</em>
-</td>
-<td>
-<em>(Optional)</em>
-<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
-</td>
-</tr>
 </table>
 </td>
 </tr>
@@ -6179,6 +6179,20 @@ When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet
 <p>PodTargetLabels are added to all Pod/ServiceMonitors&rsquo; podTargetLabels</p>
 </td>
 </tr>
+<tr>
+<td>
+<code>tracingConfig</code><br/>
+<em>
+<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
+PrometheusTracingConfig
+</a>
+</em>
+</td>
+<td>
+<em>(Optional)</em>
+<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
+</td>
+</tr>
 </tbody>
 </table>
 <h3 id="monitoring.coreos.com/v1.Condition">Condition
@@ -9499,6 +9513,20 @@ When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet
 </tr>
 <tr>
 <td>
+<code>tracingConfig</code><br/>
+<em>
+<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
+PrometheusTracingConfig
+</a>
+</em>
+</td>
+<td>
+<em>(Optional)</em>
+<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
+</td>
+</tr>
+<tr>
+<td>
 <code>baseImage</code><br/>
 <em>
 string
@@ -9825,20 +9853,6 @@ TSDBSpec
 (TSDB).</p>
 </td>
 </tr>
-<tr>
-<td>
-<code>tracingConfig</code><br/>
-<em>
-<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
-PrometheusTracingConfig
-</a>
-</em>
-</td>
-<td>
-<em>(Optional)</em>
-<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
-</td>
-</tr>
 </tbody>
 </table>
 <h3 id="monitoring.coreos.com/v1.PrometheusStatus">PrometheusStatus
@@ -9951,7 +9965,7 @@ int32
 <h3 id="monitoring.coreos.com/v1.PrometheusTracingConfig">PrometheusTracingConfig
 </h3>
 <p>
-(<em>Appears on:</em><a href="#monitoring.coreos.com/v1.PrometheusSpec">PrometheusSpec</a>)
+(<em>Appears on:</em><a href="#monitoring.coreos.com/v1.CommonPrometheusFields">CommonPrometheusFields</a>)
 </p>
 <div>
 </div>
@@ -14469,6 +14483,20 @@ When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet
 <p>PodTargetLabels are added to all Pod/ServiceMonitors&rsquo; podTargetLabels</p>
 </td>
 </tr>
+<tr>
+<td>
+<code>tracingConfig</code><br/>
+<em>
+<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
+PrometheusTracingConfig
+</a>
+</em>
+</td>
+<td>
+<em>(Optional)</em>
+<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
+</td>
+</tr>
 </table>
 </td>
 </tr>
@@ -17071,6 +17099,20 @@ When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet
 <p>PodTargetLabels are added to all Pod/ServiceMonitors&rsquo; podTargetLabels</p>
 </td>
 </tr>
+<tr>
+<td>
+<code>tracingConfig</code><br/>
+<em>
+<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
+PrometheusTracingConfig
+</a>
+</em>
+</td>
+<td>
+<em>(Optional)</em>
+<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
+</td>
+</tr>
 </tbody>
 </table>
 <h3 id="monitoring.coreos.com/v1alpha1.PushoverConfig">PushoverConfig
diff --git a/bundle.yaml b/bundle.yaml
index c84f6d7d7..e4c279f7d 100644
--- a/bundle.yaml
+++ b/bundle.yaml
@@ -19234,6 +19234,185 @@ spec:
                   - whenUnsatisfiable
                   type: object
                 type: array
+              tracingConfig:
+                description: TracingConfig configures tracing in Prometheus. This
+                  is an experimental feature, it may change in any upcoming release
+                  in a breaking way.
+                properties:
+                  clientType:
+                    description: Client used to export the traces. Supported values
+                      are `http` or `grpc`.
+                    enum:
+                    - http
+                    - grpc
+                    type: string
+                  compression:
+                    description: Compression key for supported compression types.
+                      The only supported value is `gzip`.
+                    enum:
+                    - gzip
+                    type: string
+                  endpoint:
+                    description: Endpoint to send the traces to. Should be provided
+                      in format <host>:<port>.
+                    minLength: 1
+                    type: string
+                  headers:
+                    additionalProperties:
+                      type: string
+                    description: Key-value pairs to be used as headers associated
+                      with gRPC or HTTP requests.
+                    type: object
+                  insecure:
+                    description: If disabled, the client will use a secure connection.
+                    type: boolean
+                  samplingFraction:
+                    anyOf:
+                    - type: integer
+                    - type: string
+                    description: Sets the probability a given trace will be sampled.
+                      Must be a float from 0 through 1.
+                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                    x-kubernetes-int-or-string: true
+                  timeout:
+                    description: Maximum time the exporter will wait for each batch
+                      export.
+                    pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
+                    type: string
+                  tlsConfig:
+                    description: TLS Config to use when sending traces.
+                    properties:
+                      ca:
+                        description: Certificate authority used when verifying server
+                          certificates.
+                        properties:
+                          configMap:
+                            description: ConfigMap containing data to use for the
+                              targets.
+                            properties:
+                              key:
+                                description: The key to select.
+                                type: string
+                              name:
+                                description: '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?'
+                                type: string
+                              optional:
+                                description: Specify whether the ConfigMap or its
+                                  key must be defined
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                            x-kubernetes-map-type: atomic
+                          secret:
+                            description: Secret containing data to use for the targets.
+                            properties:
+                              key:
+                                description: The key of the secret to select from.  Must
+                                  be a valid secret key.
+                                type: string
+                              name:
+                                description: '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?'
+                                type: string
+                              optional:
+                                description: Specify whether the Secret or its key
+                                  must be defined
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                            x-kubernetes-map-type: atomic
+                        type: object
+                      caFile:
+                        description: Path to the CA cert in the Prometheus container
+                          to use for the targets.
+                        type: string
+                      cert:
+                        description: Client certificate to present when doing client-authentication.
+                        properties:
+                          configMap:
+                            description: ConfigMap containing data to use for the
+                              targets.
+                            properties:
+                              key:
+                                description: The key to select.
+                                type: string
+                              name:
+                                description: '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?'
+                                type: string
+                              optional:
+                                description: Specify whether the ConfigMap or its
+                                  key must be defined
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                            x-kubernetes-map-type: atomic
+                          secret:
+                            description: Secret containing data to use for the targets.
+                            properties:
+                              key:
+                                description: The key of the secret to select from.  Must
+                                  be a valid secret key.
+                                type: string
+                              name:
+                                description: '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?'
+                                type: string
+                              optional:
+                                description: Specify whether the Secret or its key
+                                  must be defined
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                            x-kubernetes-map-type: atomic
+                        type: object
+                      certFile:
+                        description: Path to the client cert file in the Prometheus
+                          container for the targets.
+                        type: string
+                      insecureSkipVerify:
+                        description: Disable target certificate validation.
+                        type: boolean
+                      keyFile:
+                        description: Path to the client key file in the Prometheus
+                          container for the targets.
+                        type: string
+                      keySecret:
+                        description: Secret containing the client key file for the
+                          targets.
+                        properties:
+                          key:
+                            description: The key of the secret to select from.  Must
+                              be a valid secret key.
+                            type: string
+                          name:
+                            description: '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?'
+                            type: string
+                          optional:
+                            description: Specify whether the Secret or its key must
+                              be defined
+                            type: boolean
+                        required:
+                        - key
+                        type: object
+                        x-kubernetes-map-type: atomic
+                      serverName:
+                        description: Used to verify the hostname for the targets.
+                        type: string
+                    type: object
+                required:
+                - endpoint
+                type: object
               version:
                 description: Version of Prometheus to be deployed.
                 type: string
diff --git a/example/prometheus-operator-crd-full/monitoring.coreos.com_prometheusagents.yaml b/example/prometheus-operator-crd-full/monitoring.coreos.com_prometheusagents.yaml
index 76a6e88b1..ea3c45a92 100644
--- a/example/prometheus-operator-crd-full/monitoring.coreos.com_prometheusagents.yaml
+++ b/example/prometheus-operator-crd-full/monitoring.coreos.com_prometheusagents.yaml
@@ -6098,6 +6098,185 @@ spec:
                   - whenUnsatisfiable
                   type: object
                 type: array
+              tracingConfig:
+                description: TracingConfig configures tracing in Prometheus. This
+                  is an experimental feature, it may change in any upcoming release
+                  in a breaking way.
+                properties:
+                  clientType:
+                    description: Client used to export the traces. Supported values
+                      are `http` or `grpc`.
+                    enum:
+                    - http
+                    - grpc
+                    type: string
+                  compression:
+                    description: Compression key for supported compression types.
+                      The only supported value is `gzip`.
+                    enum:
+                    - gzip
+                    type: string
+                  endpoint:
+                    description: Endpoint to send the traces to. Should be provided
+                      in format <host>:<port>.
+                    minLength: 1
+                    type: string
+                  headers:
+                    additionalProperties:
+                      type: string
+                    description: Key-value pairs to be used as headers associated
+                      with gRPC or HTTP requests.
+                    type: object
+                  insecure:
+                    description: If disabled, the client will use a secure connection.
+                    type: boolean
+                  samplingFraction:
+                    anyOf:
+                    - type: integer
+                    - type: string
+                    description: Sets the probability a given trace will be sampled.
+                      Must be a float from 0 through 1.
+                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                    x-kubernetes-int-or-string: true
+                  timeout:
+                    description: Maximum time the exporter will wait for each batch
+                      export.
+                    pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
+                    type: string
+                  tlsConfig:
+                    description: TLS Config to use when sending traces.
+                    properties:
+                      ca:
+                        description: Certificate authority used when verifying server
+                          certificates.
+                        properties:
+                          configMap:
+                            description: ConfigMap containing data to use for the
+                              targets.
+                            properties:
+                              key:
+                                description: The key to select.
+                                type: string
+                              name:
+                                description: '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?'
+                                type: string
+                              optional:
+                                description: Specify whether the ConfigMap or its
+                                  key must be defined
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                            x-kubernetes-map-type: atomic
+                          secret:
+                            description: Secret containing data to use for the targets.
+                            properties:
+                              key:
+                                description: The key of the secret to select from.  Must
+                                  be a valid secret key.
+                                type: string
+                              name:
+                                description: '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?'
+                                type: string
+                              optional:
+                                description: Specify whether the Secret or its key
+                                  must be defined
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                            x-kubernetes-map-type: atomic
+                        type: object
+                      caFile:
+                        description: Path to the CA cert in the Prometheus container
+                          to use for the targets.
+                        type: string
+                      cert:
+                        description: Client certificate to present when doing client-authentication.
+                        properties:
+                          configMap:
+                            description: ConfigMap containing data to use for the
+                              targets.
+                            properties:
+                              key:
+                                description: The key to select.
+                                type: string
+                              name:
+                                description: '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?'
+                                type: string
+                              optional:
+                                description: Specify whether the ConfigMap or its
+                                  key must be defined
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                            x-kubernetes-map-type: atomic
+                          secret:
+                            description: Secret containing data to use for the targets.
+                            properties:
+                              key:
+                                description: The key of the secret to select from.  Must
+                                  be a valid secret key.
+                                type: string
+                              name:
+                                description: '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?'
+                                type: string
+                              optional:
+                                description: Specify whether the Secret or its key
+                                  must be defined
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                            x-kubernetes-map-type: atomic
+                        type: object
+                      certFile:
+                        description: Path to the client cert file in the Prometheus
+                          container for the targets.
+                        type: string
+                      insecureSkipVerify:
+                        description: Disable target certificate validation.
+                        type: boolean
+                      keyFile:
+                        description: Path to the client key file in the Prometheus
+                          container for the targets.
+                        type: string
+                      keySecret:
+                        description: Secret containing the client key file for the
+                          targets.
+                        properties:
+                          key:
+                            description: The key of the secret to select from.  Must
+                              be a valid secret key.
+                            type: string
+                          name:
+                            description: '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?'
+                            type: string
+                          optional:
+                            description: Specify whether the Secret or its key must
+                              be defined
+                            type: boolean
+                        required:
+                        - key
+                        type: object
+                        x-kubernetes-map-type: atomic
+                      serverName:
+                        description: Used to verify the hostname for the targets.
+                        type: string
+                    type: object
+                required:
+                - endpoint
+                type: object
               version:
                 description: Version of Prometheus to be deployed.
                 type: string
diff --git a/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml b/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml
index 76a6e88b1..ea3c45a92 100644
--- a/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml
+++ b/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml
@@ -6098,6 +6098,185 @@ spec:
                   - whenUnsatisfiable
                   type: object
                 type: array
+              tracingConfig:
+                description: TracingConfig configures tracing in Prometheus. This
+                  is an experimental feature, it may change in any upcoming release
+                  in a breaking way.
+                properties:
+                  clientType:
+                    description: Client used to export the traces. Supported values
+                      are `http` or `grpc`.
+                    enum:
+                    - http
+                    - grpc
+                    type: string
+                  compression:
+                    description: Compression key for supported compression types.
+                      The only supported value is `gzip`.
+                    enum:
+                    - gzip
+                    type: string
+                  endpoint:
+                    description: Endpoint to send the traces to. Should be provided
+                      in format <host>:<port>.
+                    minLength: 1
+                    type: string
+                  headers:
+                    additionalProperties:
+                      type: string
+                    description: Key-value pairs to be used as headers associated
+                      with gRPC or HTTP requests.
+                    type: object
+                  insecure:
+                    description: If disabled, the client will use a secure connection.
+                    type: boolean
+                  samplingFraction:
+                    anyOf:
+                    - type: integer
+                    - type: string
+                    description: Sets the probability a given trace will be sampled.
+                      Must be a float from 0 through 1.
+                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                    x-kubernetes-int-or-string: true
+                  timeout:
+                    description: Maximum time the exporter will wait for each batch
+                      export.
+                    pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
+                    type: string
+                  tlsConfig:
+                    description: TLS Config to use when sending traces.
+                    properties:
+                      ca:
+                        description: Certificate authority used when verifying server
+                          certificates.
+                        properties:
+                          configMap:
+                            description: ConfigMap containing data to use for the
+                              targets.
+                            properties:
+                              key:
+                                description: The key to select.
+                                type: string
+                              name:
+                                description: '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?'
+                                type: string
+                              optional:
+                                description: Specify whether the ConfigMap or its
+                                  key must be defined
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                            x-kubernetes-map-type: atomic
+                          secret:
+                            description: Secret containing data to use for the targets.
+                            properties:
+                              key:
+                                description: The key of the secret to select from.  Must
+                                  be a valid secret key.
+                                type: string
+                              name:
+                                description: '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?'
+                                type: string
+                              optional:
+                                description: Specify whether the Secret or its key
+                                  must be defined
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                            x-kubernetes-map-type: atomic
+                        type: object
+                      caFile:
+                        description: Path to the CA cert in the Prometheus container
+                          to use for the targets.
+                        type: string
+                      cert:
+                        description: Client certificate to present when doing client-authentication.
+                        properties:
+                          configMap:
+                            description: ConfigMap containing data to use for the
+                              targets.
+                            properties:
+                              key:
+                                description: The key to select.
+                                type: string
+                              name:
+                                description: '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?'
+                                type: string
+                              optional:
+                                description: Specify whether the ConfigMap or its
+                                  key must be defined
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                            x-kubernetes-map-type: atomic
+                          secret:
+                            description: Secret containing data to use for the targets.
+                            properties:
+                              key:
+                                description: The key of the secret to select from.  Must
+                                  be a valid secret key.
+                                type: string
+                              name:
+                                description: '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?'
+                                type: string
+                              optional:
+                                description: Specify whether the Secret or its key
+                                  must be defined
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                            x-kubernetes-map-type: atomic
+                        type: object
+                      certFile:
+                        description: Path to the client cert file in the Prometheus
+                          container for the targets.
+                        type: string
+                      insecureSkipVerify:
+                        description: Disable target certificate validation.
+                        type: boolean
+                      keyFile:
+                        description: Path to the client key file in the Prometheus
+                          container for the targets.
+                        type: string
+                      keySecret:
+                        description: Secret containing the client key file for the
+                          targets.
+                        properties:
+                          key:
+                            description: The key of the secret to select from.  Must
+                              be a valid secret key.
+                            type: string
+                          name:
+                            description: '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?'
+                            type: string
+                          optional:
+                            description: Specify whether the Secret or its key must
+                              be defined
+                            type: boolean
+                        required:
+                        - key
+                        type: object
+                        x-kubernetes-map-type: atomic
+                      serverName:
+                        description: Used to verify the hostname for the targets.
+                        type: string
+                    type: object
+                required:
+                - endpoint
+                type: object
               version:
                 description: Version of Prometheus to be deployed.
                 type: string
diff --git a/jsonnet/prometheus-operator/prometheusagents-crd.json b/jsonnet/prometheus-operator/prometheusagents-crd.json
index 394de00fe..013f70260 100644
--- a/jsonnet/prometheus-operator/prometheusagents-crd.json
+++ b/jsonnet/prometheus-operator/prometheusagents-crd.json
@@ -5458,6 +5458,212 @@
                     },
                     "type": "array"
                   },
+                  "tracingConfig": {
+                    "description": "TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.",
+                    "properties": {
+                      "clientType": {
+                        "description": "Client used to export the traces. Supported values are `http` or `grpc`.",
+                        "enum": [
+                          "http",
+                          "grpc"
+                        ],
+                        "type": "string"
+                      },
+                      "compression": {
+                        "description": "Compression key for supported compression types. The only supported value is `gzip`.",
+                        "enum": [
+                          "gzip"
+                        ],
+                        "type": "string"
+                      },
+                      "endpoint": {
+                        "description": "Endpoint to send the traces to. Should be provided in format <host>:<port>.",
+                        "minLength": 1,
+                        "type": "string"
+                      },
+                      "headers": {
+                        "additionalProperties": {
+                          "type": "string"
+                        },
+                        "description": "Key-value pairs to be used as headers associated with gRPC or HTTP requests.",
+                        "type": "object"
+                      },
+                      "insecure": {
+                        "description": "If disabled, the client will use a secure connection.",
+                        "type": "boolean"
+                      },
+                      "samplingFraction": {
+                        "anyOf": [
+                          {
+                            "type": "integer"
+                          },
+                          {
+                            "type": "string"
+                          }
+                        ],
+                        "description": "Sets the probability a given trace will be sampled. Must be a float from 0 through 1.",
+                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
+                        "x-kubernetes-int-or-string": true
+                      },
+                      "timeout": {
+                        "description": "Maximum time the exporter will wait for each batch export.",
+                        "pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
+                        "type": "string"
+                      },
+                      "tlsConfig": {
+                        "description": "TLS Config to use when sending traces.",
+                        "properties": {
+                          "ca": {
+                            "description": "Certificate authority used when verifying server certificates.",
+                            "properties": {
+                              "configMap": {
+                                "description": "ConfigMap containing data to use for the targets.",
+                                "properties": {
+                                  "key": {
+                                    "description": "The key to select.",
+                                    "type": "string"
+                                  },
+                                  "name": {
+                                    "description": "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?",
+                                    "type": "string"
+                                  },
+                                  "optional": {
+                                    "description": "Specify whether the ConfigMap or its key must be defined",
+                                    "type": "boolean"
+                                  }
+                                },
+                                "required": [
+                                  "key"
+                                ],
+                                "type": "object",
+                                "x-kubernetes-map-type": "atomic"
+                              },
+                              "secret": {
+                                "description": "Secret containing data to use for the targets.",
+                                "properties": {
+                                  "key": {
+                                    "description": "The key of the secret to select from.  Must be a valid secret key.",
+                                    "type": "string"
+                                  },
+                                  "name": {
+                                    "description": "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?",
+                                    "type": "string"
+                                  },
+                                  "optional": {
+                                    "description": "Specify whether the Secret or its key must be defined",
+                                    "type": "boolean"
+                                  }
+                                },
+                                "required": [
+                                  "key"
+                                ],
+                                "type": "object",
+                                "x-kubernetes-map-type": "atomic"
+                              }
+                            },
+                            "type": "object"
+                          },
+                          "caFile": {
+                            "description": "Path to the CA cert in the Prometheus container to use for the targets.",
+                            "type": "string"
+                          },
+                          "cert": {
+                            "description": "Client certificate to present when doing client-authentication.",
+                            "properties": {
+                              "configMap": {
+                                "description": "ConfigMap containing data to use for the targets.",
+                                "properties": {
+                                  "key": {
+                                    "description": "The key to select.",
+                                    "type": "string"
+                                  },
+                                  "name": {
+                                    "description": "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?",
+                                    "type": "string"
+                                  },
+                                  "optional": {
+                                    "description": "Specify whether the ConfigMap or its key must be defined",
+                                    "type": "boolean"
+                                  }
+                                },
+                                "required": [
+                                  "key"
+                                ],
+                                "type": "object",
+                                "x-kubernetes-map-type": "atomic"
+                              },
+                              "secret": {
+                                "description": "Secret containing data to use for the targets.",
+                                "properties": {
+                                  "key": {
+                                    "description": "The key of the secret to select from.  Must be a valid secret key.",
+                                    "type": "string"
+                                  },
+                                  "name": {
+                                    "description": "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?",
+                                    "type": "string"
+                                  },
+                                  "optional": {
+                                    "description": "Specify whether the Secret or its key must be defined",
+                                    "type": "boolean"
+                                  }
+                                },
+                                "required": [
+                                  "key"
+                                ],
+                                "type": "object",
+                                "x-kubernetes-map-type": "atomic"
+                              }
+                            },
+                            "type": "object"
+                          },
+                          "certFile": {
+                            "description": "Path to the client cert file in the Prometheus container for the targets.",
+                            "type": "string"
+                          },
+                          "insecureSkipVerify": {
+                            "description": "Disable target certificate validation.",
+                            "type": "boolean"
+                          },
+                          "keyFile": {
+                            "description": "Path to the client key file in the Prometheus container for the targets.",
+                            "type": "string"
+                          },
+                          "keySecret": {
+                            "description": "Secret containing the client key file for the targets.",
+                            "properties": {
+                              "key": {
+                                "description": "The key of the secret to select from.  Must be a valid secret key.",
+                                "type": "string"
+                              },
+                              "name": {
+                                "description": "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?",
+                                "type": "string"
+                              },
+                              "optional": {
+                                "description": "Specify whether the Secret or its key must be defined",
+                                "type": "boolean"
+                              }
+                            },
+                            "required": [
+                              "key"
+                            ],
+                            "type": "object",
+                            "x-kubernetes-map-type": "atomic"
+                          },
+                          "serverName": {
+                            "description": "Used to verify the hostname for the targets.",
+                            "type": "string"
+                          }
+                        },
+                        "type": "object"
+                      }
+                    },
+                    "required": [
+                      "endpoint"
+                    ],
+                    "type": "object"
+                  },
                   "version": {
                     "description": "Version of Prometheus to be deployed.",
                     "type": "string"
diff --git a/pkg/apis/monitoring/v1/prometheus_types.go b/pkg/apis/monitoring/v1/prometheus_types.go
index 0e223e5d0..f11bb3c36 100644
--- a/pkg/apis/monitoring/v1/prometheus_types.go
+++ b/pkg/apis/monitoring/v1/prometheus_types.go
@@ -378,6 +378,9 @@ type CommonPrometheusFields struct {
 	HostNetwork bool `json:"hostNetwork,omitempty"`
 	// PodTargetLabels are added to all Pod/ServiceMonitors' podTargetLabels
 	PodTargetLabels []string `json:"podTargetLabels,omitempty"`
+	// TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.
+	// +optional
+	TracingConfig *PrometheusTracingConfig `json:"tracingConfig,omitempty"`
 }
 
 // +genclient
@@ -533,9 +536,6 @@ type PrometheusSpec struct {
 	// Defines the runtime reloadable configuration of the timeseries database
 	// (TSDB).
 	TSDB TSDBSpec `json:"tsdb,omitempty"`
-	// TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.
-	// +optional
-	TracingConfig *PrometheusTracingConfig `json:"tracingConfig,omitempty"`
 }
 
 type PrometheusTracingConfig struct {
diff --git a/pkg/apis/monitoring/v1/zz_generated.deepcopy.go b/pkg/apis/monitoring/v1/zz_generated.deepcopy.go
index 7dd3ab95c..df0a0e6fa 100644
--- a/pkg/apis/monitoring/v1/zz_generated.deepcopy.go
+++ b/pkg/apis/monitoring/v1/zz_generated.deepcopy.go
@@ -782,6 +782,11 @@ func (in *CommonPrometheusFields) DeepCopyInto(out *CommonPrometheusFields) {
 		*out = make([]string, len(*in))
 		copy(*out, *in)
 	}
+	if in.TracingConfig != nil {
+		in, out := &in.TracingConfig, &out.TracingConfig
+		*out = new(PrometheusTracingConfig)
+		(*in).DeepCopyInto(*out)
+	}
 }
 
 // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonPrometheusFields.
@@ -1759,11 +1764,6 @@ func (in *PrometheusSpec) DeepCopyInto(out *PrometheusSpec) {
 		(*in).DeepCopyInto(*out)
 	}
 	out.TSDB = in.TSDB
-	if in.TracingConfig != nil {
-		in, out := &in.TracingConfig, &out.TracingConfig
-		*out = new(PrometheusTracingConfig)
-		(*in).DeepCopyInto(*out)
-	}
 }
 
 // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusSpec.
diff --git a/pkg/client/applyconfiguration/monitoring/v1/commonprometheusfields.go b/pkg/client/applyconfiguration/monitoring/v1/commonprometheusfields.go
index 5c6343852..f5565d812 100644
--- a/pkg/client/applyconfiguration/monitoring/v1/commonprometheusfields.go
+++ b/pkg/client/applyconfiguration/monitoring/v1/commonprometheusfields.go
@@ -91,6 +91,7 @@ type CommonPrometheusFieldsApplyConfiguration struct {
 	ExcludedFromEnforcement         []ObjectReferenceApplyConfiguration                  `json:"excludedFromEnforcement,omitempty"`
 	HostNetwork                     *bool                                                `json:"hostNetwork,omitempty"`
 	PodTargetLabels                 []string                                             `json:"podTargetLabels,omitempty"`
+	TracingConfig                   *PrometheusTracingConfigApplyConfiguration           `json:"tracingConfig,omitempty"`
 }
 
 // CommonPrometheusFieldsApplyConfiguration constructs an declarative configuration of the CommonPrometheusFields type for use with
@@ -680,3 +681,11 @@ func (b *CommonPrometheusFieldsApplyConfiguration) WithPodTargetLabels(values ..
 	}
 	return b
 }
+
+// WithTracingConfig sets the TracingConfig field in the declarative configuration to the given value
+// and returns the receiver, so that objects can be built by chaining "With" function invocations.
+// If called multiple times, the TracingConfig field is set to the value of the last call.
+func (b *CommonPrometheusFieldsApplyConfiguration) WithTracingConfig(value *PrometheusTracingConfigApplyConfiguration) *CommonPrometheusFieldsApplyConfiguration {
+	b.TracingConfig = value
+	return b
+}
diff --git a/pkg/client/applyconfiguration/monitoring/v1/prometheusspec.go b/pkg/client/applyconfiguration/monitoring/v1/prometheusspec.go
index e1ad96a66..af2aa1646 100644
--- a/pkg/client/applyconfiguration/monitoring/v1/prometheusspec.go
+++ b/pkg/client/applyconfiguration/monitoring/v1/prometheusspec.go
@@ -48,7 +48,6 @@ type PrometheusSpecApplyConfiguration struct {
 	EvaluationInterval                       *monitoringv1.Duration                          `json:"evaluationInterval,omitempty"`
 	EnableAdminAPI                           *bool                                           `json:"enableAdminAPI,omitempty"`
 	TSDB                                     *TSDBSpecApplyConfiguration                     `json:"tsdb,omitempty"`
-	TracingConfig                            *PrometheusTracingConfigApplyConfiguration      `json:"tracingConfig,omitempty"`
 }
 
 // PrometheusSpecApplyConfiguration constructs an declarative configuration of the PrometheusSpec type for use with
@@ -639,6 +638,14 @@ func (b *PrometheusSpecApplyConfiguration) WithPodTargetLabels(values ...string)
 	return b
 }
 
+// WithTracingConfig sets the TracingConfig field in the declarative configuration to the given value
+// and returns the receiver, so that objects can be built by chaining "With" function invocations.
+// If called multiple times, the TracingConfig field is set to the value of the last call.
+func (b *PrometheusSpecApplyConfiguration) WithTracingConfig(value *PrometheusTracingConfigApplyConfiguration) *PrometheusSpecApplyConfiguration {
+	b.TracingConfig = value
+	return b
+}
+
 // WithBaseImage sets the BaseImage field in the declarative configuration to the given value
 // and returns the receiver, so that objects can be built by chaining "With" function invocations.
 // If called multiple times, the BaseImage field is set to the value of the last call.
@@ -824,11 +831,3 @@ func (b *PrometheusSpecApplyConfiguration) WithTSDB(value *TSDBSpecApplyConfigur
 	b.TSDB = value
 	return b
 }
-
-// WithTracingConfig sets the TracingConfig field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the TracingConfig field is set to the value of the last call.
-func (b *PrometheusSpecApplyConfiguration) WithTracingConfig(value *PrometheusTracingConfigApplyConfiguration) *PrometheusSpecApplyConfiguration {
-	b.TracingConfig = value
-	return b
-}
diff --git a/pkg/client/applyconfiguration/monitoring/v1alpha1/prometheusagentspec.go b/pkg/client/applyconfiguration/monitoring/v1alpha1/prometheusagentspec.go
index 35adad858..b10dcd2cc 100644
--- a/pkg/client/applyconfiguration/monitoring/v1alpha1/prometheusagentspec.go
+++ b/pkg/client/applyconfiguration/monitoring/v1alpha1/prometheusagentspec.go
@@ -616,3 +616,11 @@ func (b *PrometheusAgentSpecApplyConfiguration) WithPodTargetLabels(values ...st
 	}
 	return b
 }
+
+// WithTracingConfig sets the TracingConfig field in the declarative configuration to the given value
+// and returns the receiver, so that objects can be built by chaining "With" function invocations.
+// If called multiple times, the TracingConfig field is set to the value of the last call.
+func (b *PrometheusAgentSpecApplyConfiguration) WithTracingConfig(value *v1.PrometheusTracingConfigApplyConfiguration) *PrometheusAgentSpecApplyConfiguration {
+	b.TracingConfig = value
+	return b
+}
diff --git a/pkg/prometheus/promcfg.go b/pkg/prometheus/promcfg.go
index bdd02b9fc..31b72b223 100644
--- a/pkg/prometheus/promcfg.go
+++ b/pkg/prometheus/promcfg.go
@@ -435,7 +435,6 @@ func (cg *ConfigGenerator) GenerateServerConfiguration(
 	tsdb monitoringv1.TSDBSpec,
 	alerting *monitoringv1.AlertingSpec,
 	remoteRead []monitoringv1.RemoteReadSpec,
-	tracingConfig *monitoringv1.PrometheusTracingConfig,
 	sMons map[string]*monitoringv1.ServiceMonitor,
 	pMons map[string]*monitoringv1.PodMonitor,
 	probes map[string]*monitoringv1.Probe,
@@ -511,8 +510,9 @@ func (cg *ConfigGenerator) GenerateServerConfiguration(
 		cfg = append(cfg, cg.generateRemoteReadConfig(remoteRead, store))
 	}
 
-	if tracingConfig != nil {
-		tracingcfg, err := cg.generateTracingConfig(tracingConfig)
+	if cpf.TracingConfig != nil {
+		tracingcfg, err := cg.generateTracingConfig()
+
 		if err != nil {
 			return nil, errors.Wrap(err, "generating tracing configuration failed")
 		}
@@ -2099,6 +2099,15 @@ func (cg *ConfigGenerator) GenerateAgentConfiguration(
 		cfg = append(cfg, cg.generateRemoteWriteConfig(store))
 	}
 
+	if cpf.TracingConfig != nil {
+		tracingcfg, err := cg.generateTracingConfig()
+		if err != nil {
+			return nil, errors.Wrap(err, "generating tracing configuration failed")
+		}
+
+		cfg = append(cfg, tracingcfg)
+	}
+
 	return yaml.Marshal(cfg)
 }
 
@@ -2229,10 +2238,12 @@ func (cg *ConfigGenerator) generateScrapeConfig(
 	return cfg
 }
 
-func (cg *ConfigGenerator) generateTracingConfig(tracingConfig *monitoringv1.PrometheusTracingConfig) (yaml.MapItem, error) {
+func (cg *ConfigGenerator) generateTracingConfig() (yaml.MapItem, error) {
 	cfg := yaml.MapSlice{}
 	objMeta := cg.prom.GetObjectMeta()
 
+	tracingConfig := cg.prom.GetCommonPrometheusFields().TracingConfig
+
 	cfg = append(cfg, yaml.MapItem{
 		Key:   "endpoint",
 		Value: tracingConfig.Endpoint,
diff --git a/pkg/prometheus/promcfg_test.go b/pkg/prometheus/promcfg_test.go
index 59e63851c..1f585943f 100644
--- a/pkg/prometheus/promcfg_test.go
+++ b/pkg/prometheus/promcfg_test.go
@@ -194,6 +194,7 @@ scrape_configs: []
 					ScrapeTimeout:  tc.ScrapeTimeout,
 					ExternalLabels: tc.ExternalLabels,
 					Version:        tc.Version,
+					TracingConfig:  nil,
 				},
 				EvaluationInterval: tc.EvaluationInterval,
 				QueryLogFile:       tc.QueryLogFile,
@@ -210,7 +211,6 @@ scrape_configs: []
 				p.Spec.TSDB,
 				p.Spec.Alerting,
 				p.Spec.RemoteRead,
-				nil,
 				map[string]*monitoringv1.ServiceMonitor{},
 				nil,
 				nil,
@@ -433,7 +433,6 @@ func TestProbeStaticTargetsConfigGeneration(t *testing.T) {
 		p.Spec.RemoteRead,
 		nil,
 		nil,
-		nil,
 		map[string]*monitoringv1.Probe{
 			"probe1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -539,7 +538,6 @@ func TestProbeStaticTargetsConfigGenerationWithLabelEnforce(t *testing.T) {
 		p.Spec.RemoteRead,
 		nil,
 		nil,
-		nil,
 		map[string]*monitoringv1.Probe{
 			"probe1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -645,7 +643,6 @@ func TestProbeStaticTargetsConfigGenerationWithJobName(t *testing.T) {
 		p.Spec.RemoteRead,
 		nil,
 		nil,
-		nil,
 		map[string]*monitoringv1.Probe{
 			"probe1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -737,7 +734,6 @@ func TestProbeStaticTargetsConfigGenerationWithoutModule(t *testing.T) {
 		p.Spec.RemoteRead,
 		nil,
 		nil,
-		nil,
 		map[string]*monitoringv1.Probe{
 			"probe1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -825,7 +821,6 @@ func TestProbeIngressSDConfigGeneration(t *testing.T) {
 		p.Spec.RemoteRead,
 		nil,
 		nil,
-		nil,
 		map[string]*monitoringv1.Probe{
 			"probe1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -958,7 +953,6 @@ func TestProbeIngressSDConfigGenerationWithShards(t *testing.T) {
 		p.Spec.RemoteRead,
 		nil,
 		nil,
-		nil,
 		map[string]*monitoringv1.Probe{
 			"probe1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -1090,7 +1084,6 @@ func TestProbeIngressSDConfigGenerationWithLabelEnforce(t *testing.T) {
 		p.Spec.RemoteRead,
 		nil,
 		nil,
-		nil,
 		map[string]*monitoringv1.Probe{
 			"probe1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -1335,7 +1328,6 @@ func TestAlertmanagerBearerToken(t *testing.T) {
 		nil,
 		nil,
 		nil,
-		nil,
 		&assets.Store{},
 		nil,
 		nil,
@@ -1509,7 +1501,6 @@ alerting:
 			nil,
 			nil,
 			nil,
-			nil,
 			&assets.Store{BasicAuthAssets: map[string]assets.BasicAuthCredentials{
 				"alertmanager/auth/0": {
 					Username: "bob",
@@ -1555,7 +1546,6 @@ func TestAlertmanagerAPIVersion(t *testing.T) {
 		nil,
 		nil,
 		nil,
-		nil,
 		&assets.Store{},
 		nil,
 		nil,
@@ -1628,7 +1618,6 @@ func TestAlertmanagerTimeoutConfig(t *testing.T) {
 		nil,
 		nil,
 		nil,
-		nil,
 		&assets.Store{},
 		nil,
 		nil,
@@ -1825,7 +1814,6 @@ alerting:
 				nil,
 				nil,
 				nil,
-				nil,
 				&assets.Store{},
 				nil,
 				nil,
@@ -1856,7 +1844,6 @@ func TestAdditionalScrapeConfigs(t *testing.T) {
 			nil,
 			nil,
 			nil,
-			nil,
 			&assets.Store{},
 			[]byte(`- job_name: prometheus
   scrape_interval: 15s
@@ -2022,7 +2009,6 @@ func TestAdditionalAlertRelabelConfigs(t *testing.T) {
 		nil,
 		nil,
 		nil,
-		nil,
 		&assets.Store{},
 		nil,
 		[]byte(`- action: drop
@@ -2084,7 +2070,6 @@ func TestNoEnforcedNamespaceLabelServiceMonitor(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"test": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -2245,7 +2230,6 @@ func TestServiceMonitorWithEndpointSliceEnable(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"test": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -2413,7 +2397,6 @@ func TestEnforcedNamespaceLabelPodMonitor(t *testing.T) {
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
 		nil,
-		nil,
 		map[string]*monitoringv1.PodMonitor{
 			"testpodmonitor1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -2560,7 +2543,6 @@ func TestEnforcedNamespaceLabelOnExcludedPodMonitor(t *testing.T) {
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
 		nil,
-		nil,
 		map[string]*monitoringv1.PodMonitor{
 			"testpodmonitor1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -2699,7 +2681,6 @@ func TestEnforcedNamespaceLabelServiceMonitor(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"test": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -2873,7 +2854,6 @@ func TestEnforcedNamespaceLabelOnExcludedServiceMonitor(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"test": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -3044,7 +3024,6 @@ func TestAdditionalAlertmanagers(t *testing.T) {
 		nil,
 		nil,
 		nil,
-		nil,
 		&assets.Store{},
 		nil,
 		nil,
@@ -3104,7 +3083,6 @@ func TestSettingHonorTimestampsInServiceMonitor(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"testservicemonitor1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -3232,7 +3210,6 @@ func TestSettingHonorTimestampsInPodMonitor(t *testing.T) {
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
 		nil,
-		nil,
 		map[string]*monitoringv1.PodMonitor{
 			"testpodmonitor1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -3340,7 +3317,6 @@ func TestHonorTimestampsOverriding(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"testservicemonitor1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -3467,7 +3443,6 @@ func TestSettingHonorLabels(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"testservicemonitor1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -3597,7 +3572,6 @@ func TestHonorLabelsOverriding(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"testservicemonitor1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -3726,7 +3700,6 @@ func TestTargetLabels(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"testservicemonitor1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -3986,7 +3959,6 @@ oauth2:
 				p.Spec.TSDB,
 				p.Spec.Alerting,
 				p.Spec.RemoteRead,
-				nil,
 				tt.sMons,
 				tt.pMons,
 				tt.probes,
@@ -4023,7 +3995,6 @@ func TestPodTargetLabels(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"testservicemonitor1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -4152,7 +4123,6 @@ func TestPodTargetLabelsFromPodMonitor(t *testing.T) {
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
 		nil,
-		nil,
 		map[string]*monitoringv1.PodMonitor{
 			"testpodmonitor1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -4262,7 +4232,6 @@ func TestPodTargetLabelsFromPodMonitorAndGlobal(t *testing.T) {
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
 		nil,
-		nil,
 		map[string]*monitoringv1.PodMonitor{
 			"testpodmonitor1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -4370,7 +4339,6 @@ func TestEmptyEndpointPorts(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"test": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -4539,7 +4507,6 @@ func generateTestConfig(t *testing.T, version string) ([]byte, error) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		makeServiceMonitors(),
 		makePodMonitors(),
 		nil,
@@ -5174,7 +5141,6 @@ scrape_configs:
 				p.Spec.TSDB,
 				p.Spec.Alerting,
 				p.Spec.RemoteRead,
-				nil,
 				map[string]*monitoringv1.ServiceMonitor{
 					"testservicemonitor1": &serviceMonitor,
 				},
@@ -5431,7 +5397,6 @@ scrape_configs:
 				p.Spec.TSDB,
 				p.Spec.Alerting,
 				p.Spec.RemoteRead,
-				nil,
 				map[string]*monitoringv1.ServiceMonitor{
 					"testservicemonitor1": &serviceMonitor,
 				},
@@ -5667,7 +5632,6 @@ remote_read:
 				nil,
 				nil,
 				nil,
-				nil,
 				&assets.Store{
 					BasicAuthAssets: map[string]assets.BasicAuthCredentials{},
 					OAuth2Assets: map[string]assets.OAuth2Credentials{
@@ -6184,7 +6148,6 @@ remote_write:
 				nil,
 				nil,
 				nil,
-				nil,
 				store,
 				nil,
 				nil,
@@ -6438,7 +6401,6 @@ scrape_configs:
 				p.Spec.TSDB,
 				p.Spec.Alerting,
 				p.Spec.RemoteRead,
-				nil,
 				map[string]*monitoringv1.ServiceMonitor{
 					"testservicemonitor1": &serviceMonitor,
 				},
@@ -6657,7 +6619,6 @@ scrape_configs:
 				p.Spec.Alerting,
 				p.Spec.RemoteRead,
 				nil,
-				nil,
 				map[string]*monitoringv1.PodMonitor{
 					"testpodmonitor1": &podMonitor,
 				},
@@ -6858,7 +6819,6 @@ scrape_configs:
 				p.Spec.RemoteRead,
 				nil,
 				nil,
-				nil,
 				map[string]*monitoringv1.Probe{
 					"testprobe1": &probe,
 				},
@@ -7076,7 +7036,6 @@ scrape_configs:
 				p.Spec.TSDB,
 				p.Spec.Alerting,
 				p.Spec.RemoteRead,
-				nil,
 				map[string]*monitoringv1.ServiceMonitor{
 					"testservicemonitor1": &serviceMonitor,
 				},
@@ -7113,7 +7072,6 @@ func TestMatchExpressionsServiceMonitor(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"test": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -7503,7 +7461,6 @@ scrape_configs:
 				p.Spec.TSDB,
 				p.Spec.Alerting,
 				p.Spec.RemoteRead,
-				nil,
 				map[string]*monitoringv1.ServiceMonitor{
 					"testservicemonitor1": &serviceMonitor,
 				},
@@ -7740,7 +7697,6 @@ scrape_configs:
 				p.Spec.Alerting,
 				p.Spec.RemoteRead,
 				nil,
-				nil,
 				map[string]*monitoringv1.PodMonitor{
 					"testpodmonitor1": &podMonitor,
 				},
@@ -8031,7 +7987,6 @@ scrape_configs:
 				p.Spec.TSDB,
 				p.Spec.Alerting,
 				p.Spec.RemoteRead,
-				nil,
 				map[string]*monitoringv1.ServiceMonitor{
 					"testservicemonitor1": &serviceMonitor,
 				},
@@ -8063,7 +8018,6 @@ func TestPodMonitorPhaseFilter(t *testing.T) {
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
 		nil,
-		nil,
 		map[string]*monitoringv1.PodMonitor{
 			"testpodmonitor1": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -8360,7 +8314,6 @@ scrape_configs:
 				p.Spec.Alerting,
 				p.Spec.RemoteRead,
 				nil,
-				nil,
 				map[string]*monitoringv1.PodMonitor{
 					"testpodmonitor1": &podMonitor,
 				},
@@ -8451,7 +8404,6 @@ scrape_configs: []
 				nil,
 				nil,
 				nil,
-				nil,
 				&assets.Store{},
 				nil,
 				nil,
@@ -8538,7 +8490,6 @@ storage:
 				nil,
 				nil,
 				nil,
-				nil,
 				&assets.Store{},
 				nil,
 				nil,
@@ -8563,7 +8514,6 @@ func TestGenerateRelabelConfig(t *testing.T) {
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		nil,
 		map[string]*monitoringv1.ServiceMonitor{
 			"test": {
 				ObjectMeta: metav1.ObjectMeta{
@@ -8946,7 +8896,6 @@ scrape_configs:
 				nil,
 				nil,
 				nil,
-				nil,
 				scs,
 				nil,
 				nil,
@@ -9024,7 +8973,8 @@ tracing:
 		t.Run(tc.name, func(t *testing.T) {
 			p := defaultPrometheus()
 
-			p.Spec.TracingConfig = tc.tracingConfig
+			p.Spec.CommonPrometheusFields.TracingConfig = tc.tracingConfig
+
 			cg := mustNewConfigGenerator(t, p)
 
 			cfg, err := cg.GenerateServerConfiguration(
@@ -9035,7 +8985,6 @@ tracing:
 				p.Spec.TSDB,
 				p.Spec.Alerting,
 				p.Spec.RemoteRead,
-				p.Spec.TracingConfig,
 				nil,
 				nil,
 				nil,
diff --git a/pkg/prometheus/server/operator.go b/pkg/prometheus/server/operator.go
index 061e48ae4..a404e308a 100644
--- a/pkg/prometheus/server/operator.go
+++ b/pkg/prometheus/server/operator.go
@@ -1640,7 +1640,6 @@ func (c *Operator) createOrUpdateConfigurationSecret(ctx context.Context, p *mon
 		p.Spec.TSDB,
 		p.Spec.Alerting,
 		p.Spec.RemoteRead,
-		p.Spec.TracingConfig,
 		smons,
 		pmons,
 		bmons,