Skip to main content

Rule Types:

Configuration Options

ruleName string : Allows you to attach a meaningful name to the rule for convenience and documentation.
  • This field is optional
  • Odigos does not use or assume any meaning from this field
notes string : Allows you to attach notes regarding the rule 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 rule, but keep it saved for future use.
  • This field is optional, and defaults to false
workloads { namespace; name; kind; }[] : Allows you to apply/limit the rule to specific workloads. If not specified, the rule will be applied to all workloads.
  • This field is optional, and defaults to nil (all workloads)
  • Empty array will make the rule ineffective
namespace string - The name of the Kubernetes namespace.
  • This field is required
name string - The name of the Kubernetes workload.
  • This field is required
kind string - The kind of the Kubernetes workload.
  • This field is required
  • Supported values: Deployment, DaemonSet, StatefulSet
instrumentationLibraries { name; language; spanKind; }[] : Allows you to apply/limit the rule to specific instrumentation libraries. If not specified, the rule will be applied to all instrumentation libraries.
  • This field is optional, and defaults to nil (all libraries)
  • Empty array will make the rule ineffective
name string - The unique name of the instrumentation library.
  • This field is required
language string - The programming language of the instrumentation library.
  • This field is required
  • Alphabetical, lowercase, and no spaces
spanKind string - The span kind of the instrumentation library.
  • This field is required
  • Supported values: client, server, producer, consumer, internal

Apply to Sources

Odigos allows you to apply/limit rules to specific sources.
  • To apply a rule to all sources, omit the workloads field.
  • To apply a rule to specific sources, provide an array of workload objects (identified by it’s namespace, name, and kind).
Odigos allows you to define multiple rules, and will merge them together to create a single rule per source. Conflicting options will be resolved by choosing to record the attribute, if it’s specified by one rule (at least).

Apply to Instrumentation Libraries

Odigos allows you to apply/limit rules to specific instrumentation libraries.
  • To apply a rule to all instrumentation libraries, omit the instrumentationLibraries field.
  • To apply a rule to specific instrumentation libraries, provide an array of instrumentation libraries (identified by it’s unique name, language, and span kind for golang).
Any rule for a specific instrumentation library will take precedence over a rule that does not specify a library.
This is an advanced feature. It is recommended to set the same rules for all instrumentation libraries, and only use this feature when you need fine-grained control.
I