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
globalaction, 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.
- 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 theodigos.io/v1alpha1.Action CRD with the samplers configuration section.
actionName
actionName
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
notes
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
disabled
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 *
signals *
signals
string[] : An array with the signals that the action will operate on.- This field is required
- Supported values:
TRACES
samplers *
samplers *
samplers
object : Configuration for sampling actions.- This field is required for this action type
ignoreHealthChecks *
ignoreHealthChecks *
ignoreHealthChecks
object : Configuration for the IgnoreHealthChecks sampler.- This field is required for this action type
fractionToRecord
fractionToRecord
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:
0to1(inclusive) 0means no health check traces will be recorded (recommended for most cases)1means all health check traces will be recorded- Values between
0and1will sample that fraction of health check traces (e.g.,0.1records 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
2
Apply the action to the cluster: