RFR: 8340363: User-specified default decorators for UnifiedLogging

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Thu Sep 19 07:17:38 UTC 2024


On Fri, 13 Sep 2024 09:03:55 GMT, Antón Seoane <duke at openjdk.org> wrote:

> Hi all,
> 
> Currently, the Unified Logging framework defaults to three decorators (uptime, level, tags) whenever the user does not specify otherwise through `-Xlog`. This can result in cumbersome input whenever a specific user that relies on a particular tag(s) has some predefined needs. For example, C2 developers rarely need decorations, and having to manually specify this every time results inconvenient.
> 
> To address this, this PR enables the possibility of adding tag-specific default decorators to UL. These defaults are in no way overriding user input -- they will only act whenever `-Xlog` has no decorators supplied and there is a positive match with the pre-specified defaults. Such a match is based on the following:
> 
> - Inclusion: if `-Xlog:jit+compilation` is provided, a default for `jit` may be applied.
> - Specificity: if, for the above line, there is a more specific default for `jit+compilation` the latter shall be applied. Upon equal specificity cases, both defaults will be applied.
> - Additionally, defaults may target a specific log level.
> 
> Decorators are also associated with an output file, so an output device may only have one set of decorators. For this reason, if different `LogSelection`s trigger defaults, none is to be applied.
> 
> In summary, these defaults may be seen as a "tailored" or "flavoured" version of the existing "uptime-level-tags" current defaults.
> 
> Please consider this PR, and thanks!

src/hotspot/share/logging/logDecorators.cpp line 31:

> 29: const LogLevelType AnyLevel = LogLevelType::NotMentioned;
> 30: #define DEFAULT_DECORATORS \
> 31:   DEFAULT_VALUE(mask_from_decorators(NoDecorators), AnyLevel, LOG_TAGS(jit, inlining))

As a compiler developer, I agree with the choice of no decorators by default for `jit+inlining`. When this is the only tag selected, there isn't much value in the information provided by the global default decorators.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/20988#discussion_r1766288455


More information about the serviceability-dev mailing list