diff --git a/ci-build.sh b/ci-build.sh index 8619c44319..383854df55 100755 --- a/ci-build.sh +++ b/ci-build.sh @@ -212,7 +212,7 @@ echo "Using RND_SEED: $RND_SEED" ulimit -n 65536 export INTERACTIVE=0 -export TEST_SPEC='[overlay-ipc]' +export TEST_SPEC='[overlay-ipc],[loadgen]' export SKIP_SOROBAN_TESTS=true export STELLAR_OVERLAY_BINARY="${SRC_DIR}/build-${CC}-${PROTOCOL}/stellar-overlay" time make check diff --git a/src/ledger/LedgerManagerImpl.cpp b/src/ledger/LedgerManagerImpl.cpp index 3711de7e7e..2935c9b5da 100644 --- a/src/ledger/LedgerManagerImpl.cpp +++ b/src/ledger/LedgerManagerImpl.cpp @@ -208,6 +208,10 @@ LedgerManagerImpl::LedgerApplyMetrics::LedgerApplyMetrics( , mLedgerAgeClosedHistogram( registry.NewHistogram({"ledger", "age", "closed-histogram"}, medida::SamplingInterface::kSliding)) + , mPendingTxsSelfCount( + registry.NewCounter({"herder", "pending-txs", "self-count"})) + , mPendingSorobanTxsSelfCount( + registry.NewCounter({"herder", "pending-soroban-txs", "self-count"})) #endif , mLedgerAge(registry.NewCounter({"ledger", "age", "current-seconds"})) , mTransactionApplySucceeded( @@ -1803,6 +1807,11 @@ LedgerManagerImpl::applyLedger(LedgerCloseData const& ledgerData, static_cast(numOps)); TracyPlot("ledger.operation.count", static_cast(numOps)); + mApplyState.getMetrics().mPendingTxsSelfCount.inc( + static_cast(numClassicTxs)); + mApplyState.getMetrics().mPendingSorobanTxsSelfCount.inc( + static_cast(numSorobanTxs)); + CLOG_INFO(Ledger, "Overlay-only mode: skipping apply for ledger {} " "({} classic, {} soroban, {} total txs)", diff --git a/src/ledger/LedgerManagerImpl.h b/src/ledger/LedgerManagerImpl.h index 713cdba69b..822dffa70c 100644 --- a/src/ledger/LedgerManagerImpl.h +++ b/src/ledger/LedgerManagerImpl.h @@ -78,6 +78,10 @@ class LedgerManagerImpl : public LedgerManager medida::Buckets& mLedgerAgeClosed; #ifdef BUILD_TESTS medida::Histogram& mLedgerAgeClosedHistogram; + // Externalized tx counters maintained in overlay-only mode; loadgen's + // completion check reads these to track applied transactions. + medida::Counter& mPendingTxsSelfCount; + medida::Counter& mPendingSorobanTxsSelfCount; #endif medida::Counter& mLedgerAge; medida::Counter& mTransactionApplySucceeded;