Skip to content

Commit

Permalink
feat: Enable by default all resource metrics when runtime input in en…
Browse files Browse the repository at this point in the history
…abled in MetricPipeline (#1608)
  • Loading branch information
shorim authored Nov 15, 2024
1 parent c42231f commit b712c0a
Show file tree
Hide file tree
Showing 19 changed files with 748 additions and 962 deletions.
34 changes: 13 additions & 21 deletions apis/telemetry/v1alpha1/metricpipeline_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ type MetricPipelineRuntimeInput struct {
Namespaces *NamespaceSelector `json:"namespaces,omitempty"`
// Describes the Kubernetes resources for which runtime metrics are scraped.
// +optional
// +kubebuilder:default={pod: {enabled: true}, container: {enabled: true}, node: {enabled: false}, volume: {enabled: false}, daemonset: {enabled: false}, deployment: {enabled: false}, statefulset: {enabled: false}, job: {enabled: false}}
// +kubebuilder:default={pod: {enabled: true}, container: {enabled: true}, node: {enabled: true}, volume: {enabled: true}, daemonset: {enabled: true}, deployment: {enabled: true}, statefulset: {enabled: true}, job: {enabled: true}}
Resources *MetricPipelineRuntimeInputResources `json:"resources,omitempty"`
}

Expand All @@ -118,28 +118,28 @@ type MetricPipelineRuntimeInputResources struct {
Container *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"container,omitempty"`
// Configures Node runtime metrics scraping.
// +optional
// +kubebuilder:default={enabled: false}
Node *MetricPipelineRuntimeInputResourceDisabledByDefault `json:"node,omitempty"`
// +kubebuilder:default={enabled: true}
Node *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"node,omitempty"`
// Configures Volume runtime metrics scraping.
// +optional
// +kubebuilder:default={enabled: false}
Volume *MetricPipelineRuntimeInputResourceDisabledByDefault `json:"volume,omitempty"`
// +kubebuilder:default={enabled: true}
Volume *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"volume,omitempty"`
// Configures DaemonSet runtime metrics scraping.
// +optional
// +kubebuilder:default={enabled: false}
DaemonSet *MetricPipelineRuntimeInputResourceDisabledByDefault `json:"daemonset,omitempty"`
// +kubebuilder:default={enabled: true}
DaemonSet *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"daemonset,omitempty"`
// Configures Deployment runtime metrics scraping.
// +optional
// +kubebuilder:default={enabled: false}
Deployment *MetricPipelineRuntimeInputResourceDisabledByDefault `json:"deployment,omitempty"`
// +kubebuilder:default={enabled: true}
Deployment *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"deployment,omitempty"`
// Configures StatefulSet runtime metrics scraping.
// +optional
// +kubebuilder:default={enabled: false}
StatefulSet *MetricPipelineRuntimeInputResourceDisabledByDefault `json:"statefulset,omitempty"`
// +kubebuilder:default={enabled: true}
StatefulSet *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"statefulset,omitempty"`
// Configures Job runtime metrics scraping.
// +optional
// +kubebuilder:default={enabled: false}
Job *MetricPipelineRuntimeInputResourceDisabledByDefault `json:"job,omitempty"`
// +kubebuilder:default={enabled: true}
Job *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"job,omitempty"`
}

// MetricPipelineRuntimeInputResourceEnabledByDefault defines if the scraping of runtime metrics is enabled for a specific resource. The scraping is enabled by default.
Expand All @@ -150,14 +150,6 @@ type MetricPipelineRuntimeInputResourceEnabledByDefault struct {
Enabled *bool `json:"enabled,omitempty"`
}

// MetricPipelineRuntimeInputResourceDisabledByDefault defines if the scraping of runtime metrics is enabled for a specific resource. The scraping is disabled by default.
type MetricPipelineRuntimeInputResourceDisabledByDefault struct {
// If enabled, the runtime metrics for the resource are scraped. The default is `false`.
// +optional
// +kubebuilder:default=false
Enabled *bool `json:"enabled,omitempty"`
}

// MetricPipelineIstioInput defines the Istio scraping section.
type MetricPipelineIstioInput struct {
// If enabled, istio-proxy metrics are scraped from Pods that have the istio-proxy sidecar injected. The default is `false`.
Expand Down
32 changes: 6 additions & 26 deletions apis/telemetry/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 13 additions & 21 deletions apis/telemetry/v1beta1/metricpipeline_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ type MetricPipelineRuntimeInput struct {
Namespaces *NamespaceSelector `json:"namespaces,omitempty"`
// Describes the Kubernetes resources for which runtime metrics are scraped.
// +optional
// +kubebuilder:default={pod: {enabled: true}, container: {enabled: true}, node: {enabled: false}, volume: {enabled: false}, daemonset: {enabled: false}, deployment: {enabled: false}, statefulset: {enabled: false}, job: {enabled: false}}
// +kubebuilder:default={pod: {enabled: true}, container: {enabled: true}, node: {enabled: true}, volume: {enabled: true}, daemonset: {enabled: true}, deployment: {enabled: true}, statefulset: {enabled: true}, job: {enabled: true}}
Resources *MetricPipelineRuntimeInputResources `json:"resources,omitempty"`
}

Expand All @@ -118,28 +118,28 @@ type MetricPipelineRuntimeInputResources struct {
Container *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"container,omitempty"`
// Configures Node runtime metrics scraping.
// +optional
// +kubebuilder:default={enabled: false}
Node *MetricPipelineRuntimeInputResourceDisabledByDefault `json:"node,omitempty"`
// +kubebuilder:default={enabled: true}
Node *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"node,omitempty"`
// Configures Volume runtime metrics scraping.
// +optional
// +kubebuilder:default={enabled: false}
Volume *MetricPipelineRuntimeInputResourceDisabledByDefault `json:"volume,omitempty"`
// +kubebuilder:default={enabled: true}
Volume *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"volume,omitempty"`
// Configures DaemonSet runtime metrics scraping.
// +optional
// +kubebuilder:default={enabled: false}
DaemonSet *MetricPipelineRuntimeInputResourceDisabledByDefault `json:"daemonset,omitempty"`
// +kubebuilder:default={enabled: true}
DaemonSet *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"daemonset,omitempty"`
// Configures Deployment runtime metrics scraping.
// +optional
// +kubebuilder:default={enabled: false}
Deployment *MetricPipelineRuntimeInputResourceDisabledByDefault `json:"deployment,omitempty"`
// +kubebuilder:default={enabled: true}
Deployment *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"deployment,omitempty"`
// Configures StatefulSet runtime metrics scraping.
// +optional
// +kubebuilder:default={enabled: false}
StatefulSet *MetricPipelineRuntimeInputResourceDisabledByDefault `json:"statefulset,omitempty"`
// +kubebuilder:default={enabled: true}
StatefulSet *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"statefulset,omitempty"`
// Configures Job runtime metrics scraping.
// +optional
// +kubebuilder:default={enabled: false}
Job *MetricPipelineRuntimeInputResourceDisabledByDefault `json:"job,omitempty"`
// +kubebuilder:default={enabled: true}
Job *MetricPipelineRuntimeInputResourceEnabledByDefault `json:"job,omitempty"`
}

// MetricPipelineRuntimeInputResourceEnabledByDefault defines if the scraping of runtime metrics is enabled for a specific resource. The scraping is enabled by default.
Expand All @@ -150,14 +150,6 @@ type MetricPipelineRuntimeInputResourceEnabledByDefault struct {
Enabled *bool `json:"enabled,omitempty"`
}

// MetricPipelineRuntimeInputResourceDisabledByDefault defines if the scraping of runtime metrics is enabled for a specific resource. The scraping is disabled by default.
type MetricPipelineRuntimeInputResourceDisabledByDefault struct {
// If enabled, the runtime metrics for the resource are scraped. The default is `false`.
// +optional
// +kubebuilder:default=false
Enabled *bool `json:"enabled,omitempty"`
}

// MetricPipelineIstioInput defines the Istio scraping section.
type MetricPipelineIstioInput struct {
// If enabled, metrics for istio-proxy containers are scraped from Pods that have had the istio-proxy sidecar injected. The default is `false`.
Expand Down
32 changes: 6 additions & 26 deletions apis/telemetry/v1beta1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

48 changes: 24 additions & 24 deletions config/crd/bases/telemetry.kyma-project.io_metricpipelines.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -220,19 +220,19 @@ spec:
container:
enabled: true
daemonset:
enabled: false
enabled: true
deployment:
enabled: false
enabled: true
job:
enabled: false
enabled: true
node:
enabled: false
enabled: true
pod:
enabled: true
statefulset:
enabled: false
enabled: true
volume:
enabled: false
enabled: true
description: Describes the Kubernetes resources for which
runtime metrics are scraped.
properties:
Expand All @@ -249,46 +249,46 @@ spec:
type: object
daemonset:
default:
enabled: false
enabled: true
description: Configures DaemonSet runtime metrics scraping.
properties:
enabled:
default: false
default: true
description: If enabled, the runtime metrics for the
resource are scraped. The default is `false`.
resource are scraped. The default is `true`.
type: boolean
type: object
deployment:
default:
enabled: false
enabled: true
description: Configures Deployment runtime metrics scraping.
properties:
enabled:
default: false
default: true
description: If enabled, the runtime metrics for the
resource are scraped. The default is `false`.
resource are scraped. The default is `true`.
type: boolean
type: object
job:
default:
enabled: false
enabled: true
description: Configures Job runtime metrics scraping.
properties:
enabled:
default: false
default: true
description: If enabled, the runtime metrics for the
resource are scraped. The default is `false`.
resource are scraped. The default is `true`.
type: boolean
type: object
node:
default:
enabled: false
enabled: true
description: Configures Node runtime metrics scraping.
properties:
enabled:
default: false
default: true
description: If enabled, the runtime metrics for the
resource are scraped. The default is `false`.
resource are scraped. The default is `true`.
type: boolean
type: object
pod:
Expand All @@ -304,24 +304,24 @@ spec:
type: object
statefulset:
default:
enabled: false
enabled: true
description: Configures StatefulSet runtime metrics scraping.
properties:
enabled:
default: false
default: true
description: If enabled, the runtime metrics for the
resource are scraped. The default is `false`.
resource are scraped. The default is `true`.
type: boolean
type: object
volume:
default:
enabled: false
enabled: true
description: Configures Volume runtime metrics scraping.
properties:
enabled:
default: false
default: true
description: If enabled, the runtime metrics for the
resource are scraped. The default is `false`.
resource are scraped. The default is `true`.
type: boolean
type: object
type: object
Expand Down
Loading

0 comments on commit b712c0a

Please sign in to comment.