mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2024-12-24 16:00:09 -06:00
77 lines
2.4 KiB
Plaintext
77 lines
2.4 KiB
Plaintext
fixtures {
|
|
# grid-columns:3
|
|
tooltip: 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.
|
|
io {
|
|
label: IO Trace Buffers
|
|
tooltip: 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.
|
|
# grid-columns:1
|
|
in <- tbuf.in
|
|
out -> tbuf.out
|
|
err -> tbuf.err
|
|
tbuf {
|
|
label: "Assigned IO Streams"
|
|
tooltip: Normal stdin stdout and stderr IO streams are provided for use by scripted \
|
|
and compiled scenario logic.
|
|
# grid-columns:1
|
|
in
|
|
out
|
|
err
|
|
}
|
|
}
|
|
APIs {
|
|
grid-columns:2
|
|
# style.stroke-width: 0
|
|
controller {
|
|
tooltip: 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.
|
|
}
|
|
params {
|
|
tooltip: Scenario parameters are given to the scenario log as part of the \
|
|
fixtures. These can come from the command line or scripting environment.
|
|
}
|
|
component {
|
|
label: <component>
|
|
tooltip: 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.
|
|
}
|
|
extensions {
|
|
tooltip: 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.
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
logic {
|
|
}
|
|
|
|
logic <- fixtures.io.in : reads
|
|
logic -> fixtures.io.out : writes
|
|
logic -> fixtures.io.err : writes
|
|
|
|
system {
|
|
}
|
|
|
|
fixtures.io.tbuf.in <- system : reads
|
|
fixtures.io.tbuf.out -> system : writes
|
|
fixtures.io.tbuf.err -> system : writes
|
|
|
|
|
|
#IO\nbuffers -. "embed" .-> fixtures
|
|
# params --> fixtures
|
|
# fixtures --> Scenario\ninstance
|
|
# Scenario\ninstance --> used\nfixtures
|
|
# used\nfixtures -. extract .-> IO\ntraces
|
|
|