DynamoRIO
dynamorio::drmemtrace::reader_t Class Referenceabstract

#include <reader.h>

Inheritance diagram for dynamorio::drmemtrace::reader_t:
dynamorio::drmemtrace::memtrace_stream_t

Public Member Functions

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
 
- Public Member Functions inherited from dynamorio::drmemtrace::memtrace_stream_t
virtual ~memtrace_stream_t ()
 
virtual std::string get_stream_name () const =0
 
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_tget_input_interface () const
 
virtual double get_schedule_statistic (schedule_statistic_t stat) const
 

Additional Inherited Members

- Public Types inherited from dynamorio::drmemtrace::memtrace_stream_t
enum  schedule_statistic_t {
  SCHED_STAT_SWITCH_INPUT_TO_INPUT,
  SCHED_STAT_SWITCH_INPUT_TO_IDLE,
  SCHED_STAT_SWITCH_IDLE_TO_INPUT,
  SCHED_STAT_SWITCH_NOP,
  SCHED_STAT_QUANTUM_PREEMPTS,
  SCHED_STAT_DIRECT_SWITCH_ATTEMPTS,
  SCHED_STAT_DIRECT_SWITCH_SUCCESSES,
  SCHED_STAT_MIGRATIONS,
  SCHED_STAT_RUNQUEUE_STEALS,
  SCHED_STAT_RUNQUEUE_REBALANCES,
  SCHED_STAT_TYPE_COUNT
}
 

Detailed Description

Iterator over dynamorio::drmemtrace::memref_t trace entries. This class converts a trace (offline or online) into a stream of dynamorio::drmemtrace::memref_t entries. It also provides more information about the trace using the dynamorio::drmemtrace::memtrace_stream_t API.

Member Function Documentation

◆ get_cache_line_size()

uint64_t dynamorio::drmemtrace::reader_t::get_cache_line_size ( ) const
inlineoverridevirtual

Returns the cache line size from the TRACE_MARKER_TYPE_CACHE_LINE_SIZE record in the trace header.

Implements dynamorio::drmemtrace::memtrace_stream_t.

◆ get_chunk_instr_count()

uint64_t dynamorio::drmemtrace::reader_t::get_chunk_instr_count ( ) const
inlineoverridevirtual

Returns the chunk instruction count from the TRACE_MARKER_TYPE_CHUNK_INSTR_COUNT record in the trace header.

Implements dynamorio::drmemtrace::memtrace_stream_t.

◆ get_filetype()

uint64_t dynamorio::drmemtrace::reader_t::get_filetype ( ) const
inlineoverridevirtual

Returns the OFFLINE_FILE_TYPE_* bitfields of type offline_file_type_t identifying the architecture and other key high-level attributes of the trace from the TRACE_MARKER_TYPE_FILETYPE record in the trace header.

Implements dynamorio::drmemtrace::memtrace_stream_t.

◆ get_first_timestamp()

uint64_t dynamorio::drmemtrace::reader_t::get_first_timestamp ( ) const
inlineoverridevirtual

Returns the value of the first seen TRACE_MARKER_TYPE_TIMESTAMP marker.

Implements dynamorio::drmemtrace::memtrace_stream_t.

◆ get_instruction_ordinal()

uint64_t dynamorio::drmemtrace::reader_t::get_instruction_ordinal ( ) const
inlineoverridevirtual

Returns the count of instructions from the start of the trace to this point. This includes instructions skipped over and not presented to any tool.

Implements dynamorio::drmemtrace::memtrace_stream_t.

◆ get_last_timestamp()

uint64_t dynamorio::drmemtrace::reader_t::get_last_timestamp ( ) const
inlineoverridevirtual

Returns the value of the most recently seen TRACE_MARKER_TYPE_TIMESTAMP marker.

Implements dynamorio::drmemtrace::memtrace_stream_t.

◆ get_page_size()

uint64_t dynamorio::drmemtrace::reader_t::get_page_size ( ) const
inlineoverridevirtual

Returns the page size from the TRACE_MARKER_TYPE_PAGE_SIZE record in the trace header.

Implements dynamorio::drmemtrace::memtrace_stream_t.

◆ get_record_ordinal()

uint64_t dynamorio::drmemtrace::reader_t::get_record_ordinal ( ) const
inlineoverridevirtual

Returns the count of memref_t records from the start of the trace to this point. This includes records skipped over and not presented to any tool. It does not include synthetic records (see is_record_synthetic()).

Implements dynamorio::drmemtrace::memtrace_stream_t.

◆ get_version()

uint64_t dynamorio::drmemtrace::reader_t::get_version ( ) const
inlineoverridevirtual

Returns the trace_version_t value from the TRACE_MARKER_TYPE_VERSION record in the trace header.

Implements dynamorio::drmemtrace::memtrace_stream_t.

◆ is_record_kernel()

bool dynamorio::drmemtrace::reader_t::is_record_kernel ( ) const
inlineoverridevirtual

Returns whether the current record is from a part of the trace corresponding to kernel execution.

Reimplemented from dynamorio::drmemtrace::memtrace_stream_t.

◆ is_record_synthetic()

bool dynamorio::drmemtrace::reader_t::is_record_synthetic ( ) const
inlineoverridevirtual

Returns whether the current record was synthesized and inserted into the record stream and was not present in the original stream. This is true for timestamp and cpuid headers duplicated after skipping ahead, as well as cpuid markers inserted for synthetic schedules. Such records do not count toward the record count and get_record_ordinal() will return the value of the prior record.

Reimplemented from 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/reader.h