Skip to main content
This feature is in beta. It may be subject to changes and improvements based on user feedback.
This action reduces the volume of collected traces by filtering out Kubernetes health check traces. By eliminating these high-frequency, low-value traces, you can reduce costs and minimize noise in your observability data, allowing you to focus on traces that provide meaningful insights.

Considerations

  • Supports only traces.
  • Health checks are typically high-frequency operations that can generate a large volume of traces
  • Recording all health check traces can significantly increase the cost of processing, storing and analyzing traces
  • Health check traces usually don’t provide valuable debugging or monitoring insights
  • This action is a global action, meaning it applies to all traces in the system without filtering for specific services or endpoints
  • Health checks are sampled at the agent level (head sampling) before traces are pushed into the collector pipeline, regardless of any other sampling configuration
  • This feature has limited support level based on the agent support
  • Health check paths are auto-discoverabel - taken from k8s manifest pod spec probe definitions

Use Cases

Cost Reduction
  • Health checks generate high-frequency, low-value traces that can significantly increase costs. By reducing or eliminating health check traces, you can reduce the amount of data ingested and reduce costs.
Data Quality
  • Health check traces typically don’t provide valuable debugging or monitoring insights. By filtering them out, you can focus on traces that matter for observability and troubleshooting.

Configuration Options

The IgnoreHealthChecks action is configured using the odigos.io/v1alpha1.Action CRD with the samplers configuration section.
actionName string : Allows you to attach a meaningful name to the action for convenience.
  • This field is optional
  • Odigos does not use or assume any meaning from this field
notes string : Allows you to attach notes regarding the action for convenience.
  • This field is optional
  • Odigos does not use or assume any meaning from this field
disabled boolean : Allows you to temporarily disable the action, but keep it saved for future use.
  • This field is optional, and defaults to false
signals string[] : An array with the signals that the action will operate on.
  • This field is required
  • Supported values: TRACES
samplers object : Configuration for sampling actions.
  • This field is required for this action type
ignoreHealthChecks object : Configuration for the IgnoreHealthChecks sampler.
  • This field is required for this action type
fractionToRecord float : Controls what fraction of health check traces should be recorded. This allows you to sample health checks rather than completely filtering them out.
  • This field is optional, and defaults to 0
  • Valid range: 0 to 1 (inclusive)
  • 0 means no health check traces will be recorded (recommended for most cases)
  • 1 means all health check traces will be recorded
  • Values between 0 and 1 will sample that fraction of health check traces (e.g., 0.1 records 10% of health checks)
If fractionToRecord is not specified, it defaults to 0, meaning no health check traces will be recorded.

Basic Example

The following example demonstrates how to completely ignore health check traces from recording for all sources in the cluster.
1
Create a YAML file with the following content:
ignore-health-checks.yaml
apiVersion: odigos.io/v1alpha1
kind: Action
metadata:
  name: ignore-health-checks
  namespace: odigos-system
spec:
  actionName: "ignore health check traces"
  signals:
    - TRACES
  samplers:
    ignoreHealthChecks:
      fractionToRecord: 0
2
Apply the action to the cluster:
kubectl apply -f ignore-health-checks.yaml