PerfLog output looks heinous #20

Closed
jwpeterson opened this Issue Dec 19, 2012 · 3 comments

Comments

Projects
None yet
3 participants
@jwpeterson
Owner

jwpeterson commented Dec 19, 2012

I think it's cool that we include the configure flags with the PerfLog output, but it looks pretty bad if you have a lot of configure options (see below).

Since LIBMESH_CONFIGURE_INFO comes in as a #define, I'm not sure if we can parse the string somehow at runtime?


| Time: Wed Dec 19 13:40:50 2012 |
| OS: Darwin |
| HostName: inl421321.inl.gov |
| OS Release: 12.2.0 |
| OS Version: Darwin Kernel Version 12.2.0: Sat Aug 25 00:48:52 PDT 2012; root:xnu-2050.18.24~1/RELEASE_X86_64 |
| Machine: x86_64 |
| Username: petejw |

| Configuration: ../configure '--with-methods=opt' '--prefix=/Users/petejw/projects/libmesh_jwp_git/install' '--with-cxx=/opt/packages/openmpi/1.6.3/bin/mpicxx' '--with-cc=/opt/packages/openmpi/1.6.3/bin/mpicc' '--with-f77=/opt/packages/openmpi/1.6.3/bin/mpif77' '--with-fc=/opt/packages/openmpi/1.6.3/bin/mpif90' '--disable-maintainer-mode' '--enable-legacy-include-paths' '--enable-legacy-using-namespace' '--enable-perflog' '--enable-tracefiles' '--with-fparser=release' '--with-eigen-include=/Users/petejw/software/eigen/3.1.2' '--with-glpk-include=/Users/petejw/software/glpk/4.47/install/include' '--with-glpk-lib=/Users/petejw/software/glpk/4.47/install/lib' '--with-vtk-include=/Users/petejw/software/vtk/5.10.1/install/include/vtk-5.10' '--with-vtk-lib=/Users/petejw/software/vtk/5.10.1/install/lib/vtk-5.10' 'CXX=mpicxx' 'CC=mpicc' 'FC=mpif90' 'F77=mpif77' 'METHODS=opt' 'PETSC_DIR=/opt/packages/petsc/3.3-p4' 'SLEPC_DIR=/opt/packages/slepc/3.3-p3' |

@roystgnr

This comment has been minimized.

Show comment Hide comment
@roystgnr

roystgnr Dec 19, 2012

Owner

LIBMESH_CONFIGURE_INFO is a string literal, so it's forbidden (or
worse, IIRC: forbidden by the standard but slips unflagged by many
compilers) for us to modify it. But that doesn't mean we can't just
copy it into a std::string for slicing and dicing.

My output actually looks much worse than your example, and I'd be
happy to see (some? all?) spaces in the configure line replaced with
linebreaks.

Owner

roystgnr commented Dec 19, 2012

LIBMESH_CONFIGURE_INFO is a string literal, so it's forbidden (or
worse, IIRC: forbidden by the standard but slips unflagged by many
compilers) for us to modify it. But that doesn't mean we can't just
copy it into a std::string for slicing and dicing.

My output actually looks much worse than your example, and I'd be
happy to see (some? all?) spaces in the configure line replaced with
linebreaks.

@jwpeterson

This comment has been minimized.

Show comment Hide comment
@jwpeterson

jwpeterson Dec 19, 2012

Owner

LIBMESH_CONFIGURE_INFO is a string literal, so it's forbidden (or
worse, IIRC: forbidden by the standard but slips unflagged by many
compilers) for us to modify it. But that doesn't mean we can't just
copy it into a std::string for slicing and dicing.

Oh, yeah, was definitely gonna make std::string copy, and that does seem to work fine.

My output actually looks much worse than your example, and I'd be
happy to see (some? all?) spaces in the configure line replaced with
linebreaks.

I think the process of putting it into an email cleaned it up a bit. On a wide terminal it fills the entire screen and then wraps several lines of dash characters.

Owner

jwpeterson commented Dec 19, 2012

LIBMESH_CONFIGURE_INFO is a string literal, so it's forbidden (or
worse, IIRC: forbidden by the standard but slips unflagged by many
compilers) for us to modify it. But that doesn't mean we can't just
copy it into a std::string for slicing and dicing.

Oh, yeah, was definitely gonna make std::string copy, and that does seem to work fine.

My output actually looks much worse than your example, and I'd be
happy to see (some? all?) spaces in the configure line replaced with
linebreaks.

I think the process of putting it into an email cleaned it up a bit. On a wide terminal it fills the entire screen and then wraps several lines of dash characters.

@benkirk

This comment has been minimized.

Show comment Hide comment
@benkirk

benkirk Dec 19, 2012

Owner

You are welcome for that.

;-p

Owner

benkirk commented Dec 19, 2012

You are welcome for that.

;-p

jwpeterson added a commit that referenced this issue Dec 19, 2012

Split the LIBMESH_CONFIGURE_INFO on whitespace.
Still not quite perfect if you configure with multiple METHODs, as
it splits those onto multiple lines.

Fixes issue #20.

@jwpeterson jwpeterson closed this Dec 19, 2012

jwpeterson added a commit that referenced this issue Dec 20, 2012

Split LIBMESH_CONFIGURE_INFO only on the string "' '" rather than
any whitespace.  Looks slightly better in case some arguments to
configure contain whitespace.

Issue #20.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment