mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-06 11:20:32 +00:00
doc: fix graphviz scanning and processing
The doc build process copies files using script/extract-content.py from outside of the doc/ folder (specifically content in the tools/ folders). The script was not copying graphviz directive files. This has been fixed and the embedded graphviz directives are not (properly) stored in separate image/*.dot files. Note the extract-content.py file is derived from the Zephyr project. Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
This commit is contained in:
committed by
David Kinder
parent
e49c42d698
commit
348422dba6
@@ -79,20 +79,11 @@ telemetrics-client on the system:
|
||||
telemetrics daemon. The work flow of ``acrnprobe`` and
|
||||
telemetrics-client is shown in :numref:`crashlog-workflow`:
|
||||
|
||||
.. graphviz::
|
||||
.. graphviz:: images/crashlog-workflow.dot
|
||||
:name: crashlog-workflow
|
||||
:align: center
|
||||
:caption: acrnprobe and telemetrics-client workflow
|
||||
|
||||
digraph {
|
||||
bgcolor=transparent; rankdir=LR;
|
||||
node [shape="rectangle" style="filled" color="lightblue"]
|
||||
edge [fontsize="12" fontcolor="blue"]
|
||||
|
||||
"acrnprobe" -> "telemetrics-client" [label="crashlog\npath"]
|
||||
"telemetrics-client" -> "backend" [label="log\ncontent"]
|
||||
}
|
||||
|
||||
|
||||
Crashlog can be retrieved with ``telem_journal`` command:
|
||||
|
||||
|
@@ -97,29 +97,10 @@ D inherit from crash A, and crash C is the child of crash B.
|
||||
Build crash tree in configuration
|
||||
=================================
|
||||
|
||||
.. graphviz::
|
||||
|
||||
digraph {
|
||||
{
|
||||
node [shape=plaintext];
|
||||
"level 1" -> "level 2" -> "level 3";
|
||||
}
|
||||
|
||||
node [shape=box;style="rounded,filled";color=AntiqueWhite;];
|
||||
c1 [ label="crash A\nid 1\ncrash root" ];
|
||||
c2 [ label="crash B\nid 2" ];
|
||||
c3 [ label="crash C\nid 3\ncrash leaf" ];
|
||||
c4 [ label="crash D\nid 4\ncrash leaf" ];
|
||||
c5 [ label="crash E\nid 5\ncrash root\ncrash leaf" ];
|
||||
{ rank = same; "level 1"; c1; c5;}
|
||||
{ rank = same; "level 2"; c2; c4;}
|
||||
{ rank = same; "level 3"; c3;}
|
||||
|
||||
node [shape=box;color="transparent";];
|
||||
"None" -> {c1 c5} [ label="inherit 0" ];
|
||||
c1 -> {c2 c4} [ label="inherit 1" ];
|
||||
c2 -> c3 [ label="inherit 2" ];
|
||||
}
|
||||
.. graphviz:: images/crash-config.dot
|
||||
:name: crash-config
|
||||
:align: center
|
||||
:caption: Build crash tree in configuration
|
||||
|
||||
Match crash at runtime
|
||||
======================
|
||||
@@ -136,33 +117,10 @@ If a crash A is triggered, then the candidates are crash A, B, C and D.
|
||||
The following diagram describes what ``acrnprobe`` will do if the matched
|
||||
result is crash D.
|
||||
|
||||
.. graphviz::
|
||||
|
||||
digraph {
|
||||
{
|
||||
node [shape=plaintext];
|
||||
"level 1" -> "level 2" -> "level 3";
|
||||
}
|
||||
|
||||
node [shape=box;style="rounded,filled";color=AntiqueWhite;];
|
||||
c1 [ label="crash A\nid 1\ncrash root" ];
|
||||
c2 [ label="crash B\nid 2" ];
|
||||
c3 [ label="crash C\nid 3\ncrash leaf" ];
|
||||
c4 [ label="crash D\nid 4\ncrash leaf" ];
|
||||
{ rank = same; "level 1"; c1;}
|
||||
{ rank = same; "level 2"; c2; c4;}
|
||||
{ rank = same; "level 3"; c3;}
|
||||
|
||||
node [shape=box;style="rounded,dashed";];
|
||||
exp1 [ label="crash B matches fail\nmatch for the next child\nof crash A"];
|
||||
exp2 [ label="crash D matches successfully\nreturn crash D"];
|
||||
|
||||
node [shape=box;style="invis";];
|
||||
"channel" -> c1 [ label="trigger" ]
|
||||
c1 -> {exp1 exp2}
|
||||
exp1 -> c2 -> c3 [ style=dashed dir=none]
|
||||
exp2 -> c4
|
||||
}
|
||||
.. graphviz:: images/crash-match.dot
|
||||
:name: crash-match
|
||||
:align: center
|
||||
:caption: Match crash at runtime
|
||||
|
||||
Sections
|
||||
********
|
||||
|
21
tools/acrn-crashlog/acrnprobe/images/crash-config.dot
Normal file
21
tools/acrn-crashlog/acrnprobe/images/crash-config.dot
Normal file
@@ -0,0 +1,21 @@
|
||||
digraph {
|
||||
{
|
||||
node [shape=plaintext];
|
||||
"level 1" -> "level 2" -> "level 3";
|
||||
}
|
||||
|
||||
node [shape=box;style="rounded,filled";color=AntiqueWhite;];
|
||||
c1 [ label="crash A\nid 1\ncrash root" ];
|
||||
c2 [ label="crash B\nid 2" ];
|
||||
c3 [ label="crash C\nid 3\ncrash leaf" ];
|
||||
c4 [ label="crash D\nid 4\ncrash leaf" ];
|
||||
c5 [ label="crash E\nid 5\ncrash root\ncrash leaf" ];
|
||||
{ rank = same; "level 1"; c1; c5;}
|
||||
{ rank = same; "level 2"; c2; c4;}
|
||||
{ rank = same; "level 3"; c3;}
|
||||
|
||||
node [shape=box;color="transparent";];
|
||||
"None" -> {c1 c5} [ label="inherit 0" ];
|
||||
c1 -> {c2 c4} [ label="inherit 1" ];
|
||||
c2 -> c3 [ label="inherit 2" ];
|
||||
}
|
26
tools/acrn-crashlog/acrnprobe/images/crash-match.dot
Normal file
26
tools/acrn-crashlog/acrnprobe/images/crash-match.dot
Normal file
@@ -0,0 +1,26 @@
|
||||
digraph {
|
||||
{
|
||||
node [shape=plaintext];
|
||||
"level 1" -> "level 2" -> "level 3";
|
||||
}
|
||||
|
||||
node [shape=box;style="rounded,filled";color=AntiqueWhite;];
|
||||
c1 [ label="crash A\nid 1\ncrash root" ];
|
||||
c2 [ label="crash B\nid 2" ];
|
||||
c3 [ label="crash C\nid 3\ncrash leaf" ];
|
||||
c4 [ label="crash D\nid 4\ncrash leaf" ];
|
||||
{ rank = same; "level 1"; c1;}
|
||||
{ rank = same; "level 2"; c2; c4;}
|
||||
{ rank = same; "level 3"; c3;}
|
||||
|
||||
node [shape=box;style="rounded,dashed";];
|
||||
exp1 [ label="crash B matches fail\nmatch for the next child\nof crash A"];
|
||||
exp2 [ label="crash D matches successfully\nreturn crash D"];
|
||||
|
||||
node [shape=box;style="invis";];
|
||||
"channel" -> c1 [ label="trigger" ]
|
||||
c1 -> {exp1 exp2}
|
||||
exp1 -> c2 -> c3 [ style=dashed dir=none]
|
||||
exp2 -> c4
|
||||
}
|
||||
|
8
tools/acrn-crashlog/images/crashlog-workflow.dot
Normal file
8
tools/acrn-crashlog/images/crashlog-workflow.dot
Normal file
@@ -0,0 +1,8 @@
|
||||
digraph {
|
||||
bgcolor=transparent; rankdir=LR;
|
||||
node [shape="rectangle" style="filled" color="lightblue"]
|
||||
edge [fontsize="12" fontcolor="blue"]
|
||||
|
||||
"acrnprobe" -> "telemetrics-client" [label="crashlog\npath"]
|
||||
"telemetrics-client" -> "backend" [label="log\ncontent"]
|
||||
}
|
@@ -7,7 +7,7 @@ Description
|
||||
***********
|
||||
|
||||
The ``usercrash`` tool gets the crash info for the crashing process in
|
||||
userpace. The collected information is saved as usercrash_xx under
|
||||
userspace. The collected information is saved as usercrash_xx under
|
||||
``/var/log/usercrashes/``.
|
||||
|
||||
Design
|
||||
|
Reference in New Issue
Block a user