@oaklean/profiler-core
Version:
Part of the @oaklean suite. It provides all basic functions to work with the `.oak` file format. It allows parsing the `.oak` file format as well as tools for analyzing the measurement values. It also provides all necessary capabilities required for prec
38 lines (37 loc) • 1.78 kB
TypeScript
import { CPUNode } from './CPUNode';
import { CPUProfileSourceLocation } from './CPUProfileSourceLocation';
import { IComputedNode } from '../../../lib/vscode-js-profile-core/src/cpu/model';
import { ICpuProfileRaw } from '../../../lib/vscode-js-profile-core/src/cpu/types';
import { UnifiedPath } from '../../system/UnifiedPath';
import { MetricsDataCollection } from '../../model/interfaces/MetricsDataCollection';
import { NanoSeconds_BigInt, MicroSeconds_number, MilliJoule_number } from '../../types';
export declare class CPUModel {
private rootDir;
private cpuModel;
private sourceLocations;
private _cpuProfilerBeginTime;
private _startTime;
private _endTime;
private _energyValuesPerNode;
private _cpuNodes;
private _profilerHitsPerNode;
constructor(rootDir: UnifiedPath, profile: ICpuProfileRaw, highResolutionBeginTime: NanoSeconds_BigInt);
get profilerHitsPerNode(): number[];
set energyValuesPerNode(values: [MilliJoule_number, MilliJoule_number][] | undefined);
/**
* energyValuesPerNode is a tuple based array
*
* index 0 of each tuple represents the cpuEnergy
* index 1 of each tuple represents the ramEnergy
*/
get energyValuesPerNode(): [MilliJoule_number, MilliJoule_number][] | undefined;
get CPUProfileSourceLocations(): readonly CPUProfileSourceLocation[];
get INodes(): readonly IComputedNode[];
get timeDeltas(): readonly MicroSeconds_number[];
get samples(): readonly number[];
get startTime(): number;
get endTime(): number;
energyValuesPerNodeByMetricsData(metricsDataCollection: MetricsDataCollection): [MilliJoule_number, MilliJoule_number][];
getNode(index: number): CPUNode;
storeToFile(filePath: UnifiedPath): Promise<void>;
}