Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KeepEssentials rule option (as opposed to a pure drop rule) #1344

Open
tdarwin opened this issue Sep 19, 2024 · 0 comments
Open

KeepEssentials rule option (as opposed to a pure drop rule) #1344

tdarwin opened this issue Sep 19, 2024 · 0 comments
Labels
type: enhancement New feature or request

Comments

@tdarwin
Copy link
Contributor

tdarwin commented Sep 19, 2024

Is your feature request related to a problem? Please describe.

Comes from a big trace problem where there's something valuable buried in a 100k+ span trace. Generally users want to drop these, but occasionally they come through via keep-error rules and the like

Describe the solution you'd like

Instead of having only drop or sample options for ?.NUM_DESCENDANTS rules (or any rule I guess) it'd be cool to have a keep_essentials option. For example

Samplers:
    __default__:
        RulesBasedSampler:
               - Name: Dealing with Errors on Giant Traces
                 Conditions:
                    - Field: error
                      Operator: exists
                    - Field: ?.NUM_DESCENDANTS
                      Operator: >=
                      Value: 15000
                 KeepEssentials: true

This would preserve the span or span event(s) where an error exists, plus their parent/ancestor spans up to the root span. This way the user would get the spans that matter from their giant trace, and be able to identify through the parent spans where in the process the damage occurred, but would not get 100k events against their honeycomb budget.

I think from their, you could also put the trace_id into the drop decision cache, so if it's a long running batch process you don't get stuff after the decision is made.

Describe alternatives you've considered

¯\_(ツ)_/¯

Additional context

No real additional concept, just liked the idea spawned by some customer questions.

@tdarwin tdarwin added the type: enhancement New feature or request label Sep 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant