Merge branch 'pratik/otel-phase10-workload-validation' into pratik/otel-sync-diagnostics

expected_spans.json: composed both sides. Kept this branch's 16 extra spans,
relationships and the per_ledger join group; took phase-10's allowed_parents
gate for the shared entries and derived allowed_parents for the 16 from their
factories. ledger.store, ledger.validate and ledger.acquire are hashSpan roots
on this branch, so they list ROOT alone rather than consensus.accept.apply.
This commit is contained in:
Pratik Mankawde
2026-09-23 15:18:25 +01:00
13 changed files with 1396 additions and 187 deletions

View File

@@ -59,7 +59,9 @@
* | Attrs: proposers, round_time_ms, quorum
* | |
* | +-- consensus.accept.apply [jtACCEPT thread, child of accept]
* | Created: Adaptor::doAccept()
* | Created: Adaptor::doAccept(), scoped: the txq spans doAccept
* | goes on to create nest under it; the tx apply-stage
* | spans are hash-derived roots and do not
* | Attrs: ledger_seq, close_time_ripple_epoch_s, close_time_correct,
* | close_resolution_ms, consensus_state, proposing, round_time_ms,
* | parent_close_time_ripple_epoch_s, close_time_self_ripple_epoch_s,
@@ -71,7 +73,7 @@
* | Attrs: ledger_seq, proposing
* |
* +-- consensus.mode_change [main thread]
* Created: Adaptor::onModeChange()
* Created: Adaptor::onModeChange(), only when the mode moves
* Attrs: mode_old, mode_new
*
* Standalone spans (no parent, created per-message in overlay):

View File

@@ -918,6 +918,15 @@ public:
void
addEvent(std::string_view name) noexcept;
/**
* Add a named event with key-value attributes to the span's timeline.
* No-op on a null guard.
* @param name Event name.
* @param attrs Attribute pairs (all string_view for simplicity).
*/
void
addEvent(std::string_view name, std::initializer_list<EventAttribute> attrs) noexcept;
/**
* Record an exception as a span event and mark status as error.
* No-op on a null guard.
@@ -1355,6 +1364,10 @@ public:
{
}
void
addEvent(std::string_view, std::initializer_list<EventAttribute>) noexcept
{
}
void
recordException(std::exception const&) noexcept
{
}