@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
57 lines (56 loc) • 2.66 kB
TypeScript
import { BaseModel } from './BaseModel';
import { UnifiedPath } from '../system/UnifiedPath';
import { IPowerMetricsSensorInterfaceOptions, IPerfSensorInterfaceOptions, IWindowsSensorInterfaceOptions, ProjectIdentifier_string, MicroSeconds_number, IProfilerConfig, RegistryOptions, ExportOptions, ProjectOptions, RuntimeOptions, SensorInterfaceType } from '../types';
export declare class ProfilerConfig extends BaseModel implements IProfilerConfig {
filePath: UnifiedPath;
extends?: string;
registryOptions: RegistryOptions;
exportOptions: ExportOptions;
projectOptions: ProjectOptions;
runtimeOptions: RuntimeOptions;
constructor(filePath: UnifiedPath, config: IProfilerConfig);
static getDefaultConfig(): ProfilerConfig;
getAnonymizedRuntimeOptions(): RuntimeOptions;
getV8CPUSamplingInterval(): MicroSeconds_number;
getRegistryUploadUrl(): string;
uploadEnabled(): boolean;
getProjectIdentifier(): ProjectIdentifier_string;
getRootDir(): UnifiedPath;
getOutDir(): UnifiedPath;
getOutHistoryDir(): UnifiedPath;
getSensorInterfaceType(): SensorInterfaceType | undefined;
getSensorInterfaceOptions(): IPowerMetricsSensorInterfaceOptions | IPerfSensorInterfaceOptions | IWindowsSensorInterfaceOptions | undefined;
shouldExportV8Profile(): boolean;
shouldExportReport(): boolean;
shouldExportSensorInterfaceData(): boolean;
getSeedForMathRandom(): string | undefined;
private configAsExtended;
/**
* Fills unspecified values of the config with values of the given config
*
* example usage:
* - every config that gets resolved inherits values of the default config (baseConfig)
* to ensure that unspecified values are filled with the default value. This happens via:
* config.implement(baseConfig):
*
* - if a config contains the extends keyword like this:
* {
* "extends": "<config that gets extended>"
* }
* the config gets extended via:
* config.implement(<config that gets extended>):
*
* it also adjusts the inherited path values values to make them relative to the config
*
*
* @param config to inherit from
*/
private implement;
static fromJSON(json: string | IProfilerConfig): ProfilerConfig;
toJSON(): IProfilerConfig;
storeToFile(filePath: UnifiedPath): void;
static loadFromFile(filePath: UnifiedPath): ProfilerConfig | undefined;
static resolveFromFile(filePath: UnifiedPath | undefined): ProfilerConfig;
static autoResolveFromPath(startDir: UnifiedPath): ProfilerConfig;
static autoResolve(): ProfilerConfig;
}