Skip to content

Flexible control of the invocations of regions of interest to be sampled #5

Description

@rbertran

Selective sampling of invocations can be implemented in both "sides":

  • Tracer: tracer decides if a particular execution of the region of interest needs to be sampled.
    • Pros: Less overhead if we decide to not sample.
    • Cons: Less information. Tracer does not have information about previous sampled regions. As a result, only random or simple (e.g. first 10) sampling methods can be implemented (no intelligent sampling)
  • Tracee: tracee decides if a particular execution of the regions of interest needs to be sampled.
    • Cons: Some overhead if we decide to not sample.
    • Pros: tracee can use existing samples (e.g. historical data) to decide or not to sample a particular region.

I do think that having both would be beneficial. One one side, we can use the Tracer sampling to do a first level pruning of the executions (e.g. from 1 million to 1 thousand) and then use the Tracee extra information available to do a second and more intelligent filtering.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions