#include <microprofile.h>
#include <stdio.h>

#include <chrono>
#include <thread>

MICROPROFILE_DEFINE(MAIN, "MAIN", "Main", MP_AUTO);

void Test()
{
    MICROPROFILE_SCOPEI("sleep-test", "sleep_for_ms", MP_AUTO);
    std::this_thread::sleep_for(std::chrono::milliseconds(1));
}

int main()
{
    MicroProfileOnThreadCreate("Main");
    MicroProfileSetEnableAllGroups(true);
    MicroProfileSetForceMetaCounters(true);
    printf("port: %d\n", MicroProfileWebServerPort());
    // MicroProfileStartAutoFlip(30);

    while (true)
    {
        MicroProfileFlip(0);
        MICROPROFILE_COUNTER_ADD("test_counter", 1);
        MICROPROFILE_SCOPE(MAIN);
        Test();
    }
    MicroProfileStopAutoFlip();
    MicroProfileShutdown();
    return 0;
}
