DynamoRIO
|
#include <noise_generator.h>

Public Member Functions | |
std::string | get_stream_name () const override |
![]() | |
uint64_t | get_record_ordinal () const override |
uint64_t | get_instruction_ordinal () const override |
uint64_t | get_last_timestamp () const override |
uint64_t | get_first_timestamp () const override |
uint64_t | get_version () const override |
uint64_t | get_filetype () const override |
uint64_t | get_cache_line_size () const override |
uint64_t | get_chunk_instr_count () const override |
uint64_t | get_page_size () const override |
bool | is_record_kernel () const override |
bool | is_record_synthetic () const override |
![]() | |
virtual | ~memtrace_stream_t () |
virtual int | get_shard_index () const |
virtual int64_t | get_output_cpuid () const |
virtual int64_t | get_workload_id () const |
virtual int64_t | get_input_id () const |
virtual int64_t | get_tid () const |
virtual memtrace_stream_t * | get_input_interface () const |
virtual double | get_schedule_statistic (schedule_statistic_t stat) const |
Detailed Description
Generates synthetic dynamorio::drmemtrace::memref_t trace records in a single-process single-thread and presents them via an iterator interface to the scheduler. These synthetic trace records are preceded by TRACE_TYPE_THREAD, TRACE_TYPE_PID, TRACE_MARKER_TYPE_TIMESTAMP records and followed by TRACE_TYPE_THREAD_EXIT, as this is the order of records that the scheduler expects. The value of TRACE_MARKER_TYPE_TIMESTAMP is (ULONG_MAX - 1), which is not a serial-or-interval-suited timestamp value for mixing with real workload inputs. A serial analysis combined with real workload inputs would have these synthetic records at the very end, while time interval analysis would not consider these records unless the interval is very large (likely beyond the end of real input workloads). Noise generation is suited for dynamic scheduling, where the scheduler will re-write the values of TRACE_MARKER_TYPE_TIMESTAMP. Note that this class does not support simultaneous use by concurrent threads.
Member Function Documentation
◆ get_stream_name()
|
overridevirtual |
Returns a name for the memtrace stream. For stored offline traces, this is the base name of the trace on disk. For online traces, this is the name of the pipe.
Implements dynamorio::drmemtrace::memtrace_stream_t.
The documentation for this class was generated from the following file:
- /home/runner/work/dynamorio/dynamorio/build_release-64/clients/include/drmemtrace/noise_generator.h