History log of /petsc/src/sys/logging/handler/impls/nested/xmlviewer.h (Results 1 – 4 of 4)
Revision Date Author Comments
# 9dd11ecf 25-Aug-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2023-08-17/header-guard-check' into 'main'

Check header guards

See merge request petsc/petsc!6822


# a4963045 18-Aug-2023 Jacob Faibussowitsch <jacob.fai@gmail.com>

Convert all header guards to pragma once


# 6c37f76f 27-Jul-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'tisaac/feature-log-handler' into 'main'

Deglobalize logging into PetscLogHandler and PetscLogState

See merge request petsc/petsc!6709


# b9321188 13-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Add nested PetscLogHandler implementation

This log handler has behavior like the behavior of
PetscLogNestedBegin().

Unlike the implementation of PetscLogHandler_Default, I did not try to

Profiling: Add nested PetscLogHandler implementation

This log handler has behavior like the behavior of
PetscLogNestedBegin().

Unlike the implementation of PetscLogHandler_Default, I did not try to
do a faithful translation of the existing nested logging behavior, for
two reasons.

- The existing implementation keeps sorted lists of nested paths ("Event
A;Event B;"), and for each of those paths keeps a sorted list of the
top-level events ("Event C", "Event D") that map that path to other
paths (path + event => other path). It's a complicated data structure,
and the benefit of the sorting (O(log n) lookup) is probably not worth
the more expensive insertion cost each time a new path + event combo
appears. Instead I implemented the path + event => other path
lookup as a hash map, which simplified the implementation
significantly.

- The existing implementation assigns an event to each path, modifying
the event registry in place. This messes things up if you want
to both -log_view and -log_view ::ascii_flamegraph output, the
original motivation for refactoring the profiling infrastructure.
In the new implementation, the nested handler has its own
PetscLogState that it modifies, and an inner copy of
PetscLogHandler_Default the acts on that nested state.

- The PetscLogGlobalNames data structure also simplifies the
construction of a linearized tree of events in the final
viewing stage, although the low-level xml construction
routines are copied almost verbatim from the previous
implementation.

show more ...