Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0de3633d authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Benchmark: Add CSV support for NDK gtest" am: bc0f22e3 am: 884a4ead

Change-Id: If12a66d7ca2b2bd93fcb9df13bd749e33945849c
parents 0f001eca 884a4ead
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -154,9 +154,11 @@ void C2Decoder::deInitCodec() {
    mStats->setDeInitTime(timeTaken);
}

void C2Decoder::dumpStatistics(string inputReference, int64_t durationUs) {
void C2Decoder::dumpStatistics(string inputReference, int64_t durationUs, string componentName,
                               string statsFile) {
    string operation = "c2decode";
    mStats->dumpStatistics(operation, inputReference, durationUs);
    string mode = "async";
    mStats->dumpStatistics(operation, inputReference, durationUs, componentName, mode, statsFile);
}

void C2Decoder::resetDecoder() {
+2 −1
Original line number Diff line number Diff line
@@ -35,7 +35,8 @@ class C2Decoder : public BenchmarkC2Common {

    void deInitCodec();

    void dumpStatistics(string inputReference, int64_t durationUs);
    void dumpStatistics(string inputReference, int64_t durationUs, string componentName,
                        string statsFile);

    void resetDecoder();

+4 −2
Original line number Diff line number Diff line
@@ -251,9 +251,11 @@ void C2Encoder::deInitCodec() {
    mStats->setDeInitTime(timeTaken);
}

void C2Encoder::dumpStatistics(string inputReference, int64_t durationUs) {
void C2Encoder::dumpStatistics(string inputReference, int64_t durationUs, string componentName,
                               string statsFile) {
    string operation = "c2encode";
    mStats->dumpStatistics(operation, inputReference, durationUs);
    string mode = "async";
    mStats->dumpStatistics(operation, inputReference, durationUs, componentName, mode, statsFile);
}

void C2Encoder::resetEncoder() {
+2 −1
Original line number Diff line number Diff line
@@ -44,7 +44,8 @@ class C2Encoder : public BenchmarkC2Common {

    void deInitCodec();

    void dumpStatistics(string inputReference, int64_t durationUs);
    void dumpStatistics(string inputReference, int64_t durationUs, string componentName,
                        string statsFile);

    void resetEncoder();

+32 −1
Original line number Diff line number Diff line
@@ -25,7 +25,9 @@ using namespace std;

class BenchmarkTestEnvironment : public ::testing::Environment {
  public:
    BenchmarkTestEnvironment() : res("/sdcard/media/") {}
    BenchmarkTestEnvironment()
        : res("/data/local/tmp/MediaBenchmark/res/"),
          statsFile("/data/local/tmp/MediaBenchmark/res/stats.csv") {}

    // Parses the command line argument
    int initFromOptions(int argc, char **argv);
@@ -34,8 +36,15 @@ class BenchmarkTestEnvironment : public ::testing::Environment {

    const string getRes() const { return res; }

    void setStatsFile(const string module) { statsFile = getRes() + module; }

    const string getStatsFile() const { return statsFile; }

    bool writeStatsHeader();

  private:
    string res;
    string statsFile;
};

int BenchmarkTestEnvironment::initFromOptions(int argc, char **argv) {
@@ -70,4 +79,26 @@ int BenchmarkTestEnvironment::initFromOptions(int argc, char **argv) {
    return 0;
}

/**
 * Writes the stats header to a file
 * <p>
 * \param statsFile    file where the stats data is to be written
 **/
bool BenchmarkTestEnvironment::writeStatsHeader() {
    char statsHeader[] =
        "currentTime, fileName, operation, componentName, NDK/SDK, sync/async, setupTime, "
        "destroyTime, minimumTime, maximumTime, averageTime, timeToProcess1SecContent, "
        "totalBytesProcessedPerSec, timeToFirstFrame, totalSizeInBytes, totalTime\n";
    FILE *fpStats = fopen(statsFile.c_str(), "w");
    if(!fpStats) {
        return false;
    }
    int32_t numBytes = fwrite(statsHeader, sizeof(char), sizeof(statsHeader), fpStats);
    if(numBytes != sizeof(statsHeader)) {
        return false;
    }
    fclose(fpStats);
    return true;
}

#endif  // __BENCHMARK_TEST_ENVIRONMENT_H__
Loading