PJ_VALIDATE(1)

NAME
pj_validate - checks a file strictly follows the Paje file format

SYNOPSIS

pj_validate [OPTIONS] [FILE]

DESCRIPTION

The pj_validate(1) command checks if the paje trace file FILE strictly follows the Paje file format as defined by the reference documentation (see section RESOURCES for the appropriate link). It is a useful program to check if a Paje file is valid and can be used in the performance analysis of parallel and distributed applications. If FILE is not provided, then the standard input is used.

pj_validate reads the trace file from the beginning until the end of file is found. During this process, pj_validate relies on the Paje library to recreate in memory the behavior that is registered in the trace file. This means that pj_validate will put in memory all the contents of the trace file, even if the input is very large. Once all the contents of the trace file are simulated without any kind of error, pj_validate exits with a value of 0 (meaning the everything is okay). If the trace is valid, the pj_validate also outputs information regarding the trace: the total number of containers in the trace, the total number of entities (states, events, links and variables) and the type hierarchy contained in the trace.

OPTIONS

pj_validate accepts the following options:

-n, --no-strict
    Support old field names in event definitions.

-f, --flex
    Use alternative file reader based on flex/bison (experimental).

-q, --quiet
    Be quiet (no output on stdout).

-t, --time
    Print number of seconds to simulate input

-?, --help
    Show all the available options.

--usage
    Give a short usage message.

INPUT DESCRIPTION

The pj_validate(1) command expects an input that follows the Paje file format (as described in the PDF document listed in the RESOURCES section of this page). If FILE is not provided, pj_validate(1) will try to read from the standard input.

OUTPUT DESCRIPTION

If the input strictly follows the Paje file format, the output of the pj_validate(1) command looks like this:

    report Containers: 82
    report Entities: 11417509
    report Types: 6
    report Type Hierarchy:
    report |0 (17PajeContainerType)
    report ||ROOT (17PajeContainerType)
    report || LINK (12PajeLinkType)
    report || MACHINE (17PajeContainerType)
    report | | PROCESS (17PajeContainerType)
    report |  | STATE (13PajeStateType)

for an input that contains 82 containers, 11417509 entities spread among all the containers and 6 types. The type hierarchy starts with the default root identified by 0 (a container type), with one child named ROOT (also a container type) that has two children: LINK (a link type) and MACHINE (a container type). MACHINE has one child PROCESS (a container type) that has a single child which is a STATE (state type).

RESOURCES

Description of the Paje trace file: http://paje.sourceforge.net/download/publication/lang-paje.pdf

Main web site: http://github.com/schnorr/pajeng/

REPORTING BUGS

    Report pj_validate bugs to <http://github.com/schnorr/pajeng/issues>

COPYRIGHT

Copyright (C) 2012-2014 Lucas M. Schnorr. Free use of this software is granted under the terms of the GNU General Public License (GPL).

SEE ALSO

pj_dump(1)