docs(reports): sequence helper in chronos

Co-authored-by: LordBaryhobal <lordbaryhobal@gmail.com>
Signed-off-by: Klagarge <remi@heredero.ch>
This commit is contained in:
2026-06-10 22:01:44 +02:00
parent 26f1553e26
commit 4bce5e5ee2

View File

@@ -39,22 +39,35 @@
main.display main.display
ig.display ig.display
db.display db.display
_col(b.name, mg.name, width: 5cm) _col(b.name, mg.name, width: 5cm)
_col(mg.name, main.name, width: 5cm) _col(mg.name, main.name, width: 5cm)
_col(main.name, ig.name, width: 5cm) _col(main.name, ig.name, width: 5cm)
_col(ig.name, db.name, width: 5cm) _col(ig.name, db.name, width: 5cm)
sync(main, mg, "New", create-dst: true)
sync(mg, b, "subscribe")
sync(main, ig, "New", create-dst: true)
async(b, mg, "message")
sync(mg, main, "DataPoint")
sync(main, main, "map topics")
sync(main, ig, "DataPoint")
async(ig, db, "flush")
} }
#let toDB-seq = (
async(b, mg, "message"),
sync(mg, main, "DataPoint"),
sync(main, main, "map topics"),
sync(main, ig, "DataPoint"),
async(ig, db, "flush")
)
#set align(center+top)
#v(1em)
#figure(
box(height: 10cm, {
let diag = toDB
for (i, step) in toDB-seq.enumerate(start: 1) {
diag += step
only(i, chronos.diagram(diag, width: 90%))
}
}),
caption: [Sequence from broker to DB]
) <fig:seq:toDB>
== Database & API - Get data from DB
#let fromDB = { #let fromDB = {
import chronos: * import chronos: *
db.display db.display
@@ -62,29 +75,32 @@
main.display main.display
rg.display rg.display
u.display u.display
_col(db.name, ig.name, width: 5cm) _col(db.name, ig.name, width: 5cm)
_col(ig.name, main.name, width: 5cm) _col(ig.name, main.name, width: 5cm)
_col(main.name, rg.name, width: 5cm) _col(main.name, rg.name, width: 5cm)
_col(rg.name, u.name, width: 5cm) _col(rg.name, u.name, width: 5cm)
async(u, rg, "Request")
sync(rg, main, "getNodes")
sync(main, rg, "", dashed: true)
sync(rg, ig, "Query")
sync(ig, db, "")
sync(db, ig, "", dashed: true)
sync(ig, rg, "", dashed: true)
sync(rg, u, "", dashed: true)
} }
--- #let fromDB-seq = (
async(u, rg, "Request"),
sync(rg, main, "getNodes"),
sync(main, rg, "", dashed: true),
sync(rg, ig, "Query"),
sync(ig, db, ""),
sync(db, ig, "", dashed: true),
sync(ig, rg, "", dashed: true),
sync(rg, u, "", dashed: true),
)
#set align(center+top)
#v(1em)
#figure( #figure(
chronos.diagram(toDB, width: 90%), box(height: 11.75cm, {
caption: [Sequence from broker to DB] let diag = fromDB
) <fig:seq:toDB> for (i, step) in fromDB-seq.enumerate(start: 1) {
--- diag += step
#figure( only(i, chronos.diagram(diag, width: 90%))
chronos.diagram(fromDB, width: 90%), }
}),
caption: [Sequence to REST from DB] caption: [Sequence to REST from DB]
) <fig:seq:fromDB> ) <fig:seq:fromDB>