Skip to content
Snippets Groups Projects
  • Sam Yates's avatar
    New recipe probe API (#1054) · 8d866593
    Sam Yates authored
    * Make recipe return probes as a vector.
    * Remove `probe_id` from `probe_info`.
    * Rename `fvm_probe_info` to `fvm_probe_data` (everything was being called info, and it was getting confusing).
    * Make `probe_association_map` specific to `mc_cell_group`/`fvm_lowered_cell`.
    * Change probe_association_map representation: unordered map for probe_id -> tag; unordered multimap for probe_id -> fvm_probe_data. This allows multiple probes to be associated with the same probe id.
    * Call sampler callback separately for each probe with the same probe_id.
    * Replace location-based probes with locset equivalents.
    * Add index for probes sharing a probe id.
    * Bundle all probe metadata (id, tag, index, probe-specific meta) into `probe_metadata` struct for passing to sampler callbacks.
    * Change simple_sampler to work on `trace_vector`, a vector of `trace_data`. The _i_th element is the data from probe with index i.
    * Consolidate hash composition and `std::hash` specialization code in new header.
    * Update python lib for new API.
    * Update tests and examples for new recipe, internal probe, and simple_sampler APIs.
    * Update docs to suit.
    Unverified
    8d866593