LLDB  mainline
Public Member Functions | Public Attributes | List of all members
lldb_private::trace_intel_pt::DecodedThread::NanosecondsRange Struct Reference

A structure that represents a maximal range of trace items associated to the same non-interpolated timestamps in nanoseconds. More...

#include <DecodedThread.h>

Collaboration diagram for lldb_private::trace_intel_pt::DecodedThread::NanosecondsRange:
Collaboration graph
[legend]

Public Member Functions

double GetInterpolatedTime (uint64_t item_index, uint64_t beginning_of_time_nanos, const LinuxPerfZeroTscConversion &tsc_conversion) const
 Calculate an interpolated timestamp in nanoseconds for the given item index. More...
 
bool InRange (uint64_t item_index) const
 

Public Attributes

uint64_t nanos
 The nanoseconds value for this range. More...
 
TSC tsc
 The corresponding TSC value for this range. More...
 
NanosecondsRangenext_range
 A nullable pointer to the next range. More...
 
uint64_t items_count
 Number of trace items in this range. More...
 
uint64_t first_item_index
 Index of the first trace item in this range. More...
 

Detailed Description

A structure that represents a maximal range of trace items associated to the same non-interpolated timestamps in nanoseconds.

Definition at line 81 of file DecodedThread.h.

Member Function Documentation

◆ GetInterpolatedTime()

double DecodedThread::NanosecondsRange::GetInterpolatedTime ( uint64_t  item_index,
uint64_t  beginning_of_time_nanos,
const LinuxPerfZeroTscConversion tsc_conversion 
) const

Calculate an interpolated timestamp in nanoseconds for the given item index.

It's guaranteed that two different item indices will produce different interpolated values.

Parameters
[in]item_indexThe index of the item whose timestamp will be estimated. It has to be part of this range.
[in]beginning_of_time_nanosThe timestamp at which tracing started.
[in]tsc_conversionThe tsc -> nanos conversion utility
Returns
An interpolated timestamp value for the given trace item.

Definition at line 42 of file DecodedThread.cpp.

References lldb_private::LinuxPerfZeroTscConversion::ToNanos().

◆ InRange()

bool DecodedThread::NanosecondsRange::InRange ( uint64_t  item_index) const
Returns
true if and only if the given item_index is covered by this range.

Definition at line 37 of file DecodedThread.cpp.

Member Data Documentation

◆ first_item_index

uint64_t lldb_private::trace_intel_pt::DecodedThread::NanosecondsRange::first_item_index

Index of the first trace item in this range.

Definition at line 91 of file DecodedThread.h.

◆ items_count

uint64_t lldb_private::trace_intel_pt::DecodedThread::NanosecondsRange::items_count

Number of trace items in this range.

Definition at line 89 of file DecodedThread.h.

◆ nanos

uint64_t lldb_private::trace_intel_pt::DecodedThread::NanosecondsRange::nanos

The nanoseconds value for this range.

Definition at line 83 of file DecodedThread.h.

◆ next_range

NanosecondsRange* lldb_private::trace_intel_pt::DecodedThread::NanosecondsRange::next_range

A nullable pointer to the next range.

Definition at line 87 of file DecodedThread.h.

◆ tsc

TSC lldb_private::trace_intel_pt::DecodedThread::NanosecondsRange::tsc

The corresponding TSC value for this range.

Definition at line 85 of file DecodedThread.h.


The documentation for this struct was generated from the following files: