Skip to content

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

@rbertran

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions