IOR
Functions | Variables
ior-output.c File Reference
#include <sys/utsname.h>
#include <math.h>
#include <stddef.h>
#include "ior.h"
#include "ior-internal.h"
#include "utilities.h"
Include dependency graph for ior-output.c:

Go to the source code of this file.

Functions

static double mean_of_array_of_doubles (double *values, int len)
 
static void PPDouble (int leftjustify, double number, char *append)
 
static void PrintNextToken ()
 
void PrintTableHeader ()
 
static void PrintIndent ()
 
static void PrintKeyValStart (char *key)
 
static void PrintKeyValEnd ()
 
static void PrintKeyVal (char *key, char *value)
 
static void PrintKeyValDouble (char *key, double value)
 
static void PrintKeyValInt (char *key, int64_t value)
 
static void PrintStartSection ()
 
static void PrintNamedSectionStart (char *key)
 
static void PrintNamedArrayStart (char *key)
 
static void PrintEndSection ()
 
static void PrintArrayStart ()
 
static void PrintArrayNamedStart (char *key)
 
static void PrintArrayEnd ()
 
void PrintRepeatEnd ()
 
void PrintRepeatStart ()
 
void PrintTestEnds ()
 
void PrintReducedResult (IOR_test_t *test, int access, double bw, double iops, double latency, double *diff_subset, double totalTime, int rep)
 
void PrintHeader (int argc, char **argv)
 
void ShowTestStart (IOR_param_t *test)
 
void ShowTestEnd (IOR_test_t *tptr)
 
void ShowSetup (IOR_param_t *params)
 
static struct resultsbw_ops_values (const int reps, IOR_results_t *measured, IOR_offset_t transfer_size, const double *vals, const int access)
 
static struct resultsbw_values (const int reps, IOR_results_t *measured, const double *vals, const int access)
 
static struct resultsops_values (const int reps, IOR_results_t *measured, IOR_offset_t transfer_size, const double *vals, const int access)
 
static void PrintLongSummaryOneOperation (IOR_test_t *test, const int access)
 
void PrintLongSummaryOneTest (IOR_test_t *test)
 
void PrintLongSummaryHeader ()
 
void PrintLongSummaryAllTests (IOR_test_t *tests_head)
 
void PrintShortSummary (IOR_test_t *test)
 
void DisplayFreespace (IOR_param_t *test)
 
void PrintRemoveTiming (double start, double finish, int rep)
 

Variables

char ** environ
 
static int indent = 0
 
static int needNextToken = 0
 

Function Documentation

◆ bw_ops_values()

static struct results* bw_ops_values ( const int  reps,
IOR_results_t measured,
IOR_offset_t  transfer_size,
const double *  vals,
const int  access 
)
static

Definition at line 474 of file ior-output.c.

References IOR_point_t::aggFileSizeForBW, ERR, results::max, results::mean, results::min, NULL, IOR_results_t::read, results::sd, results::sum, results::val, results::var, WRITE, and IOR_results_t::write.

Referenced by bw_values(), and ops_values().

Here is the caller graph for this function:

◆ bw_values()

static struct results* bw_values ( const int  reps,
IOR_results_t measured,
const double *  vals,
const int  access 
)
static

Definition at line 514 of file ior-output.c.

References bw_ops_values().

Referenced by PrintLongSummaryOneOperation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DisplayFreespace()

void DisplayFreespace ( IOR_param_t test)

Definition at line 747 of file ior-output.c.

References FALSE, GetTestFileName(), MAX_STR, ShowFileSystemSize(), and TRUE.

Referenced by ShowTestStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mean_of_array_of_doubles()

static double mean_of_array_of_doubles ( double *  values,
int  len 
)
static

Definition at line 823 of file ior-output.c.

Referenced by PrintLongSummaryOneOperation().

Here is the caller graph for this function:

◆ ops_values()

static struct results* ops_values ( const int  reps,
IOR_results_t measured,
IOR_offset_t  transfer_size,
const double *  vals,
const int  access 
)
static

Definition at line 520 of file ior-output.c.

References bw_ops_values().

Referenced by PrintLongSummaryOneOperation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PPDouble()

static void PPDouble ( int  leftjustify,
double  number,
char *  append 
)
static

Definition at line 798 of file ior-output.c.

References out_resultfile.

Referenced by PrintReducedResult(), and PrintRemoveTiming().

Here is the caller graph for this function:

◆ PrintArrayEnd()

static void PrintArrayEnd ( )
static

Definition at line 186 of file ior-output.c.

References indent, needNextToken, out_resultfile, OUTPUT_JSON, outputFormat, and rank.

Referenced by PrintLongSummaryAllTests(), PrintRepeatEnd(), and PrintShortSummary().

Here is the caller graph for this function:

◆ PrintArrayNamedStart()

static void PrintArrayNamedStart ( char *  key)
static

Definition at line 176 of file ior-output.c.

References needNextToken, out_resultfile, OUTPUT_JSON, outputFormat, PrintNextToken(), and rank.

Referenced by PrintHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintArrayStart()

static void PrintArrayStart ( )
static

Definition at line 166 of file ior-output.c.

References needNextToken, out_resultfile, OUTPUT_JSON, outputFormat, PrintNextToken(), and rank.

Referenced by PrintRepeatStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintEndSection()

static void PrintEndSection ( )
static

Definition at line 153 of file ior-output.c.

References indent, needNextToken, out_resultfile, OUTPUT_JSON, outputFormat, PrintIndent(), and rank.

Referenced by PrintLongSummaryOneOperation(), PrintReducedResult(), PrintRemoveTiming(), PrintShortSummary(), PrintTestEnds(), ShowSetup(), ShowTestEnd(), and ShowTestStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintHeader()

void PrintHeader ( int  argc,
char **  argv 
)

Definition at line 253 of file ior-output.c.

References CurrentTimeString(), environ, EWARN, NULL, out_logfile, out_resultfile, OUTPUT_DEFAULT, outputFormat, PrintArrayNamedStart(), PrintKeyVal(), PrintKeyValEnd(), PrintKeyValStart(), PrintStartSection(), rank, verbose, VERBOSE_1, VERBOSE_2, VERBOSE_3, and wall_clock_deviation.

Referenced by ior_main(), and ior_run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintIndent()

static void PrintIndent ( )
static

Definition at line 29 of file ior-output.c.

References indent, out_resultfile, OUTPUT_JSON, and outputFormat.

Referenced by PrintEndSection(), PrintKeyValStart(), PrintNextToken(), and PrintStartSection().

Here is the caller graph for this function:

◆ PrintKeyVal()

static void PrintKeyVal ( char *  key,
char *  value 
)
static

Definition at line 73 of file ior-output.c.

References needNextToken, NULL, out_resultfile, OUTPUT_CSV, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, and PrintNextToken().

Referenced by PrintHeader(), PrintLongSummaryOneOperation(), PrintReducedResult(), PrintRemoveTiming(), PrintTestEnds(), ShowSetup(), and ShowTestStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintKeyValDouble()

static void PrintKeyValDouble ( char *  key,
double  value 
)
static

Definition at line 91 of file ior-output.c.

References needNextToken, out_resultfile, OUTPUT_CSV, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, and PrintNextToken().

Referenced by PrintLongSummaryOneOperation(), PrintReducedResult(), PrintRemoveTiming(), and PrintShortSummary().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintKeyValEnd()

static void PrintKeyValEnd ( )
static

Definition at line 63 of file ior-output.c.

References needNextToken, out_resultfile, OUTPUT_DEFAULT, OUTPUT_JSON, and outputFormat.

Referenced by PrintHeader().

Here is the caller graph for this function:

◆ PrintKeyValInt()

static void PrintKeyValInt ( char *  key,
int64_t  value 
)
static

Definition at line 106 of file ior-output.c.

References needNextToken, out_resultfile, OUTPUT_CSV, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, and PrintNextToken().

Referenced by PrintLongSummaryOneOperation(), ShowSetup(), and ShowTestStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintKeyValStart()

static void PrintKeyValStart ( char *  key)
static

Definition at line 39 of file ior-output.c.

References out_resultfile, OUTPUT_CSV, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, PrintIndent(), and PrintNextToken().

Referenced by PrintHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintLongSummaryAllTests()

void PrintLongSummaryAllTests ( IOR_test_t tests_head)

Definition at line 670 of file ior-output.c.

References IOR_test_t::next, NULL, out_resultfile, OUTPUT_CSV, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, PrintArrayEnd(), PrintLongSummaryHeader(), PrintLongSummaryOneTest(), PrintNamedArrayStart(), rank, verbose, and VERBOSE_0.

Referenced by ior_main(), and ior_run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintLongSummaryHeader()

void PrintLongSummaryHeader ( )

Definition at line 651 of file ior-output.c.

References out_resultfile, OUTPUT_DEFAULT, outputFormat, rank, verbose, and VERBOSE_0.

Referenced by PrintLongSummaryAllTests(), and TestIoSys().

Here is the caller graph for this function:

◆ PrintLongSummaryOneOperation()

static void PrintLongSummaryOneOperation ( IOR_test_t test,
const int  access 
)
static

◆ PrintLongSummaryOneTest()

void PrintLongSummaryOneTest ( IOR_test_t test)

Definition at line 641 of file ior-output.c.

References IOR_test_t::params, PrintLongSummaryOneOperation(), READ, IOR_param_t::readFile, WRITE, and IOR_param_t::writeFile.

Referenced by PrintLongSummaryAllTests(), and TestIoSys().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintNamedArrayStart()

static void PrintNamedArrayStart ( char *  key)
static

Definition at line 142 of file ior-output.c.

References indent, needNextToken, out_resultfile, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, and PrintNextToken().

Referenced by PrintLongSummaryAllTests(), and ShowSetup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintNamedSectionStart()

static void PrintNamedSectionStart ( char *  key)
static

Definition at line 130 of file ior-output.c.

References indent, needNextToken, out_resultfile, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, and PrintNextToken().

Referenced by PrintShortSummary(), ShowSetup(), and ShowTestStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintNextToken()

static void PrintNextToken ( )
static

Definition at line 53 of file ior-output.c.

References needNextToken, out_resultfile, OUTPUT_JSON, outputFormat, and PrintIndent().

Referenced by PrintArrayNamedStart(), PrintArrayStart(), PrintKeyVal(), PrintKeyValDouble(), PrintKeyValInt(), PrintKeyValStart(), PrintNamedArrayStart(), PrintNamedSectionStart(), and PrintStartSection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintReducedResult()

void PrintReducedResult ( IOR_test_t test,
int  access,
double  bw,
double  iops,
double  latency,
double *  diff_subset,
double  totalTime,
int  rep 
)

Definition at line 222 of file ior-output.c.

References IOR_param_t::blockSize, KIBIBYTE, MEBIBYTE, out_resultfile, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, IOR_test_t::params, PPDouble(), PrintEndSection(), PrintKeyVal(), PrintKeyValDouble(), PrintStartSection(), IOR_param_t::transferSize, and WRITE.

Referenced by ReduceIterResults().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintRemoveTiming()

void PrintRemoveTiming ( double  start,
double  finish,
int  rep 
)

Definition at line 775 of file ior-output.c.

References out_resultfile, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, PPDouble(), PrintEndSection(), PrintKeyVal(), PrintKeyValDouble(), PrintStartSection(), rank, verbose, and VERBOSE_0.

Referenced by TestIoSys().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintRepeatEnd()

void PrintRepeatEnd ( )

Definition at line 197 of file ior-output.c.

References PrintArrayEnd(), and rank.

Referenced by TestIoSys().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintRepeatStart()

void PrintRepeatStart ( )

Definition at line 203 of file ior-output.c.

References OUTPUT_DEFAULT, outputFormat, PrintArrayStart(), and rank.

Referenced by TestIoSys().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintShortSummary()

void PrintShortSummary ( IOR_test_t test)

◆ PrintStartSection()

static void PrintStartSection ( )
static

Definition at line 120 of file ior-output.c.

References indent, needNextToken, out_resultfile, OUTPUT_JSON, outputFormat, PrintIndent(), and PrintNextToken().

Referenced by PrintHeader(), PrintLongSummaryOneOperation(), PrintReducedResult(), PrintRemoveTiming(), and ShowTestStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintTableHeader()

void PrintTableHeader ( )

Definition at line 18 of file ior-output.c.

References out_resultfile, OUTPUT_DEFAULT, and outputFormat.

Referenced by TestIoSys().

Here is the caller graph for this function:

◆ PrintTestEnds()

void PrintTestEnds ( )

Definition at line 212 of file ior-output.c.

References CurrentTimeString(), PrintEndSection(), PrintKeyVal(), rank, verbose, and VERBOSE_0.

Referenced by ior_main(), and ior_run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowSetup()

void ShowSetup ( IOR_param_t params)

◆ ShowTestEnd()

void ShowTestEnd ( IOR_test_t tptr)

Definition at line 397 of file ior-output.c.

References out_logfile, IOR_point_t::pairs_accessed, IOR_test_t::params, PrintEndSection(), rank, IOR_test_t::results, IOR_param_t::stoneWallingStatusFile, IOR_param_t::stoneWallingWearOut, StoreStoneWallingIterations(), and IOR_results_t::write.

Referenced by ior_main(), and ior_run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowTestStart()

void ShowTestStart ( IOR_param_t test)

Definition at line 320 of file ior-output.c.

References IOR_param_t::api, IOR_param_t::blockSize, IOR_param_t::checkRead, IOR_param_t::checkWrite, IOR_param_t::collective, CurrentTimeString(), IOR_param_t::dataPacketType, IOR_param_t::deadlineForStonewalling, DisplayFreespace(), IOR_param_t::dryRun, IOR_param_t::filePerProc, IOR_param_t::fsync, IOR_param_t::fsyncPerWrite, IOR_param_t::gpfs_hint_access, IOR_param_t::gpfs_release_token, IOR_param_t::hintsFileName, IOR_param_t::id, IOR_param_t::individualDataSets, IOR_param_t::interTestDelay, IOR_param_t::keepFile, IOR_param_t::keepFileWithError, IOR_param_t::maxTimeDuration, IOR_param_t::memoryPerNode, IOR_param_t::memoryPerTask, IOR_param_t::multiFile, IOR_param_t::numNodes, IOR_param_t::numTasksOnNode0, IOR_param_t::options, out_resultfile, IOR_param_t::outlierThreshold, OUTPUT_JSON, outputFormat, IOR_param_t::platform, IOR_param_t::preallocate, PrintEndSection(), PrintKeyVal(), PrintKeyValInt(), PrintNamedSectionStart(), PrintStartSection(), IOR_param_t::quitOnError, IOR_param_t::randomOffset, IOR_param_t::readFile, IOR_param_t::referenceNumber, Regex(), IOR_param_t::reorderTasks, IOR_param_t::reorderTasksRandom, IOR_param_t::reorderTasksRandomSeed, IOR_param_t::repetitions, IOR_param_t::segmentCount, IOR_param_t::setAlignment, IOR_param_t::setTimeStampSignature, IOR_param_t::showHints, IOR_param_t::singleXferAttempt, IOR_param_t::stoneWallingWearOut, IOR_param_t::storeFileOffset, IOR_param_t::testFileName, IOR_param_t::transferSize, IOR_param_t::uniqueDir, IOR_param_t::useExistingTestFile, IOR_param_t::useFileView, IOR_param_t::useSharedFilePointer, IOR_param_t::useStridedDatatype, verbose, VERBOSE_3, and IOR_param_t::writeFile.

Referenced by ior_main(), and ior_run().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ environ

char** environ

Referenced by PrintHeader(), and SetHints().

◆ indent

int indent = 0
static

◆ needNextToken

int needNextToken = 0
static