summaryrefslogtreecommitdiff
path: root/doc/future-designs
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2025-02-25 15:41:32 +0100
committerKlaus Aehlig <klaus.aehlig@huawei.com>2025-02-26 11:22:46 +0100
commit5adf0988d33d18870e4732a9682357c20e63840c (patch)
treeb0fbfe44fbd02a6233143e0dd0918bb19a068705 /doc/future-designs
parent455003d0e924414db339395e8367166e7820c5da (diff)
downloadjustbuild-5adf0988d33d18870e4732a9682357c20e63840c.tar.gz
profiling design: update logging options
Reduce interference of invocation logging with regular logging operations; in particular, restrict just-mr passing the --async-profile option only to build commands and thus avoiding race conditions with calls to `analyse` that rely on having a graph available immediate after invocation.
Diffstat (limited to 'doc/future-designs')
-rw-r--r--doc/future-designs/profiling.md12
1 files changed, 11 insertions, 1 deletions
diff --git a/doc/future-designs/profiling.md b/doc/future-designs/profiling.md
index e1526059..55f5fa5a 100644
--- a/doc/future-designs/profiling.md
+++ b/doc/future-designs/profiling.md
@@ -146,6 +146,15 @@ profiling is done only on a best-effort basis. Using asynchronous
profile logging, the regular developer workflow is not affected by
the overhead of writing these detailed machine-readable logs.
+### `just` options `--dump-graph` and `--dump-plain-graph` become cummulative
+
+The options `--dump-graph` and `--dump-plain-graph` change their
+semantics from "latest wins" to be cummulative, in the same way as
+`-f` is already. That is, if these options are given several times
+then `just` will also write the graph file to several destinations.
+In this way, it is possible to have an invocation-specific logging
+of the action graph without interfering with other graph logging.
+
### `just-mr` to support passing unique log options on each invocation
The configuration file for `just-mr` will be extended by an
@@ -184,7 +193,8 @@ Inside this directory the requested files with the specified file
names will be created, in the case of `"--profile"`, `"--dump-graph"`,
and `"--dump-plain-graph"` by passing the appropriate options to
the invocation of `just`. If `"async"` is set to `true`, the option
-`--async-profile` will be given as well.
+`--async-profile` will be given as well to all targets building (i.e.,
+`build`, `install`, and `rebuild`).
The meta-data will be written just by `just-mr` itself, just before
doing the `exec` call. The file contains a JSON object with keys