Source scope
A rule can be scoped to one of:- Entire cluster — the rule applies to every source in the cluster.
- Specific Source — one or more named sources (services).
- Specific Namespace — one or more Kubernetes namespaces.
- Specific Programming Language — one or more runtimes: Python, Java, NodeJS, .Net, PHP, Ruby, or Go.
Operation
The Operation options depend on the rule’s category.- Noisy Operation
- Highly Relevant
- Cost Reduction
- All Operations — every operation in scope.
- HTTP Server — match HTTP requests received by a server. Configure:
- An HTTP route (exact path) or HTTP route prefix.
- A method: Any, GET, POST, PATCH, DELETE, or PUT.
- HTTP Client — match outbound HTTP calls made by the source. Configure:
- A server address (the remote host being called).
- A templated path (exact) or templated path prefix.
- A method: Any, GET, POST, PATCH, DELETE, or PUT.
- gRPC Server — match incoming gRPC calls received by a server. Configure:
- A service — the fully-qualified gRPC service name (e.g.
acme.inventory.v1.InventoryService). Set only the service to match every method on that service. - A method — the bare method name (e.g.
ListItems). Combine with service for a single specific RPC.
- A service — the fully-qualified gRPC service name (e.g.
- gRPC Client — match outbound gRPC calls made by the source. Configure:
- A service — the fully-qualified gRPC service name (e.g.
acme.inventory.v1.InventoryService). Set only the service to match every method on that service. - A method — the bare method name (e.g.
ListItems). Combine with service for a single specific RPC. - A server address (the remote host being called).
- A service — the fully-qualified gRPC service name (e.g.
Keep Percentage
Each rule defines what fraction of matching traffic is retained. The available options differ by category:
Keep at most is a cap; Keep at least is a floor. See Rule evaluation for how these percentages interact within a category and between Highly Relevant and Cost Reduction.
Enabled
Every rule has an Enabled toggle that controls whether it participates in sampling decisions. Disabled rules stay in your configuration but are excluded from evaluation, which makes the toggle useful for several patterns:- Temporary suspension. Turn a rule off during an incident, debugging session, or evaluation period when you need broader visibility—without losing the rule’s configuration.
- Disable vs. delete. Disabling preserves the matcher, scope, and Keep Percentage so you can re-enable later without re-authoring. Use it when a rule may still be useful later but isn’t needed right now.
- “What-if” metrics. Disabled rules continue to record matching metrics: how many traces would have matched, and how many would have been kept or dropped if the rule were active. Useful for sizing a candidate rule’s impact before committing to it.
Name and Notes
Both fields are optional and exist purely to make rules easier to identify and maintain—they have no effect on evaluation or matching.- Name — a short, free-text label for the rule. The name appears in the rule list in the UI and may also surface on metrics and span attributes, so use something descriptive that makes the rule recognizable in dashboards and queries.
- Notes — free-text describing why the rule exists. Use this to capture context that isn’t obvious from the matcher itself: the incident that triggered the rule, the team that owns it, or the cost target it’s serving. Especially useful when auditing rules or onboarding new operators.