create vm-flush key

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
This commit is contained in:
Aayush Rajasekaran 2020-11-16 23:34:09 -05:00 committed by Jakub Sztandera
parent 1413d6d4b7
commit 080a1165ee
No known key found for this signature in database
GPG Key ID: 9A9AF56F8B3879BA

View File

@ -608,6 +608,8 @@ func (vm *VM) ActorBalance(addr address.Address) (types.BigInt, aerrors.ActorErr
return act.Balance, nil return act.Balance, nil
} }
type vmFlushKey struct{}
func (vm *VM) Flush(ctx context.Context) (cid.Cid, error) { func (vm *VM) Flush(ctx context.Context) (cid.Cid, error) {
_, span := trace.StartSpan(ctx, "vm.Flush") _, span := trace.StartSpan(ctx, "vm.Flush")
defer span.End() defer span.End()
@ -620,7 +622,7 @@ func (vm *VM) Flush(ctx context.Context) (cid.Cid, error) {
return cid.Undef, xerrors.Errorf("flushing vm: %w", err) return cid.Undef, xerrors.Errorf("flushing vm: %w", err)
} }
if err := Copy(context.WithValue(ctx, "vm-flush", true), from, to, root); err != nil { if err := Copy(context.WithValue(ctx, vmFlushKey{}, true), from, to, root); err != nil {
return cid.Undef, xerrors.Errorf("copying tree: %w", err) return cid.Undef, xerrors.Errorf("copying tree: %w", err)
} }
@ -740,7 +742,7 @@ func Copy(ctx context.Context, from, to blockstore.Blockstore, root cid.Cid) err
trace.Int64Attribute("numBlocks", int64(numBlocks)), trace.Int64Attribute("numBlocks", int64(numBlocks)),
trace.Int64Attribute("copySize", int64(totalCopySize)), trace.Int64Attribute("copySize", int64(totalCopySize)),
) )
if yes, ok := ctx.Value("vm-flush").(bool); yes && ok { if yes, ok := ctx.Value(vmFlushKey{}).(bool); yes && ok {
took := metrics.SinceInMilliseconds(start) took := metrics.SinceInMilliseconds(start)
stats.Record(ctx, metrics.VMFlushCopyCount.M(int64(numBlocks)), metrics.VMFlushCopyDuration.M(took)) stats.Record(ctx, metrics.VMFlushCopyCount.M(int64(numBlocks)), metrics.VMFlushCopyDuration.M(took))
} }