|
|
@ -27,17 +27,19 @@ const (
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
const (
|
|
|
|
numCheckpoints = "checkpoints"
|
|
|
|
numCheckpoints = "checkpoints"
|
|
|
|
numCheckpointErrors = "checkpoint_errors"
|
|
|
|
numCheckpointErrors = "checkpoint_errors"
|
|
|
|
checkpointDuration = "checkpoint_duration_ns"
|
|
|
|
numCheckpointedPages = "checkpointed_pages"
|
|
|
|
numExecutions = "executions"
|
|
|
|
numCheckpointedMoves = "checkpointed_moves"
|
|
|
|
numExecutionErrors = "execution_errors"
|
|
|
|
checkpointDuration = "checkpoint_duration_ns"
|
|
|
|
numQueries = "queries"
|
|
|
|
numExecutions = "executions"
|
|
|
|
numQueryErrors = "query_errors"
|
|
|
|
numExecutionErrors = "execution_errors"
|
|
|
|
numRequests = "requests"
|
|
|
|
numQueries = "queries"
|
|
|
|
numETx = "execute_transactions"
|
|
|
|
numQueryErrors = "query_errors"
|
|
|
|
numQTx = "query_transactions"
|
|
|
|
numRequests = "requests"
|
|
|
|
numRTx = "request_transactions"
|
|
|
|
numETx = "execute_transactions"
|
|
|
|
|
|
|
|
numQTx = "query_transactions"
|
|
|
|
|
|
|
|
numRTx = "request_transactions"
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
var (
|
|
|
|
var (
|
|
|
@ -61,6 +63,8 @@ func ResetStats() {
|
|
|
|
stats.Init()
|
|
|
|
stats.Init()
|
|
|
|
stats.Add(numCheckpoints, 0)
|
|
|
|
stats.Add(numCheckpoints, 0)
|
|
|
|
stats.Add(numCheckpointErrors, 0)
|
|
|
|
stats.Add(numCheckpointErrors, 0)
|
|
|
|
|
|
|
|
stats.Add(numCheckpointedPages, 0)
|
|
|
|
|
|
|
|
stats.Add(numCheckpointedMoves, 0)
|
|
|
|
stats.Add(checkpointDuration, 0)
|
|
|
|
stats.Add(checkpointDuration, 0)
|
|
|
|
stats.Add(numExecutions, 0)
|
|
|
|
stats.Add(numExecutions, 0)
|
|
|
|
stats.Add(numExecutionErrors, 0)
|
|
|
|
stats.Add(numExecutionErrors, 0)
|
|
|
@ -482,6 +486,8 @@ func (db *DB) CheckpointWithTimeout(dur time.Duration) (err error) {
|
|
|
|
|
|
|
|
|
|
|
|
f := func() error {
|
|
|
|
f := func() error {
|
|
|
|
err := db.rwDB.QueryRow("PRAGMA wal_checkpoint(TRUNCATE)").Scan(&ok, &nPages, &nMoved)
|
|
|
|
err := db.rwDB.QueryRow("PRAGMA wal_checkpoint(TRUNCATE)").Scan(&ok, &nPages, &nMoved)
|
|
|
|
|
|
|
|
stats.Add(numCheckpointedPages, int64(nPages))
|
|
|
|
|
|
|
|
stats.Add(numCheckpointedMoves, int64(nMoved))
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return fmt.Errorf("error checkpointing WAL: %s", err.Error())
|
|
|
|
return fmt.Errorf("error checkpointing WAL: %s", err.Error())
|
|
|
|
}
|
|
|
|
}
|
|
|
|