Skip to content

Commit

Permalink
Merge pull request #4150 from MonsieurNicolas/addMetaMetric
Browse files Browse the repository at this point in the history
Add metric to track metra production

Reviewed-by: marta-lokhova
  • Loading branch information
latobarita authored Jan 20, 2024
2 parents 3138474 + 49747dc commit 92ddf1e
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 1 deletion.
1 change: 1 addition & 0 deletions docs/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ ledger.catchup.duration | timer | time between entering LM
ledger.invariant.failure | counter | number of times invariants failed
ledger.ledger.close | timer | time to close a ledger (excluding consensus)
ledger.memory.queued-ledgers | counter | number of ledgers queued in memory for replay
ledger.metastream.bytes | meter | number of bytes written per ledger into meta-stream
ledger.metastream.write | timer | time spent writing data into meta-stream
ledger.operation.apply | timer | time applying an operation
ledger.operation.count | histogram | number of operations per ledger
Expand Down
6 changes: 5 additions & 1 deletion src/ledger/LedgerManagerImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,8 @@ LedgerManagerImpl::LedgerManagerImpl(Application& app)
app.getMetrics().NewCounter({"ledger", "apply", "success"}))
, mTransactionApplyFailed(
app.getMetrics().NewCounter({"ledger", "apply", "failure"}))
, mMetaStreamBytes(
app.getMetrics().NewMeter({"ledger", "metastream", "bytes"}, "byte"))
, mMetaStreamWriteTime(
app.getMetrics().NewTimer({"ledger", "metastream", "write"}))
, mLastClose(mApp.getClock().now())
Expand Down Expand Up @@ -682,8 +684,10 @@ LedgerManagerImpl::emitNextMeta()
auto streamWrite = mMetaStreamWriteTime.TimeScope();
if (mMetaStream)
{
mMetaStream->writeOne(mNextMetaToEmit->getXDR());
size_t written = 0;
mMetaStream->writeOne(mNextMetaToEmit->getXDR(), nullptr, &written);
mMetaStream->flush();
mMetaStreamBytes.Mark(written);
}
if (mMetaDebugStream)
{
Expand Down
1 change: 1 addition & 0 deletions src/ledger/LedgerManagerImpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ class LedgerManagerImpl : public LedgerManager
medida::Counter& mLedgerAge;
medida::Counter& mTransactionApplySucceeded;
medida::Counter& mTransactionApplyFailed;
medida::Meter& mMetaStreamBytes;
medida::Timer& mMetaStreamWriteTime;
VirtualClock::time_point mLastClose;
bool mRebuildInMemoryState{false};
Expand Down
16 changes: 16 additions & 0 deletions src/util/Backtrace.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,24 @@ printCurrentBacktrace()
}
}

#else

#ifdef _WIN32
static size_t
backtrace(void**, size_t)
{
return 0;
}

static char**
backtrace_symbols(void** v, size_t n)
{
return nullptr;
}

#else
#include <execinfo.h>
#endif

namespace stellar
{
Expand Down

0 comments on commit 92ddf1e

Please sign in to comment.