func ParseTimestamp(ts pdpb.Timestamp) (time.Time, uint64) {
	logical := uint64(ts.GetLogical())
	physicalTime := time.Unix(ts.GetPhysical()/1000, ts.GetPhysical()%1000*time.Millisecond.Nanoseconds())
	return physicalTime, logical
}
ParseTimestamp parses `pdpb.Timestamp` to `time.Time`
package tsoutil
import (
	"time"
	"github.com/pingcap/kvproto/pkg/pdpb"
)
const (
	physicalShiftBits = 18
	logicalBits       = (1 << physicalShiftBits) - 1
)
func ParseTS(ts uint64) (time.Time, uint64) {
	logical := ts & logicalBits
	physical := ts >> physicalShiftBits
	physicalTime := time.Unix(int64(physical/1000), int64(physical)%1000*time.Millisecond.Nanoseconds())
	return physicalTime, logical
}