bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #38432] Optional parameter to tag all output lines with unique text


From: Brian Vandenberg
Subject: [bug #38432] Optional parameter to tag all output lines with unique text to improve logging capabilities
Date: Wed, 27 Feb 2013 19:13:07 +0000
User-agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; InfoPath.3)

URL:
  <http://savannah.gnu.org/bugs/?38432>

                 Summary: Optional parameter to tag all output lines with
unique text to improve logging capabilities
                 Project: make
            Submitted by: phantal
            Submitted on: Wed 27 Feb 2013 07:13:05 PM GMT
                Severity: 3 - Normal
              Item Group: Build/Install
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
       Component Version: 3.82
        Operating System: None
           Fixed Release: None
           Triage Status: None

    _______________________________________________________

Details:

When building in parallel it can be rather difficult to pair up errors with
the thing being built or the command executed that induced the error in the
first place.

The solution proposed here: tag all output text with something that makes it
possible to group & re-order the output of make after-the-fact to clear things
up.  For example:

* Give each target a non-random numeric designation unique to the target (eg,
a hash of the target name); for the sake of brevity I'll refer to this as a
UUID in spite of the fact that typically refers to a very specific
implementation/concept.
* Prefix every line with a timestamp and a UUID.
* Any output generated from inside a target (stdout/stderr, $(info),
$(warning), $(error), etc) while evaluating the target uses the UUID for the
target
* Any output generated during the first pass when parsing, or otherwise
generated outside a target uses a 'global' UUID.

Some possible issues:

* What timestamp should be used?  Accurate to the moment the text was
generated?  Accurate to the moment the recipe command was initiated?  One
based on when the target's build was initiated (before any recipe lines are
evaluated)? ...
* How to handle sub-make processes ... they'd need to communicate with the
top-tier processes and negogiate UUIDs in some fashion; however, there's a
`configure` option to disable parent/child communication ... though I suppose
in that case the parent could pass in a seed to sub-make processes.






    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?38432>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]