UNPKG

@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
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[];