How to use the faastjs.CostAnalyzer.googleConfigurations function in faastjs

To help you get started, we’ve selected a few faastjs examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github faastjs / examples / cost-analyzer-comparison-ts / index.ts View on Github external
import { writeFile as fsWriteFile } from "fs";
import { promisify } from "util";

const writeFile = promisify(fsWriteFile);

async function work(faastModule: FaastModule) {
    await faastModule.functions.random(1000000);
}

const memorySizes = [128, 256, 512, 1024, 1728, 2048];

const configurations = [
    ...CostAnalyzer.awsConfigurations.filter(c =>
        memorySizes.find(m => m === c.options.memorySize!)
    ),
    ...CostAnalyzer.googleConfigurations.filter(c =>
        memorySizes.find(m => m === c.options.memorySize!)
    )
];

async function compareCloudCosts() {
    const result = await CostAnalyzer.analyze({ funcs, work, configurations });

    await writeFile("cost.csv", result.csv());
}

compareCloudCosts();