Files
nosqlbench/devdocs/sketches/scenario_invocation.svg
2023-10-23 08:41:17 -05:00

225 lines
45 KiB
XML

<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1258 1228"><svg id="d2-svg" class="d2-441761943" width="1258" height="1228" viewBox="-89 -89 1258 1228"><rect x="-89.000000" y="-89.000000" width="1258.000000" height="1228.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-441761943 .text {
font-family: "d2-441761943-font-regular";
}
@font-face {
font-family: d2-441761943-font-regular;
src: url("data:application/font-woff;base64,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");
}
.appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
}
.d2-441761943 .text-bold {
font-family: "d2-441761943-font-bold";
}
@font-face {
font-family: d2-441761943-font-bold;
src: url("data:application/font-woff;base64,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");
}
.d2-441761943 .text-italic {
font-family: "d2-441761943-font-italic";
}
@font-face {
font-family: d2-441761943-font-italic;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
.d2-441761943 .fill-N1{fill:#0A0F25;}
.d2-441761943 .fill-N2{fill:#676C7E;}
.d2-441761943 .fill-N3{fill:#9499AB;}
.d2-441761943 .fill-N4{fill:#CFD2DD;}
.d2-441761943 .fill-N5{fill:#DEE1EB;}
.d2-441761943 .fill-N6{fill:#EEF1F8;}
.d2-441761943 .fill-N7{fill:#FFFFFF;}
.d2-441761943 .fill-B1{fill:#0D32B2;}
.d2-441761943 .fill-B2{fill:#0D32B2;}
.d2-441761943 .fill-B3{fill:#E3E9FD;}
.d2-441761943 .fill-B4{fill:#E3E9FD;}
.d2-441761943 .fill-B5{fill:#EDF0FD;}
.d2-441761943 .fill-B6{fill:#F7F8FE;}
.d2-441761943 .fill-AA2{fill:#4A6FF3;}
.d2-441761943 .fill-AA4{fill:#EDF0FD;}
.d2-441761943 .fill-AA5{fill:#F7F8FE;}
.d2-441761943 .fill-AB4{fill:#EDF0FD;}
.d2-441761943 .fill-AB5{fill:#F7F8FE;}
.d2-441761943 .stroke-N1{stroke:#0A0F25;}
.d2-441761943 .stroke-N2{stroke:#676C7E;}
.d2-441761943 .stroke-N3{stroke:#9499AB;}
.d2-441761943 .stroke-N4{stroke:#CFD2DD;}
.d2-441761943 .stroke-N5{stroke:#DEE1EB;}
.d2-441761943 .stroke-N6{stroke:#EEF1F8;}
.d2-441761943 .stroke-N7{stroke:#FFFFFF;}
.d2-441761943 .stroke-B1{stroke:#0D32B2;}
.d2-441761943 .stroke-B2{stroke:#0D32B2;}
.d2-441761943 .stroke-B3{stroke:#E3E9FD;}
.d2-441761943 .stroke-B4{stroke:#E3E9FD;}
.d2-441761943 .stroke-B5{stroke:#EDF0FD;}
.d2-441761943 .stroke-B6{stroke:#F7F8FE;}
.d2-441761943 .stroke-AA2{stroke:#4A6FF3;}
.d2-441761943 .stroke-AA4{stroke:#EDF0FD;}
.d2-441761943 .stroke-AA5{stroke:#F7F8FE;}
.d2-441761943 .stroke-AB4{stroke:#EDF0FD;}
.d2-441761943 .stroke-AB5{stroke:#F7F8FE;}
.d2-441761943 .background-color-N1{background-color:#0A0F25;}
.d2-441761943 .background-color-N2{background-color:#676C7E;}
.d2-441761943 .background-color-N3{background-color:#9499AB;}
.d2-441761943 .background-color-N4{background-color:#CFD2DD;}
.d2-441761943 .background-color-N5{background-color:#DEE1EB;}
.d2-441761943 .background-color-N6{background-color:#EEF1F8;}
.d2-441761943 .background-color-N7{background-color:#FFFFFF;}
.d2-441761943 .background-color-B1{background-color:#0D32B2;}
.d2-441761943 .background-color-B2{background-color:#0D32B2;}
.d2-441761943 .background-color-B3{background-color:#E3E9FD;}
.d2-441761943 .background-color-B4{background-color:#E3E9FD;}
.d2-441761943 .background-color-B5{background-color:#EDF0FD;}
.d2-441761943 .background-color-B6{background-color:#F7F8FE;}
.d2-441761943 .background-color-AA2{background-color:#4A6FF3;}
.d2-441761943 .background-color-AA4{background-color:#EDF0FD;}
.d2-441761943 .background-color-AA5{background-color:#F7F8FE;}
.d2-441761943 .background-color-AB4{background-color:#EDF0FD;}
.d2-441761943 .background-color-AB5{background-color:#F7F8FE;}
.d2-441761943 .color-N1{color:#0A0F25;}
.d2-441761943 .color-N2{color:#676C7E;}
.d2-441761943 .color-N3{color:#9499AB;}
.d2-441761943 .color-N4{color:#CFD2DD;}
.d2-441761943 .color-N5{color:#DEE1EB;}
.d2-441761943 .color-N6{color:#EEF1F8;}
.d2-441761943 .color-N7{color:#FFFFFF;}
.d2-441761943 .color-B1{color:#0D32B2;}
.d2-441761943 .color-B2{color:#0D32B2;}
.d2-441761943 .color-B3{color:#E3E9FD;}
.d2-441761943 .color-B4{color:#E3E9FD;}
.d2-441761943 .color-B5{color:#EDF0FD;}
.d2-441761943 .color-B6{color:#F7F8FE;}
.d2-441761943 .color-AA2{color:#4A6FF3;}
.d2-441761943 .color-AA4{color:#EDF0FD;}
.d2-441761943 .color-AA5{color:#F7F8FE;}
.d2-441761943 .color-AB4{color:#EDF0FD;}
.d2-441761943 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="fixtures"><g class="shape" ><rect x="12.000000" y="264.000000" width="1039.000000" height="522.000000" class=" stroke-B1 fill-B4" style="stroke-width:2;" /></g><text x="531.500000" y="297.000000" class="text fill-N1" style="text-anchor:middle;font-size:28px">fixtures</text><title>Fixtures are the standard set of interfaces that a scenario invocation needs to communicate with any other element or do anything at all. Fixtures are stateful and disposable, i.e. do not reuse them more than once.</title></g><g id="logic"><g class="shape" ><rect x="215.000000" y="12.000000" width="120.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="275.000000" y="50.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">logic</text></g><g id="system"><g class="shape" ><rect x="215.000000" y="972.000000" width="120.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="275.000000" y="1010.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">system</text></g><g id="fixtures.io"><g class="shape" ><rect x="62.000000" y="319.000000" width="435.000000" height="412.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="279.500000" y="348.000000" class="text fill-N1" style="text-anchor:middle;font-size:24px">IO Trace Buffers</text><title>in the NBSceneBuffer variant of fixtures, IO streams are wrapped in a tracing fixture which intercepts and records all IO in and out. This is done opaquely to the scenario logic.</title></g><g id="fixtures.APIs"><g class="shape" ><rect x="517.000000" y="379.000000" width="484.000000" height="292.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="759.000000" y="408.000000" class="text fill-N1" style="text-anchor:middle;font-size:24px">APIs</text></g><g id="fixtures.io.in"><g class="shape" ><rect x="162.000000" y="369.000000" width="59.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="191.500000" y="407.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">in</text></g><g id="fixtures.io.tbuf"><g class="shape" ><rect x="112.000000" y="510.000000" width="335.000000" height="166.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="279.500000" y="535.000000" class="text fill-N1" style="text-anchor:middle;font-size:20px">Assigned IO Streams</text><title>Normal stdin stdout and stderr IO streams are provided for use by scripted and compiled scenario logic.</title></g><g id="fixtures.io.out"><g class="shape" ><rect x="241.000000" y="369.000000" width="69.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="275.500000" y="407.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">out</text></g><g id="fixtures.io.err"><g class="shape" ><rect x="330.000000" y="369.000000" width="67.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="363.500000" y="407.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">err</text></g><g id="fixtures.APIs.controller"><g class="shape" ><rect x="577.000000" y="439.000000" width="149.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="651.500000" y="477.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">controller</text><title>The controller is an Activity Controller which enables full control of activities, including defining, starting, stopping, dynamic modification of parameters, blocking, etc. It is the controller that is responsible for activity lifecycles.</title></g><g id="fixtures.APIs.params"><g class="shape" ><rect x="577.000000" y="545.000000" width="149.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="651.500000" y="583.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">params</text><title>Scenario parameters are given to the scenario log as part of the fixtures. These can come from the command line or scripting environment.</title></g><g id="fixtures.APIs.component"><g class="shape" ><rect x="766.000000" y="439.000000" width="175.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="853.500000" y="477.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">&lt;component&gt;</text><title>The component represents a node in a runtime hierarchy to which all metrics and other fixtures are attached. Each scenario runs within a component context, and all component APIs are exposed directly within the execution context as services.</title></g><g id="fixtures.APIs.extensions"><g class="shape" ><rect x="766.000000" y="545.000000" width="175.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="853.500000" y="583.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">extensions</text><title>Extensions are bundled capabilities which can be pulled into a scenario if and when needed. Contributors can build extensions which provide additional services, and these can be loaded into either scripted environments with duck-typing, or into compiled code with type safety. They are also available to result verifier logic when appropriate.</title></g><g id="fixtures.io.tbuf.in"><g class="shape" ><rect x="162.000000" y="560.000000" width="59.000000" height="66.000000" class=" stroke-B1 fill-N7" style="stroke-width:2;" /></g><text x="191.500000" y="598.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">in</text></g><g id="fixtures.io.tbuf.out"><g class="shape" ><rect x="241.000000" y="560.000000" width="69.000000" height="66.000000" class=" stroke-B1 fill-N7" style="stroke-width:2;" /></g><text x="275.500000" y="598.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">out</text></g><g id="fixtures.io.tbuf.err"><g class="shape" ><rect x="330.000000" y="560.000000" width="67.000000" height="66.000000" class=" stroke-B1 fill-N7" style="stroke-width:2;" /></g><text x="363.500000" y="598.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">err</text></g><g id="fixtures.io.(in &lt;- tbuf.in)[0]"><marker id="mk-2451250203" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 191.500000 439.000000 L 191.500000 558.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-start="url(#mk-2451250203)" mask="url(#d2-441761943)" /></g><g id="fixtures.io.(out -&gt; tbuf.out)[0]"><marker id="mk-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 275.500000 437.000000 L 275.500000 556.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-441761943)" /></g><g id="fixtures.io.(err -&gt; tbuf.err)[0]"><path d="M 363.500000 437.000000 L 363.500000 556.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-441761943)" /></g><g id="(logic &lt;- fixtures.io.in)[0]"><path d="M 245.500000 82.000000 L 245.500000 209.000000 S 245.500000 219.000000 235.500000 219.000000 L 201.500000 219.000000 S 191.500000 219.000000 191.500000 229.000000 L 191.500000 367.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-start="url(#mk-2451250203)" mask="url(#d2-441761943)" /><text x="214.000000" y="225.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">reads</text></g><g id="(logic -&gt; fixtures.io.out)[0]"><path d="M 275.500000 80.000000 L 275.500000 365.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-441761943)" /><text x="276.000000" y="229.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">writes</text></g><g id="(logic -&gt; fixtures.io.err)[0]"><path d="M 305.500000 80.000000 L 305.500000 209.000000 S 305.500000 219.000000 315.500000 219.000000 L 353.500000 219.000000 S 363.500000 219.000000 363.500000 229.000000 L 363.500000 365.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-441761943)" /><text x="339.000000" y="225.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">writes</text></g><g id="(fixtures.io.tbuf.in &lt;- system)[0]"><path d="M 191.500000 630.000000 L 191.500000 922.000000 S 191.500000 932.000000 201.500000 932.000000 L 235.500000 932.000000 S 245.500000 932.000000 245.500000 942.000000 L 245.500000 970.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-start="url(#mk-2451250203)" mask="url(#d2-441761943)" /><text x="192.000000" y="832.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">reads</text></g><g id="(fixtures.io.tbuf.out -&gt; system)[0]"><path d="M 275.500000 628.000000 L 275.500000 968.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-441761943)" /><text x="276.000000" y="805.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">writes</text></g><g id="(fixtures.io.tbuf.err -&gt; system)[0]"><path d="M 363.500000 628.000000 L 363.500000 922.000000 S 363.500000 932.000000 353.500000 932.000000 L 315.500000 932.000000 S 305.500000 932.000000 305.500000 942.000000 L 305.500000 968.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-441761943)" /><text x="364.000000" y="834.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">writes</text></g><g transform="translate(1035 248)" class="appendix-icon"><title>Fixtures are the standard set of interfaces that a scenario invocation needs to communicate with any other element or do anything at all. Fixtures are stateful and disposable, i.e. do not reuse them more than once.</title><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_3427_35082111)">
<path d="M16 31.1109C24.3456 31.1109 31.1111 24.3454 31.1111 15.9998C31.1111 7.65415 24.3456 0.888672 16 0.888672C7.65436 0.888672 0.888885 7.65415 0.888885 15.9998C0.888885 24.3454 7.65436 31.1109 16 31.1109Z" fill="white" stroke="#DEE1EB"/>
<path d="M16 26C21.5228 26 26 21.5228 26 16C26 10.4772 21.5228 6 16 6C10.4772 6 6 10.4772 6 16C6 21.5228 10.4772 26 16 26Z" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 19.998V15.998" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 12H16.0098" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_3427_35082111">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>
</g><g transform="translate(481 303)" class="appendix-icon"><title>in the NBSceneBuffer variant of fixtures, IO streams are wrapped in a tracing fixture which intercepts and records all IO in and out. This is done opaquely to the scenario logic.</title><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_3427_35082111)">
<path d="M16 31.1109C24.3456 31.1109 31.1111 24.3454 31.1111 15.9998C31.1111 7.65415 24.3456 0.888672 16 0.888672C7.65436 0.888672 0.888885 7.65415 0.888885 15.9998C0.888885 24.3454 7.65436 31.1109 16 31.1109Z" fill="white" stroke="#DEE1EB"/>
<path d="M16 26C21.5228 26 26 21.5228 26 16C26 10.4772 21.5228 6 16 6C10.4772 6 6 10.4772 6 16C6 21.5228 10.4772 26 16 26Z" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 19.998V15.998" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 12H16.0098" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_3427_35082111">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>
</g><g transform="translate(431 494)" class="appendix-icon"><title>Normal stdin stdout and stderr IO streams are provided for use by scripted and compiled scenario logic.</title><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_3427_35082111)">
<path d="M16 31.1109C24.3456 31.1109 31.1111 24.3454 31.1111 15.9998C31.1111 7.65415 24.3456 0.888672 16 0.888672C7.65436 0.888672 0.888885 7.65415 0.888885 15.9998C0.888885 24.3454 7.65436 31.1109 16 31.1109Z" fill="white" stroke="#DEE1EB"/>
<path d="M16 26C21.5228 26 26 21.5228 26 16C26 10.4772 21.5228 6 16 6C10.4772 6 6 10.4772 6 16C6 21.5228 10.4772 26 16 26Z" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 19.998V15.998" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 12H16.0098" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_3427_35082111">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>
</g><g transform="translate(710 423)" class="appendix-icon"><title>The controller is an Activity Controller which enables full control of activities, including defining, starting, stopping, dynamic modification of parameters, blocking, etc. It is the controller that is responsible for activity lifecycles.</title><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_3427_35082111)">
<path d="M16 31.1109C24.3456 31.1109 31.1111 24.3454 31.1111 15.9998C31.1111 7.65415 24.3456 0.888672 16 0.888672C7.65436 0.888672 0.888885 7.65415 0.888885 15.9998C0.888885 24.3454 7.65436 31.1109 16 31.1109Z" fill="white" stroke="#DEE1EB"/>
<path d="M16 26C21.5228 26 26 21.5228 26 16C26 10.4772 21.5228 6 16 6C10.4772 6 6 10.4772 6 16C6 21.5228 10.4772 26 16 26Z" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 19.998V15.998" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 12H16.0098" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_3427_35082111">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>
</g><g transform="translate(710 529)" class="appendix-icon"><title>Scenario parameters are given to the scenario log as part of the fixtures. These can come from the command line or scripting environment.</title><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_3427_35082111)">
<path d="M16 31.1109C24.3456 31.1109 31.1111 24.3454 31.1111 15.9998C31.1111 7.65415 24.3456 0.888672 16 0.888672C7.65436 0.888672 0.888885 7.65415 0.888885 15.9998C0.888885 24.3454 7.65436 31.1109 16 31.1109Z" fill="white" stroke="#DEE1EB"/>
<path d="M16 26C21.5228 26 26 21.5228 26 16C26 10.4772 21.5228 6 16 6C10.4772 6 6 10.4772 6 16C6 21.5228 10.4772 26 16 26Z" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 19.998V15.998" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 12H16.0098" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_3427_35082111">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>
</g><g transform="translate(925 423)" class="appendix-icon"><title>The component represents a node in a runtime hierarchy to which all metrics and other fixtures are attached. Each scenario runs within a component context, and all component APIs are exposed directly within the execution context as services.</title><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_3427_35082111)">
<path d="M16 31.1109C24.3456 31.1109 31.1111 24.3454 31.1111 15.9998C31.1111 7.65415 24.3456 0.888672 16 0.888672C7.65436 0.888672 0.888885 7.65415 0.888885 15.9998C0.888885 24.3454 7.65436 31.1109 16 31.1109Z" fill="white" stroke="#DEE1EB"/>
<path d="M16 26C21.5228 26 26 21.5228 26 16C26 10.4772 21.5228 6 16 6C10.4772 6 6 10.4772 6 16C6 21.5228 10.4772 26 16 26Z" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 19.998V15.998" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 12H16.0098" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_3427_35082111">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>
</g><g transform="translate(925 529)" class="appendix-icon"><title>Extensions are bundled capabilities which can be pulled into a scenario if and when needed. Contributors can build extensions which provide additional services, and these can be loaded into either scripted environments with duck-typing, or into compiled code with type safety. They are also available to result verifier logic when appropriate.</title><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_3427_35082111)">
<path d="M16 31.1109C24.3456 31.1109 31.1111 24.3454 31.1111 15.9998C31.1111 7.65415 24.3456 0.888672 16 0.888672C7.65436 0.888672 0.888885 7.65415 0.888885 15.9998C0.888885 24.3454 7.65436 31.1109 16 31.1109Z" fill="white" stroke="#DEE1EB"/>
<path d="M16 26C21.5228 26 26 21.5228 26 16C26 10.4772 21.5228 6 16 6C10.4772 6 6 10.4772 6 16C6 21.5228 10.4772 26 16 26Z" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 19.998V15.998" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16 12H16.0098" stroke="#2E3346" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_3427_35082111">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>
</g><mask id="d2-441761943" maskUnits="userSpaceOnUse" x="-89" y="-89" width="1258" height="1228">
<rect x="-89" y="-89" width="1258" height="1228" fill="white"></rect>
<rect x="488.000000" y="269.000000" width="87" height="36" fill="rgba(0,0,0,0.75)"></rect>
<rect x="258.000000" y="34.500000" width="34" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="250.000000" y="994.500000" width="50" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="200.500000" y="324.000000" width="158" height="31" fill="rgba(0,0,0,0.75)"></rect>
<rect x="737.500000" y="384.000000" width="43" height="31" fill="rgba(0,0,0,0.75)"></rect>
<rect x="184.500000" y="391.500000" width="14" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="194.000000" y="515.000000" width="171" height="26" fill="rgba(0,0,0,0.75)"></rect>
<rect x="263.500000" y="391.500000" width="24" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="352.500000" y="391.500000" width="22" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="615.500000" y="461.500000" width="72" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="625.000000" y="567.500000" width="53" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="804.500000" y="461.500000" width="98" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="815.000000" y="567.500000" width="77" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="184.500000" y="582.500000" width="14" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="263.500000" y="582.500000" width="24" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="352.500000" y="582.500000" width="22" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="195.000000" y="209.000000" width="38" height="21" fill="black"></rect>
<rect x="256.000000" y="213.000000" width="40" height="21" fill="black"></rect>
<rect x="319.000000" y="209.000000" width="40" height="21" fill="black"></rect>
<rect x="173.000000" y="816.000000" width="38" height="21" fill="black"></rect>
<rect x="256.000000" y="789.000000" width="40" height="21" fill="black"></rect>
<rect x="344.000000" y="818.000000" width="40" height="21" fill="black"></rect>
</mask></svg></svg>