@cloud-carbon-footprint/core
Version:
The core logic to get cloud usage data and estimate energy and carbon emissions.
25 lines (24 loc) • 940 B
TypeScript
import { MetricDataResult } from 'aws-sdk/clients/cloudwatch';
import { IUsageData, CloudConstants } from '../.';
export default interface ComputeUsage extends IUsageData {
cpuUtilizationAverage: number;
vCpuHours: number;
usesAverageCPUConstant: boolean;
}
export declare class ComputeUsageBuilder {
private timestamp;
private cpuUtilizations;
private vCpuHours;
private constants;
constructor(timestamp: string, constants: CloudConstants);
addCpuUtilization(cpuUtilization: number): ComputeUsageBuilder;
setVCpuHours(vCpuHours: number): ComputeUsageBuilder;
build(): ComputeUsage;
}
export interface RawComputeUsage {
id: string;
timestamp: string;
value: number;
}
export declare const extractRawComputeUsages: (mdr: MetricDataResult) => RawComputeUsage[];
export declare function buildComputeUsages(rawComputeUsages: RawComputeUsage[], constants: CloudConstants): ComputeUsage[];