Re: Logs, logs, logs

Phil <[email protected]> Sun, 06 Feb 2005 13:02:54 +0000
Newsgroups gmane.comp.graphics.y.devel
Message-ID <[email protected]>
For the lazy, here are the patch logs:

Revision: Y--phil--0.2--patch-1
Archive: [email protected]
Creator: Phil <[email protected]>
Date: Sun Feb  6 01:17:45 GMT 2005
Standard-date: 2005-02-06 01:17:45 GMT
New-files: Y/trace/.arch-ids/=id
     Y/trace/.arch-ids/trace.c.id
     Y/trace/.arch-ids/trace.h.id
     Y/trace/.arch-ids/tracetest.c.id Y/trace/trace.c
     Y/trace/trace.h Y/trace/tracetest.c
New-directories: Y/trace Y/trace/.arch-ids
Modified-files: Y/Makefile.am Y/main/y.c Y/y.h
     clients/tools/startY.in startY.devel.in
New-patches: [email protected]/Y--phil--0.2--patch-1
Summary: Add the framework for trace support and a few tracepoints
Keywords: trace traceY

Y/trace/trace.c contains the tracing logic.
Y/trace/trace.h has macros to make tracing easier to use and disable.
Y/trace/tracetest.c simple tests for the above code. make check to run.

Added new target to Y/Makefile.am named traceY.  This is the version of
Y with trace support built in.  The original Y program does not have
trace support, and there is therefore no overhead to this change unless
you use traceY instead of Y as the server.  Both are built and installed
to ${prefix}/bin by default.

To enable trace, set the environment variable Y_TRACE to 1 and run
traceY as the server.  startY and startY.devel have been altered to
accept a -trace argument which selects traceY instead of Y.  You still
need to set the environment variable yourself.  traceY without the
environment variable set is liekly to be a fair bit slower than Y.  I
chose to do it this way to allow future tracing to be switched on once
the server has started to reduce the amount of output.

By default, trace information is printed to stderr.  You can instead
save it to a file of your choice by naming that file in the Y_TRACE_FILE
environment variable.  Tracing to stderr will probably break if the
server detaches from the console, so expect tracing to imply nodetach in
the near future.

So far there are only 3 tracepoints, more will be added as soon as I get
time.  Since tracepoints have the same runtime cost as comments in the
main Y server, I suggest using a tracepoint anywhere you would have used
a comment -- if the code is complex enough to need explanation it's
probably worth being able to trace it.  Anyway, tracing costs nothing.

==and==

Revision: Y--phil--0.2--patch-2
Archive: [email protected]
Creator: Phil <[email protected]>
Date: Sun Feb  6 01:47:27 GMT 2005
Standard-date: 2005-02-06 01:47:27 GMT
Modified-files: Y/main/config.c clients/clock/clock.cc
     libYc++/Y/c++/value.cc
New-patches: [email protected]/Y--phil--0.2--patch-2
Summary: Fix build errors on linux/amd64/gcc-3.4.3
Keywords: amd64

Y/main/config.c: isspace was being called on the wrong pointer, which
caused a fatal type mismatch on 64-bit platforms.  On other platforms it
was a silent bug.

libYc++/Y/c++/value.cc: namespace error with gcc-3.4.3. Not sure if this
is the right fix, but everything now builds and links OK.

clients/clock/clock.cc: needed <math.h> for sin() cos() and M_PI.  How
did this ever work?