本文整理匯總了Golang中github.com/cockroachdb/cockroach/pkg/storage/engine/enginepb.MVCCStats.SysBytes方法的典型用法代碼示例。如果您正苦於以下問題:Golang MVCCStats.SysBytes方法的具體用法?Golang MVCCStats.SysBytes怎麽用?Golang MVCCStats.SysBytes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cockroachdb/cockroach/pkg/storage/engine/enginepb.MVCCStats
的用法示例。
在下文中一共展示了MVCCStats.SysBytes方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: copySeqCache
func copySeqCache(
e engine.ReadWriter,
ms *enginepb.MVCCStats,
srcID, dstID roachpb.RangeID,
keyMin, keyMax engine.MVCCKey,
) (int, error) {
var scratch [64]byte
var count int
var meta enginepb.MVCCMetadata
// TODO(spencer): look into making this an MVCCIteration and writing
// the values using MVCC so we can avoid the ugliness of updating
// the MVCCStats by hand below.
err := e.Iterate(keyMin, keyMax,
func(kv engine.MVCCKeyValue) (bool, error) {
// Decode the key, skipping on error. Otherwise, write it to the
// corresponding key in the new cache.
txnID, err := decodeAbortCacheMVCCKey(kv.Key, scratch[:0])
if err != nil {
return false, errors.Errorf("could not decode an abort cache key %s: %s", kv.Key, err)
}
key := keys.AbortCacheKey(dstID, txnID)
encKey := engine.MakeMVCCMetadataKey(key)
// Decode the MVCCMetadata value.
if err := proto.Unmarshal(kv.Value, &meta); err != nil {
return false, errors.Errorf("could not decode mvcc metadata %s [% x]: %s", kv.Key, kv.Value, err)
}
value := engine.MakeValue(meta)
value.ClearChecksum()
value.InitChecksum(key)
meta.RawBytes = value.RawBytes
keyBytes, valBytes, err := engine.PutProto(e, encKey, &meta)
if err != nil {
return false, err
}
count++
if ms != nil {
ms.SysBytes += keyBytes + valBytes
ms.SysCount++
}
return false, nil
})
return count, err
}
示例2: ComputeStats
func (r *rocksDBIterator) ComputeStats(
start, end MVCCKey, nowNanos int64,
) (enginepb.MVCCStats, error) {
result := C.MVCCComputeStats(r.iter, goToCKey(start), goToCKey(end), C.int64_t(nowNanos))
ms := enginepb.MVCCStats{}
if err := statusToError(result.status); err != nil {
return ms, err
}
ms.ContainsEstimates = false
ms.LiveBytes = int64(result.live_bytes)
ms.KeyBytes = int64(result.key_bytes)
ms.ValBytes = int64(result.val_bytes)
ms.IntentBytes = int64(result.intent_bytes)
ms.LiveCount = int64(result.live_count)
ms.KeyCount = int64(result.key_count)
ms.ValCount = int64(result.val_count)
ms.IntentCount = int64(result.intent_count)
ms.IntentAge = int64(result.intent_age)
ms.GCBytesAge = int64(result.gc_bytes_age)
ms.SysBytes = int64(result.sys_bytes)
ms.SysCount = int64(result.sys_count)
ms.LastUpdateNanos = nowNanos
return ms, nil
}