in frontend/app/components/memory_profile/memory_timeline_graph/memory_timeline_graph.ts [170:214]
getMetadataTooltip(snapshot: MemoryProfileSnapshot|undefined) {
if (!snapshot) return '';
const timestampMs = this.picoToMilli(snapshot.timeOffsetPs);
const stats = snapshot.aggregationStats;
const metadata = snapshot.activityMetadata;
if (!stats || !metadata || !metadata.requestedBytes ||
!metadata.allocationBytes || !metadata.memoryActivity) {
return '';
}
let requestedSizeGib = this.bytesToGiBs(metadata.requestedBytes);
let allocationSizeGib = this.bytesToGiBs(metadata.allocationBytes);
if (metadata.memoryActivity === 'DEALLOCATION') {
requestedSizeGib = -requestedSizeGib;
allocationSizeGib = -allocationSizeGib;
}
const memInUseGib = this.bytesToGiBs(
Number(stats.stackReservedBytes) +
Number(stats.heapAllocatedBytes))
.toFixed(4);
let metadataTooltip = 'timestamp(ms): ' + timestampMs.toFixed(1);
metadataTooltip += '\nevent: ' + metadata.memoryActivity.toLowerCase();
if (Number(metadata.requestedBytes) > 0) {
metadataTooltip +=
'\nrequested_size(GiBs): ' + requestedSizeGib.toFixed(4);
}
metadataTooltip +=
'\nallocation_size(GiBs): ' + allocationSizeGib.toFixed(4);
if (metadata.tfOpName) {
metadataTooltip += '\ntf_op: ' + metadata.tfOpName;
}
if (metadata.stepId) {
metadataTooltip += '\nstep_id: ' + metadata.stepId;
}
if (metadata.regionType) {
metadataTooltip += '\nregion_type: ' + metadata.regionType;
}
if (metadata.dataType && metadata.dataType !== 'INVALID') {
metadataTooltip += '\ndata_type: ' + metadata.dataType;
}
if (metadata.tensorShape) {
metadataTooltip += '\ntensor_shape: ' + metadata.tensorShape;
}
metadataTooltip += '\n\nmemory_in_use(GiBs): ' + memInUseGib;
return metadataTooltip;
}