国产无遮挡裸体免费直播视频,久久精品国产蜜臀av,动漫在线视频一区二区,欧亚日韩一区二区三区,久艹在线 免费视频,国产精品美女网站免费,正在播放 97超级视频在线观看,斗破苍穹年番在线观看免费,51最新乱码中文字幕

Arthas在線java進(jìn)程診斷工具在線調(diào)試神器詳解

 更新時間:2021年11月05日 08:52:07   作者:Professor哥  
Arthas是 Alibaba 開源的Java診斷工具,深受開發(fā)者喜愛。這篇文章主要介紹了Arthas在線java進(jìn)程診斷工具 在線調(diào)試神器,需要的朋友可以參考下

`Arthas` 是 Alibaba 開源的Java診斷工具,深受開發(fā)者喜愛。

當(dāng)你遇到以下類似問題而束手無策時,`Arthas`可以幫助你解決:

1. 這個類從哪個 jar 包加載的?為什么會報各種類相關(guān)的 Exception?

2. 我改的代碼為什么沒有執(zhí)行到?難道是我沒 commit?分支搞錯了?

3. 遇到問題無法在線上 debug,難道只能通過加日志再重新發(fā)布嗎?

4. 線上遇到某個用戶的數(shù)據(jù)處理有問題,但線上同樣無法 debug,線下無法重現(xiàn)!

5. 是否有一個全局視角來查看系統(tǒng)的運行狀況?

6. 有什么辦法可以監(jiān)控到JVM的實時運行狀態(tài)?

7. 怎么快速定位應(yīng)用的熱點,生成火焰圖?

8. 怎樣直接從JVM內(nèi)查找某個類的實例?

`Arthas`支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同時提供豐富的 `Tab` 自動補全功能,進(jìn)一步方便進(jìn)行問題的定位和診斷。

tag: java 診斷 堆棧 在線調(diào)試 耗時 死鎖 arthas 阿里巴巴

Arthas (阿爾薩斯

Arthas 是 Alibaba 開源的Java診斷工具,深受開發(fā)者喜愛。

官網(wǎng)文檔:https://arthas.aliyun.com/doc/

當(dāng)你遇到以下類似問題而束手無策時,Arthas可以幫助你解決:

這個類從哪個 jar 包加載的?為什么會報各種類相關(guān)的 Exception?我改的代碼為什么沒有執(zhí)行到?難道是我沒 commit?分支搞錯了?遇到問題無法在線上 debug,難道只能通過加日志再重新發(fā)布嗎?線上遇到某個用戶的數(shù)據(jù)處理有問題,但線上同樣無法 debug,線下無法重現(xiàn)!是否有一個全局視角來查看系統(tǒng)的運行狀況?有什么辦法可以監(jiān)控到JVM的實時運行狀態(tài)?怎么快速定位應(yīng)用的熱點,生成火焰圖?怎樣直接從JVM內(nèi)查找某個類的實例?

Arthas支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同時提供豐富的 Tab 自動補全功能,進(jìn)一步方便進(jìn)行問題的定位和診斷。

安裝

快速安裝

1.1.1 使用arthas-boot(推薦)

下載arthas-boot.jar,然后用java -jar的方式啟動:

curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar

打印幫助信息:

java -jar arthas-boot.jar -h

如果下載速度比較慢,可以使用aliyun的鏡像:

java -jar arthas-boot.jar --repo-mirror aliyun --use-http

使用as.sh方式安裝

Arthas 支持在 Linux/Unix/Mac 等平臺上一鍵安裝,請復(fù)制以下內(nèi)容,并粘貼到命令行中,敲 回車 執(zhí)行即可:

curl -L https://arthas.aliyun.com/install.sh | sh

上述命令會下載啟動腳本文件 as.sh 到當(dāng)前目錄,你可以放在任何地方或?qū)⑵浼尤氲?$PATH 中。

直接在shell下面執(zhí)行./as.sh,就會進(jìn)入交互界面。

也可以執(zhí)行./as.sh -h來獲取更多參數(shù)信息。

全量安裝 (線上環(huán)境無外網(wǎng)訪問權(quán)限)

# java -jar arthas-boot.jar
[INFO] arthas-boot version: 3.5.3
[INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
* [1]: 24438 org.elasticsearch.bootstrap.Elasticsearch
1
[ERROR] Can not read arthas version from: https://arthas.aliyun.com/api/latest_version
[ERROR] Can not find Arthas under local: /root/.arthas/lib and remote repo mirror: aliyun
[ERROR] Unable to download arthas from remote server, please download the full package according to wiki: https://github.com/alibaba/arthas

當(dāng)使用快速安裝方式在線上環(huán)境進(jìn)行連接Java服務(wù)的時候,很有可能因為線上環(huán)境無外部網(wǎng)絡(luò)訪問權(quán)限,導(dǎo)致Arthas無法獲取 arthas-core 等jar包,無法運行。

這時候就需要全量安裝Arthas包。

安裝方法 : ( 包大小13MB )

#### 獲取 arthas 全量包
curl -Lo arthas-packaging-latest-bin.zip  'https://arthas.aliyun.com/download/latest_version?mirror=aliyun'
unzip -d arthas-latest-bin arthas-packaging-latest-bin.zip

#### 開始運行
java -jar ahthas-boot.jar
[INFO] arthas-boot version: 3.5.4
[INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
* [1]: 27878 /data/tsf/tsf-oss/tsf-ratelimit/tsf-ratelimit-1.29.1/lib/tsf-ratelimit-1.29.1.jar
1
[INFO] arthas home: /root
[INFO] Try to attach process 27878
[INFO] Attach process 27878 success.
[INFO] arthas-client connect 127.0.0.1 3658
  ,---.  ,------. ,--------.,--.  ,--.  ,---.   ,---.  
 /  O  \ |  .--. ''--.  .--'|  '--'  | /  O  \ '   .-' 
|  .-.  ||  '--'.'   |  |   |  .--.  ||  .-.  |`.  `-. 
|  | |  ||  |\  \    |  |   |  |  |  ||  | |  |.-'    |
`--' `--'`--' '--'   `--'   `--'  `--'`--' `--'`-----' 
                                                       

wiki       https://arthas.aliyun.com/doc
tutorials  https://arthas.aliyun.com/doc/arthas-tutorials.html
version    3.5.4
main_class
pid        27878
time       2021-09-07 19:31:47

通過 rpm/deb 來安裝

這部分見官方文檔.

快速入門

arthas 需要使用到 jps 命令,所以要保證 openjdk-devel 包已經(jīng)安裝。

jps || yum -y install java-1.8.0-openjdk-devel

運行 arthas:

# java -jar arthas-boot.jar
[INFO] arthas-boot version: 3.5.3
[INFO] Process 5201 already using port 3658
[INFO] Process 5201 already using port 8563
[INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
* [1]: 5201 cloud-access-auth-1.18.1.jar
  [2]: 14419 tsf-stack-base-1.0.0.jar
  [3]: 27862 cloud-access-gateway-1.18.1.jar
  [4]: 6550 tsfmanager-operation-1.29.1.jar

提示1:當(dāng) arthas 給出的進(jìn)程列表不能確定進(jìn)程信息的時候,我們可以通過在命令行輸入jps -lmv 查看詳細(xì)的 java 進(jìn)程信息,來確定我們要查看的 java 進(jìn)程號。

提示2:當(dāng)提示如下信息時:

Arthas script version: 3.0.4
Calculating attach execution time...
Attaching to 24110 using version 3.0.4...
Start arthas failed, exception stack trace:
java.lang.InternalError: instrument library is missing in target VM
 at sun.tools.attach.HotSpotVirtualMachine.loadAgent(HotSpotVirtualMachine.java:105)
 at com.taobao.arthas.core.Arthas.attachAgent(Arthas.java:84)
 at com.taobao.arthas.core.Arthas.<init>(Arthas.java:25)
 at com.taobao.arthas.core.Arthas.main(Arthas.java:96)
Caused by: com.sun.tools.attach.AgentLoadException: Failed to load agent library
 at sun.tools.attach.LinuxVirtualMachine.execute(LinuxVirtualMachine.java:224)
 at sun.tools.attach.HotSpotVirtualMachine.loadAgentLibrary(HotSpotVirtualMachine.java:58)
 at sun.tools.attach.HotSpotVirtualMachine.loadAgentLibrary(HotSpotVirtualMachine.java:79)
 at sun.tools.attach.HotSpotVirtualMachine.loadAgent(HotSpotVirtualMachine.java:103)
 ... 3 more
attach to target jvm (24110) failed, check /root/logs/arthas/arthas.log or stderr of target jvm for any exceptions.

我們需要重新啟動一下該進(jìn)程,然后再運行 arthas ,連接到后臺 java 進(jìn)程即可。

下面的 java 進(jìn)程編號即當(dāng)前主機已經(jīng)運行的 java 服務(wù),輸入編號即可進(jìn)入 arthas 的交互式界面。

[INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
* [1]: 5201 cloud-access-auth-1.18.1.jar
  [2]: 14419 tsf-stack-base-1.0.0.jar
  [3]: 27862 cloud-access-gateway-1.18.1.jar
  [4]: 6550 tsfmanager-operation-1.29.1.jar
1
[INFO] local lastest version: 3.5.3, remote lastest version: 3.5.4, try to download from remote.
[INFO] Start download arthas from remote server: https://arthas.aliyun.com/download/3.5.4?mirror=aliyun
[INFO] Download arthas success.
[INFO] arthas home: /root/.arthas/lib/3.5.4/arthas
[INFO] The target process already listen port 3658, skip attach.
[INFO] arthas-client connect 127.0.0.1 3658
  ,---.  ,------. ,--------.,--.  ,--.  ,---.   ,---.  
 /  O  \ |  .--. ''--.  .--'|  '--'  | /  O  \ '   .-' 
|  .-.  ||  '--'.'   |  |   |  .--.  ||  .-.  |`.  `-. 
|  | |  ||  |\  \    |  |   |  |  |  ||  | |  |.-'    |
`--' `--'`--' '--'   `--'   `--'  `--'`--' `--'`-----' 
                                                       

wiki       https://arthas.aliyun.com/doc
tutorials  https://arthas.aliyun.com/doc/arthas-tutorials.html
version    3.5.3
main_class
pid        5201
time       2021-09-03 09:55:42

[arthas@5201]$

當(dāng)出現(xiàn)上述彩條 ARTHAS 字符提示的時候,就表示已經(jīng)正常連接到指定的 Java 進(jìn)程,隨即進(jìn)入到下面的 arthas@PID 命令提示符。

功能使用

dashboard 指令 -- 總覽JVM信息

在 arthas 命令提示符下鍵入dashboard 回車,會展示當(dāng)前進(jìn)程的信息,按q 退出。

dashboard 會實時輸出該java進(jìn)程的JVM信息,包括線程、進(jìn)程、內(nèi)存、堆棧、以及當(dāng)前系統(tǒng)運行時信息。

[arthas@5201]$ dashboard -h
 USAGE:       
   dashboard [-h] [-i <value>] [-n <value>]

 SUMMARY:  
   Overview of target jvm's thread, memory, gc, vm, tomcat info.
   
 EXAMPLES:  
   dashboard
   dashboard -n 10
   dashboard -i 2000
           
 WIKI:           
   https://arthas.aliyun.com/doc/dashboard

 OPTIONS:          
 -h, --help                                this help
 -i, --interval <value>                    The interval (in ms) between two executions, default is 5000 ms.
 -n, --number-of-execution <value>         The number of times this command will be executed.

help 指令

該指令用以列出所有 arthas 交互式界面支持的 子命令 列表。

[arthas@5201]$ help
 NAME         DESCRIPTION
 help         Display Arthas Help
 auth         Authenticates the current session
 keymap       Display all the available keymap for the specified connection.
 sc           Search all the classes loaded by JVM
 sm           Search the method of classes loaded by JVM
 classloader  Show classloader info
 jad          Decompile class
 getstatic    Show the static field of a class
 monitor      Monitor method execution statistics, e.g. total/success/failure count, average rt, fail rate, etc.
 stack        Display the stack trace for the specified class and method
 thread       Display thread info, thread stack
 trace        Trace the execution time of specified method invocation.
 watch        Display the input/output parameter, return object, and thrown exception of specified method invocation
 tt           Time Tunnel
 jvm          Display the target JVM information
 perfcounter  Display the perf counter information.
 ognl         Execute ognl expression.
 mc           Memory compiler, compiles java files into bytecode and class files in memory.
 redefine     Redefine classes. @see Instrumentation#redefineClasses(ClassDefinition...)
 retransform  Retransform classes. @see Instrumentation#retransformClasses(Class...)
 dashboard    Overview of target jvm's thread, memory, gc, vm, tomcat info.
 dump         Dump class byte array from JVM
 heapdump     Heap dump
 options      View and change various Arthas options
 cls          Clear the screen
 reset        Reset all the enhanced classes
 version      Display Arthas version
 session      Display current session information
 sysprop      Display, and change the system properties.
 sysenv       Display the system env.
 vmoption     Display, and update the vm diagnostic options.
 logger       Print logger info, and update the logger level
 history      Display command history
 cat          Concatenate and print files
 base64       Encode and decode using Base64 representation
 echo         write arguments to the standard output
 pwd          Return working directory name
 mbean        Display the mbean information
 grep         grep command for pipes.
 tee          tee command for pipes.
 profiler     Async Profiler. https://github.com/jvm-profiling-tools/async-profiler
 vmtool       jvm tool
 stop         Stop/Shutdown Arthas server and exit the console.

每個子命令,都可以跟上 -h 來進(jìn)一步獲取幫助用法信息。

thread 指令

[arthas@5201]$ thread -h
 USAGE:   
   thread [--all] [-h] [-b] [--lockedMonitors] [--lockedSynchronizers] [-i <value>] [--state <value>] [-n <value>] [id]

 SUMMARY:     
   Display thread info, thread stack
                                    
 EXAMPLES: 
   thread
   thread 51
   thread -n -1
   thread -n 5
   thread -b
   thread -i 2000
   thread --state BLOCKED
   
 WIKI:                             
   https://arthas.aliyun.com/doc/thread

 OPTIONS:  
     --all                                                  Display all thread results instead of the first page
 -h, --help                                                 this help
 -b, --include-blocking-thread                              Find the thread who is holding a lock that blocks the most number of threads.
     --lockedMonitors                                       Find the thread info with lockedMonitors flag, default value is false.
     --lockedSynchronizers                                  Find the thread info with lockedSynchronizers flag, default value is false.
 -i, --sample-interval <value>                              Specify the sampling interval (in ms) when calculating cpu usage.
     --state <value>                                        Display the thead filter by the state. NEW, RUNNABLE, TIMED_WAITING, WAITING, BLOCKED, TERMINATED is optional.
 -n, --top-n-threads <value>                                The number of thread(s) to show, ordered by cpu utilization, -1 to show all.
 <id>                                                       Show thread stack
$ thread -i 5000
## 獲取時間跨度為5s的計算匯總數(shù)據(jù)

$ thread -n 3
## 根據(jù) CPU 使用率排序,獲取從高到低的 3 個線程堆棧信息

$ thread -b
## 僅查看死鎖線程的堆棧信息

$ thread --lockedSynchronizers
## 僅查看同步器死鎖的線程堆棧信息

stop / exit 停止 和 離開

stop: 停止和退出 Arthas consol ,正常退出步驟。

exit: 僅離開 Arthas consol,但是綁定到 Java 進(jìn)程的 arthas 任務(wù)不會退出。

[SHELL]# java -jar arthas-boot.jar
[INFO] arthas-boot version: 3.5.3
[INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
* [1]: 5201 cloud-access-auth-1.18.1.jar
  [2]: 14419 tsf-stack-base-1.0.0.jar
  [3]: 27862 cloud-access-gateway-1.18.1.jar
  [4]: 6550 tsfmanager-operation-1.29.1.jar
1
[INFO] arthas home: /root/.arthas/lib/3.5.4/arthas
[INFO] Try to attach process 5201
[INFO] Attach process 5201 success.
[INFO] arthas-client connect 127.0.0.1 3658
  ,---.  ,------. ,--------.,--.  ,--.  ,---.   ,---.  
 /  O  \ |  .--. ''--.  .--'|  '--'  | /  O  \ '   .-' 
|  .-.  ||  '--'.'   |  |   |  .--.  ||  .-.  |`.  `-. 
|  | |  ||  |\  \    |  |   |  |  |  ||  | |  |.-'    |
`--' `--'`--' '--'   `--'   `--'  `--'`--' `--'`-----' 

wiki       https://arthas.aliyun.com/doc
tutorials  https://arthas.aliyun.com/doc/arthas-tutorials.html
version    3.5.4
main_class
pid        5201
time       2021-09-03 13:05:51

[arthas@5201]$ exit


[SHELL]# java -jar arthas-boot.jar
[INFO] arthas-boot version: 3.5.3
[INFO] Process 5201 already using port 3658				## 由于上次并沒有 shutdown 關(guān)閉arthas與java進(jìn)程的綁定,所以Arthas重新啟動的時候,檢測到仍然綁定到 5201 進(jìn)程上面的。
[INFO] Process 5201 already using port 8563
[INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
* [1]: 5201 cloud-access-auth-1.18.1.jar
  [2]: 14419 tsf-stack-base-1.0.0.jar
  [3]: 27862 cloud-access-gateway-1.18.1.jar
  [4]: 6550 tsfmanager-operation-1.29.1.jar

我們通過 jstack -l 5201 來證實這一點

[root@VM-0-4-centos ~]# jstack -l 5201 | more
2021-09-03 13:08:16
Full thread dump OpenJDK 64-Bit Server VM (25.302-b08 mixed mode):

"arthas-NettyHttpTelnetBootstrap-3-3" #169 daemon prio=5 os_prio=0 tid=0x00007f314000b800 nid=0x5632 runnable [0x00007f30cb51a000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000000e8cafb00> (a com.alibaba.arthas.deps.io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x00000000e8caf8a8> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000000e8caf790> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
	at com.alibaba.arthas.deps.io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
	at com.alibaba.arthas.deps.io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:810)
	at com.alibaba.arthas.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:457)
	at com.alibaba.arthas.deps.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
	at com.alibaba.arthas.deps.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at com.alibaba.arthas.deps.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
	- None

"arthas-NettyHttpTelnetBootstrap-3-2" #168 daemon prio=5 os_prio=0 tid=0x00007f314000a000 nid=0x51ce runnable [0x00007f30d09f9000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000000e8cac058> (a com.alibaba.arthas.deps.io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x00000000e8cabe00> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000000e8cabce8> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
	at com.alibaba.arthas.deps.io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)

我們可以看到 5201 進(jìn)程的java堆棧信息,有 arthas 的線程正在運行中。

正常退出步驟:

[arthas@5201]$ stop
Resetting all enhanced classes ...
Affect(class count: 0 , method count: 0) cost in 0 ms, listenerId: 0
Arthas Server is going to shutdown...
[arthas@5201]$ session (f0151617-7fd2-4b4b-b79f-31d366a72fc5) is closed because server is going to shutdown.

[SHELL]# jstack -l 5201 | more
2021-09-03 13:10:16
Full thread dump OpenJDK 64-Bit Server VM (25.302-b08 mixed mode):

"Abandoned connection cleanup thread" #51 daemon prio=5 os_prio=0 tid=0x00007f30e0246000 nid=0x1d86 in Object.wait() [0x00007f3120393000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
	- locked <0x00000000e3280300> (a java.lang.ref.ReferenceQueue$Lock)
	at com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:64)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
	- <0x00000000e3280390> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"Tomcat JDBC Pool Cleaner[1450495309:1630634377161]" #50 daemon prio=5 os_prio=0 tid=0x00007f30e01e4800 nid=0x1d85 in Object.wait() [0x00007f3120494000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.util.TimerThread.mainLoop(Timer.java:552)
	- locked <0x00000000e3280540> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:505)

   Locked ownable synchronizers:
	- None

可以看到,使用 stop 指令關(guān)閉arthas診斷程序后,java 進(jìn)程上面的arthas線程綁定也一并退出了。

watch 指令 ⭐ -- 方法執(zhí)行數(shù)據(jù)觀測

watch指令算是 Arthas 中最常用的指令之一了,它能夠獲取指定包.類.方法入?yún)?/code>、自身類方法體內(nèi)部對象以及返回對象值。

[arthas@5201]$ watch -h
 USAGE:  
   watch [-b] [-e] [--exclude-class-pattern <value>] [-x <value>] [-f] [-h] [-n <value>] [--listenerId <value>] [-E] [-M <value>] [-s] [-v] class-pattern method-pattern [express] [condition-express]

 SUMMARY:  
   Display the input/output parameter, return object, and thrown exception of specified method invocation
   The express may be one of the following expression (evaluated dynamically):
           target : the object
            clazz : the object's class
           method : the constructor or method
           params : the parameters array of method
     params[0..n] : the element of parameters array
        returnObj : the returned object of method
         throwExp : the throw exception of method
         isReturn : the method ended by return
          isThrow : the method ended by throwing exception
            #cost : the execution time in ms of method invocation
 Examples:     
   watch org.apache.commons.lang.StringUtils isBlank
   watch org.apache.commons.lang.StringUtils isBlank '{params, target, returnObj, throwExp}' -x 2
   watch *StringUtils isBlank params[0] params[0].length==1
   watch *StringUtils isBlank params '#cost>100'
   watch -f *StringUtils isBlank params
   watch *StringUtils isBlank params[0]
   watch -E -b org\.apache\.commons\.lang\.StringUtils isBlank params[0]
   watch javax.servlet.Filter * --exclude-class-pattern com.demo.TestFilter
                                                                                                                                                                                                                 
 WIKI:                                      
   https://arthas.aliyun.com/doc/watch

 OPTIONS:  
 -b, --before                                                          Watch before invocation
 -e, --exception                                                       Watch after throw exception
     --exclude-class-pattern <value>                                   exclude class name pattern, use either '.' or '/' as separator
 -x, --expand <value>                                                  Expand level of object (1 by default)
 -f, --finish                                                          Watch after invocation, enable by default
 -h, --help                                                            this help
 -n, --limits <value>                                                  Threshold of execution times
     --listenerId <value>                                              The special listenerId
 -E, --regex                                                           Enable regular expression to match (wildcard matching by default)
 -M, --sizeLimit <value>                                               Upper size limit in bytes for the result (10 * 1024 * 1024 by default)
 -s, --success                                                         Watch after successful invocation
 -v, --verbose                                                         Enables print verbose information, default value false.
 <class-pattern>                                                       The full qualified class name you want to watch
 <method-pattern>                                                      The method name you want to watch
 <express>                                                             The content you want to watch, written by ognl. Default value is '{params, target, returnObj}'
                                                                       Examples:
                                                                         params
                                                                         params[0]
                                                                         'params[0]+params[1]'
                                                                         '{params[0], target, returnObj}'
                                                                         returnObj
                                                                         throwExp
                                                                         target
                                                                         clazz
                                                                         method

 <condition-express>                                                   Conditional expression in ognl style, for example:
                                                                         TRUE  : 1==1
                                                                         TRUE  : true
                                                                         FALSE : false
                                                                         TRUE  : 'params.length>=0'
                                                                         FALSE : 1==2
                                                                         '#cost>100'

參數(shù)說明

參數(shù)名稱 參數(shù)說明
class-pattern 類名表達(dá)式匹配
method-pattern 方法名表達(dá)式匹配
express 觀察表達(dá)式,默認(rèn)值:{params, target, returnObj}
condition-express 條件表達(dá)式
[b] 在方法調(diào)用之前觀察
[e] 在方法異常之后觀察
[s] 在方法返回之后觀察
[f] 在方法結(jié)束之后(正常返回和異常返回)觀察
[E] 開啟正則表達(dá)式匹配,默認(rèn)為通配符匹配
[x:] 指定輸出結(jié)果的屬性遍歷深度,默認(rèn)為 1

這里重點要說明的是觀察表達(dá)式,觀察表達(dá)式的構(gòu)成主要由 #OGNL 表達(dá)式組成,所以你可以這樣寫"{params,returnObj}",只要是一個合法的 ognl 表達(dá)式,都能被正常支持。

觀察的維度也比較多,主要體現(xiàn)在參數(shù) advice 的數(shù)據(jù)結(jié)構(gòu)上。Advice 參數(shù)最主要是封裝了通知節(jié)點的所有信息。請參考表達(dá)式核心變量中關(guān)于該節(jié)點的描述。

使用舉例:

我需要觀察cloud-access-auth-1.18.1.jar進(jìn)程在處理登錄信息時的登錄方法信息,日志如下:

13:42:54.205 INFO  [http-nio-7001-exec-4] c.t.c.access.sso.service.impl.AuthenticateService - [Access Auth] account login parameter. accountName:qcloudAdmin ,password:******

得到指定類名為AuthenticateService。

我們帶到 Arthas 中進(jìn)行 watch:

### 報名在日志文件中是簡寫,所以我這里使用通配符方式匹配類名,第二個參數(shù)方法名我也用*代替,全部匹配
[arthas@5201]$ watch *AuthenticateService *
Press Q or Ctrl+C to abort.
Affect(class count: 2 , method count: 6) cost in 130 ms, listenerId: 16
### 從輸出信息得知,在這個 Java 進(jìn)程所有代碼中匹配到有兩個類,一共6個方法

我們來點擊頁面登錄按鈕,看看 watch 中能觀察到哪些動作:

[arthas@5201]$ watch *AuthenticateService *
Press Q or Ctrl+C to abort.
Affect(class count: 2 , method count: 6) cost in 130 ms, listenerId: 16
    
#### 第一個方法開始執(zhí)行 Begin
method=com.tencent.cloud.access.sso.service.impl.AuthenticateService.login location=AtExit
ts=2021-09-03 13:51:25; [cost=2.217281ms] result=@ArrayList[
    @Object[][isEmpty=false;size=3],
    @AuthenticateService[com.tencent.cloud.access.sso.service.impl.AuthenticateService@f5cadbf],
    @AccessAuthPrincipal[com.tencent.cloud.access.sso.model.AccessAuthPrincipal@72f71bf6],
]
#### 第一個方法執(zhí)行結(jié)束 End
    
#### 第二個方法開始執(zhí)行 Begin
method=com.tencent.cloud.access.sso.service.impl.AuthenticateService.updateSession location=AtExit
ts=2021-09-03 13:51:25; [cost=0.956478ms] result=@ArrayList[
    @Object[][isEmpty=false;size=2],
    @AuthenticateService[com.tencent.cloud.access.sso.service.impl.AuthenticateService@f5cadbf],
    @AuthenticationResponse[com.tencent.cloud.access.sso.model.AuthenticationResponse@6b2bae10],
]
#### 第二個方法執(zhí)行退出 End
..............

在輸出信息中我們可以看到,第一行有完整的方法路徑,以及獲取的退出狀態(tài)location。

  • AtExit:表示正常退出。
  • AtExceptionExit:表示異常退出。

第二行有方法執(zhí)行的開始時間戳以及cost 開銷 ,最后一個為watch的結(jié)果。

這里result的 ArrayList 數(shù)組是 watch 指令的強大之處,它默認(rèn)包含三個對象:

  • params: 入?yún)ⅲǔ閿?shù)組,這里為 @Object 對象
  • target: 運行中當(dāng)前 this 對象,也就是這個類對象本身,這里為@AuthenticateService實體類對象
  • returnObj: 返回對象值,這里為返回的@AccessAuthPrincipal對象

我們重新執(zhí)行一次 watch 指令,這次咱們精確指定類名和方法名,以及加一個-x解析深度參數(shù):

[arthas@5201]$ watch com.tencent.cloud.access.sso.service.impl.AuthenticateService login -x 2
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 2) cost in 74 ms, listenerId: 17
method=com.tencent.cloud.access.sso.service.impl.AuthenticateService.login location=AtExit
ts=2021-09-03 14:10:15; [cost=3.289679ms] result=@ArrayList[
    @Object[][
        @String[qcloudAdmin],
        @String[Bgi8c0yC+IAvRLkuQRy6kLQ6T2J/9PNrL6G/+KX9ppE=],
        @String[127.0.0.1],
    ],
    @AuthenticateService[
        log=@Logger[Logger[com.tencent.cloud.access.sso.service.impl.AuthenticateService]],
        sessionDAO=@RedisSessionDAO[com.tencent.cloud.access.sso.shiro.RedisSessionDAO@61813e98],
        accountSessionService=@AccountSessionService[com.tencent.cloud.access.account.service.impl.AccountSessionService@30e815ac],
        accessAuthRealm=@AccessAuthRealm[com.tencent.cloud.access.sso.shiro.AccessAuthRealm@1faea5],
        accountService=@AccountService[com.tencent.cloud.access.account.service.impl.AccountService@197459d8],
        ssoProperties=@SsoProperties[com.tencent.cloud.access.sso.config.SsoProperties@461879b2],
        securityManager=@DefaultSecurityManager[org.apache.shiro.mgt.DefaultSecurityManager@3b0f92f0],
        ssoService=@QCloudSsoService[com.tencent.cloud.access.sso.service.impl.QCloudSsoService@4f8704f5],
        userService=@UserService[com.tencent.cloud.access.user.service.impl.UserService@5e69da74],
    ],
    @AccessAuthPrincipal[
        serialVersionUID=@Long[-2856270666386831504],
        accountName=@String[qcloudAdmin],
        userId=null,
        accountId=@String[account-96a79v5b],
        password=@String[VYUQeJrC5EJq21t/f9rb1Djm+4+eanqXY3ZkW2oiiwA=],
        serviceCode=null,
        isAdmin=null,
        loginName=null,
        serialVersionUID=@Long[8229738167949958388],
        token=@String[54158a08d8104de57a855249eb6ffe06],
        serialVersionUID=@Long[-4556824360581761962],
        appId=null,
        subAccountUin=null,
        uin=null,
        requestId=null,
        region=null,
        kv=null,
    ],
]
    
method=com.tencent.cloud.access.sso.service.impl.AuthenticateService.login location=AtExit
ts=2021-09-03 14:10:15; [cost=9.571541ms] result=@ArrayList[
    @Object[][
        @LoginRequest[com.tencent.cloud.access.sso.model.LoginRequest@3dd2bbb0],
    ],
    @AuthenticateService[
        log=@Logger[Logger[com.tencent.cloud.access.sso.service.impl.AuthenticateService]],
        sessionDAO=@RedisSessionDAO[com.tencent.cloud.access.sso.shiro.RedisSessionDAO@61813e98],
        accountSessionService=@AccountSessionService[com.tencent.cloud.access.account.service.impl.AccountSessionService@30e815ac],
        accessAuthRealm=@AccessAuthRealm[com.tencent.cloud.access.sso.shiro.AccessAuthRealm@1faea5],
        accountService=@AccountService[com.tencent.cloud.access.account.service.impl.AccountService@197459d8],
        ssoProperties=@SsoProperties[com.tencent.cloud.access.sso.config.SsoProperties@461879b2],
        securityManager=@DefaultSecurityManager[org.apache.shiro.mgt.DefaultSecurityManager@3b0f92f0],
        ssoService=@QCloudSsoService[com.tencent.cloud.access.sso.service.impl.QCloudSsoService@4f8704f5],
        userService=@UserService[com.tencent.cloud.access.user.service.impl.UserService@5e69da74],
    ],
    @AuthenticationResponse[
        serialVersionUID=@Long[-6134589862066278677],
        token=@String[54158a08d8104de57a855249eb6ffe06],
        accountId=@String[account-96a79v5b],
        changePwd=@String[N],
        users=@ArrayList[isEmpty=false;size=1],
    ],
]
..............

watch 指令的-x選項表示解析三個階段的對象深度,默認(rèn)值為 1,也就是只解析到對象層,不解析對象的下一級屬性等信息。

通過上述指令,我們獲取到了更加詳細(xì)的入?yún)?、this對象、返回值的信息,依次解析如下:

params 方法入?yún)ⅲ?/em>

  • @String[qcloudAdmin]: 參數(shù)一,用戶名
  • @String[Bgi8c0yC+IAvRLkuQRy6kLQ6T2J/9PNrL6G/+KX9ppE=]: 密碼加密串
  • @String[127.0.0.1]: 來源主機信息

this方法體內(nèi)部對象:

returnObj 返回值對象,這里為@AccessAuthPrincipal對象:

  • serialVersionUID: 用戶
  • UIDaccountName: 登錄用戶名
  • password: 用戶密碼加密串token: token串
  • ........

條件表達(dá)式過濾

[arthas@5201]$ watch com.tencent.cloud.access.sso.service.impl.AuthenticateService login '{params[0]=qcloudAdmin,returnObj}' -x 2

診斷返回信息包含params[0]returnObj對象,而且僅獲取入?yún)?code>params[0] == "qcloudAdmin"的方法調(diào)用,最后解析深度為 2。

只有滿足條件的調(diào)用,才會被 Arthas 捕獲到。

觀察異常信息

[arthas@5201]$ watch com.tencent.cloud.access.sso.service.impl.AuthenticateService login '{params[0],throwExp}' -e -x 2

  • -e: 表示在拋出異常之后觀察
  • express觀察表達(dá)式第二個參數(shù)throwExp: 表示異常信息的變量是throwExp

按方法執(zhí)行耗時進(jìn)行過濾

[arthas@5201]$ watch com.tencent.cloud.access.sso.service.impl.AuthenticateService login '{params[0],returnObj}' '#cost>200' -x 2

  • watch指令的第四個參數(shù) condition-express#cost>200,表示診斷處理耗時大于 200ms 才會被捕獲輸出。
  • -x 2: 解析深度為 2。

僅觀察當(dāng)前對象的屬性

[arthas@5201]$ watch com.tencent.cloud.access.sso.service.impl.AuthenticateService login 'target' -x 3
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 2) cost in 76 ms, listenerId: 23
method=com.tencent.cloud.access.sso.service.impl.AuthenticateService.login location=AtExit
ts=2021-09-03 14:48:33; [cost=3.189525ms] result=@AuthenticateService[
    log=@Logger[
        serialVersionUID=@Long[5454405123156820674],
        FQCN=@String[ch.qos.logback.classic.Logger],
        name=@String[com.tencent.cloud.access.sso.service.impl.AuthenticateService],
        level=null,
        effectiveLevelInt=@Integer[20000],
        parent=@Logger[
            serialVersionUID=@Long[5454405123156820674],
            FQCN=@String[ch.qos.logback.classic.Logger],
            name=@String[com.tencent.cloud.access.sso.service.impl],
            level=null,
            effectiveLevelInt=@Integer[20000],
            parent=@Logger[Logger[com.tencent.cloud.access.sso.service]],
            childrenList=@CopyOnWriteArrayList[isEmpty=false;size=2],
            aai=null,
            additive=@Boolean[true],
            loggerContext=@LoggerContext[ch.qos.logback.classic.LoggerContext[default]],
        ],
        childrenList=null,
        aai=null,
        additive=@Boolean[true],
        loggerContext=@LoggerContext[
            DEFAULT_PACKAGING_DATA=@Boolean[false],
            root=@Logger[Logger[ROOT]],
            size=@Integer[501],
            noAppenderWarning=@Integer[0],
            loggerContextListenerList=@ArrayList[isEmpty=false;size=1],
            loggerCache=@ConcurrentHashMap[isEmpty=false;size=501],
            loggerContextRemoteView=@LoggerContextVO[LoggerContextVO{name='default', propertyMap={}, birthTime=1630634095948}],
            turboFilterList=@TurboFilterList[isEmpty=true;size=0],
            packagingDataEnabled=@Boolean[false],
            maxCallerDataDepth=@Integer[8],
            resetCount=@Integer[2],
            frameworkPackages=@ArrayList[isEmpty=true;size=0],
            birthTime=@Long[1630634095948],
            name=@String[default],
            sm=@BasicStatusManager[ch.qos.logback.core.BasicStatusManager@612c57fb],
            propertyMap=@HashMap[isEmpty=true;size=0],
            objectMap=@HashMap[isEmpty=false;size=6],
            configurationLock=@LogbackLock[ch.qos.logback.core.spi.LogbackLock@36566db5],
            scheduledExecutorService=null,
            scheduledFutures=@ArrayList[isEmpty=true;size=0],
            lifeCycleManager=@LifeCycleManager[ch.qos.logback.core.LifeCycleManager@44477e6],
            started=@Boolean[false],
        ],
    ],
    sessionDAO=@RedisSessionDAO[
      .............

擴展思維,我們可以直接透過一次調(diào)用,觀察到底層連接 jdbc 的信息:

[arthas@5201]$ watch com.tencent.cloud.access.sso.service.impl.AuthenticateService login 'target.userService.userDao.jdbcTemplate.dataSource.pool.poolProperties.url' -x 2
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 2) cost in 69 ms, listenerId: 34
method=com.tencent.cloud.access.sso.service.impl.AuthenticateService.login location=AtExit
ts=2021-09-03 15:09:55; [cost=2.682966ms] result=@String[jdbc:mysql://*.*.*.*:3306/access_auth?useSSL=false&characterEncoding=utf8]
                                                        
method=com.tencent.cloud.access.sso.service.impl.AuthenticateService.login location=AtExit
ts=2021-09-03 15:09:55; [cost=21.373065ms] result=@String[jdbc:mysql://*.*.*.*:3306/access_auth?useSSL=false&characterEncoding=utf8]

這里就從頂層往下,獲取到了該次調(diào)用,涉及到查庫的 jdbc dataSource 連接配置信息。

result返回的是一個 String 類型對象,值為 jdbc:mysql://*.*.*.*:3306/access_auth?useSSL=false&characterEncoding=utf8。

排除指定的類

[arthas@5201]$ watch com.tencent.cloud.access.sso.service.impl.* * 'target' -x 1 --exclude-class-pattern AuthorizeService | grep --color AuthorizeService
Press Q or Ctrl+C to abort.
  • --exclude-class-pattern:排除指定的類

Trace 指令 ⭐

方法內(nèi)部調(diào)用路徑,并輸出方法路徑上的每個節(jié)點上耗時

trace 命令能主動搜索 class-patternmethod-pattern 對應(yīng)的方法調(diào)用路徑,渲染和統(tǒng)計整個調(diào)用鏈路上的所有性能開銷和追蹤調(diào)用鏈路

參數(shù)說明

參數(shù)名稱 參數(shù)說明
class-pattern 類名表達(dá)式匹配
method-pattern 方法名表達(dá)式匹配
condition-express 條件表達(dá)式
[E] 開啟正則表達(dá)式匹配,默認(rèn)為通配符匹配
[n:] 命令執(zhí)行次數(shù)
#cost 方法執(zhí)行耗時
這里重點要說明的是觀察表達(dá)式,觀察表達(dá)式的構(gòu)成主要由 #OGNL 表達(dá)式組成,所以你可以這樣寫"{params,returnObj}",只要是一個合法的 ognl 表達(dá)式,都能被正常支持。

觀察的維度也比較多,主要體現(xiàn)在參數(shù) advice 的數(shù)據(jù)結(jié)構(gòu)上。Advice 參數(shù)最主要是封裝了通知節(jié)點的所有信息。

請參考表達(dá)式核心變量中關(guān)于該節(jié)點的描述。

很多時候我們只想看到某個方法的rt大于某個時間之后的trace結(jié)果,現(xiàn)在Arthas可以按照方法執(zhí)行的耗時來進(jìn)行過濾了,例如trace *StringUtils isBlank '#cost>100'表示當(dāng)執(zhí)行時間超過100ms的時候,才會輸出trace的結(jié)果。

watch/stack/trace這個三個命令都支持#cost

使用舉例:

[arthas@5201]$ trace com.tencent.cloud.access.sso.service.impl.AuthenticateService login
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 2) cost in 114 ms, listenerId: 49
`---ts=2021-09-03 15:37:52;thread_name=http-nio-7001-exec-5;id=18;is_daemon=true;priority=5;TCCL=org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedWebappClassLoader@1cfd053
    `---[6.69059ms] com.tencent.cloud.access.sso.service.impl.AuthenticateService:login()
        +---[0.045058ms] com.tencent.cloud.access.sso.model.LoginRequest:getOpt() #87
        +---[0.011503ms] com.tencent.cloud.access.sso.constant.LoginType:getType() #88
        +---[0.004858ms] com.tencent.cloud.access.sso.constant.LoginType:getType() #89
        +---[0.005082ms] com.tencent.cloud.access.sso.model.LoginRequest:getAccountName() #93
        +---[0.005074ms] com.tencent.cloud.access.sso.model.LoginRequest:getPassword() #94
        +---[min=0.002257ms,max=0.010395ms,total=0.012652ms,count=2] org.springframework.util.StringUtils:isEmpty() #95
        +---[0.008128ms] com.tencent.cloud.access.sso.config.SsoProperties:isPasswordTextPrintable() #100
        +---[0.084201ms] org.slf4j.Logger:info() #99
        +---[0.00653ms] com.tencent.cloud.access.sso.model.AuthenticationResponse:<init>() #101
        +---[0.004871ms] com.tencent.cloud.access.sso.model.LoginRequest:getRemoteHost() #102
        +---[3.317607ms] com.tencent.cloud.access.sso.service.impl.AuthenticateService:login() #102
        |   `---[3.285177ms] com.tencent.cloud.access.sso.service.impl.AuthenticateService:login()
        |       +---[0.008045ms] org.apache.shiro.authc.UsernamePasswordToken:<init>() #139
        |       +---[0.011232ms] org.apache.shiro.subject.SimplePrincipalCollection:<init>() #141
        |       +---[0.00843ms] org.apache.shiro.subject.support.DelegatingSubject:<init>() #142
        |       +---[0.015667ms] org.apache.shiro.util.ThreadContext:bind() #143
        |       +---[1.051658ms] org.apache.shiro.subject.support.DelegatingSubject:login() #144
        |       +---[0.988623ms] org.apache.shiro.subject.support.DelegatingSubject:getSession() #145
        |       +---[0.015629ms] org.apache.shiro.session.Session:getId() #146
        |       +---[0.323618ms] org.apache.shiro.subject.support.DelegatingSubject:getPrincipal() #147
        |       +---[0.009258ms] com.tencent.cloud.access.sso.model.AccessAuthPrincipal:setToken() #149
        |       +---[0.007608ms] com.tencent.cloud.access.sso.model.AccessAuthPrincipal:setAccountName() #150
        |       +---[0.429798ms] org.apache.shiro.session.Session:setAttribute() #151
        |       `---[0.207347ms] com.tencent.cloud.access.account.service.IAccountSessionService:bind() #152
        +---[0.010654ms] com.tencent.cloud.access.account.Account:<init>() #103
        +---[0.824315ms] com.tencent.cloud.access.account.service.IAccountService:find() #103
        +---[0.006474ms] com.tencent.cloud.access.account.Account:getLock() #104
        +---[0.004144ms] com.tencent.cloud.access.account.Account:getChangePassword() #107
        +---[0.005663ms] com.tencent.cloud.access.sso.model.AuthenticationResponse:setChangePwd() #107
        +---[0.004683ms] com.tencent.cloud.access.sso.model.AccessAuthPrincipal:getToken() #108
        +---[0.00414ms] com.tencent.cloud.access.sso.model.AuthenticationResponse:setToken() #108
        +---[0.003733ms] com.tencent.cloud.access.account.Account:getAccountId() #109
        +---[0.005164ms] com.tencent.cloud.access.sso.model.AuthenticationResponse:setAccountId() #109
        +---[0.002866ms] com.tencent.cloud.access.sso.model.AccessAuthPrincipal:setAccountName() #110
        +---[0.00399ms] com.tencent.cloud.access.sso.model.AccessAuthPrincipal:getAccountId() #112
        +---[0.014922ms] com.tencent.cloud.access.user.User:<init>() #112
        +---[0.004781ms] com.tencent.cloud.access.user.User:setAppIsolate() #113
        +---[0.83272ms] com.tencent.cloud.access.user.service.IUserService:findAccountList() #114
        +---[0.006398ms] com.tencent.cloud.access.user.User:getUserId() #116
        +---[0.005214ms] com.tencent.cloud.access.sso.model.AccessAuthPrincipal:setUserId() #116
        +---[0.00349ms] com.tencent.cloud.access.sso.model.AccessAuthPrincipal:getToken() #118
        +---[0.002987ms] com.tencent.cloud.access.user.User:getUserId() #118
        +---[0.887095ms] com.tencent.cloud.access.sso.service.impl.AuthenticateService:updateSession() #118
        `---[0.004734ms] com.tencent.cloud.access.sso.model.AuthenticationResponse:setUsers() #120
`---ts=2021-09-03 15:37:52;thread_name=http-nio-7001-exec-1;id=14;is_daemon=true;priority=5;TCCL=org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedWebappClassLoader@1cfd053
    `---[1.28437ms] com.tencent.cloud.access.sso.service.impl.AuthenticateService:login()
        +---[0.003596ms] com.tencent.cloud.access.sso.model.LoginRequest:getOpt() #87
        +---[0.006076ms] com.tencent.cloud.access.sso.constant.LoginType:getType() #88
        +---[0.002865ms] com.tencent.cloud.access.sso.constant.LoginType:getType() #89
        +---[0.010558ms] com.tencent.cloud.access.sso.model.LoginRequest:getAccessToken() #123
        +---[0.003959ms] com.tencent.cloud.access.sso.model.LoginRequest:getUid() #124
        +---[0.003368ms] org.springframework.util.StringUtils:isEmpty() #125
        +---[0.002671ms] org.springframework.util.StringUtils:isEmpty() #128
        `---[1.166953ms] com.tencent.cloud.access.sso.service.impl.AuthenticateService:updateSession() #131

耗時過濾診斷

[arthas@5201]$ trace com.tencent.cloud.access.sso.service.impl.AuthenticateService login '#cost > 2000'

#cost > 2000: 僅捕獲開銷時間大于 2000ms 的路徑。

僅過濾方法一次調(diào)用

[arthas@5201]$ trace com.tencent.cloud.access.sso.service.impl.AuthenticateService login -n 1

僅捕獲一次指定方法的調(diào)用,然后退出任務(wù)。

sysprop 指令 -- 獲取/設(shè)置進(jìn)程系統(tǒng)屬性

sysprop 主要用來查看、設(shè)置當(dāng)前進(jìn)程的系統(tǒng)屬性信息。

使用舉例

查看當(dāng)前java進(jìn)程的系統(tǒng)屬性

[arthas@27878]$ sysprop
 KEY                                                   VALUE
-------------------------------------------------------------------------
 awt.toolkit                                           sun.awt.X11.XToolkit
 file.encoding.pkg                                     sun.io
 java.specification.version                            1.8
 sun.cpu.isalist
 sun.jnu.encoding                                      UTF-8
 java.class.path                                       /data/tsf/tsf-oss/tsf-ratelimit/tsf-ratelimit-1.29.1/lib/tsf-ratelimit-1.29.1.jar
 java.vm.vendor                                        Tencent
 sun.arch.data.model                                   64
 java.vendor.url                                       http://jdk.oa.com/
 catalina.useNaming                                    false
 user.timezone                                         Asia/Shanghai
 org.jboss.logging.provider                            slf4j
 os.name                                               Linux
 java.vm.specification.version                         1.8
 @appId                                                tsf-ratelimit
 user.country                                          US
 sun.java.launcher                                     SUN_STANDARD
 sun.boot.library.path                                 /data/TencentKona-8.0.2-252/jre/lib/amd64
 sun.java.command                                      /data/tsf/tsf-oss/tsf-ratelimit/tsf-ratelimit-1.29.1/lib/tsf-ratelimit-1.29.1.jar
 sun.cpu.endian                                        little
 user.home                                             /root
 user.language                                         en
 java.specification.vendor                             Oracle Corporation
 java.home                                             /data/TencentKona-8.0.2-252/jre
 file.separator                                        /
 line.separator

 java.vm.specification.vendor                          Oracle Corporation
 java.specification.name                               Java Platform API Specification
 java.awt.graphicsenv                                  sun.awt.X11GraphicsEnvironment
 java.awt.headless                                     true
 LOG_LEVEL_PATTERN                                     %5p [bootstrap,%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}]
 sun.boot.class.path                                   /data/TencentKona-8.0.2-252/jre/lib/resources.jar:/data/TencentKona-8.0.2-252/jre/lib/rt.jar:/data/TencentKona-8.0.2-252/jre/lib/sunrsasign.jar:/data/TencentKona-8.0.2-252/jre/lib/jsse.jar:/data/TencentKona-8.0.2-2
                                                       52/jre/lib/jce.jar:/data/TencentKona-8.0.2-252/jre/lib/charsets.jar:/data/TencentKona-8.0.2-252/jre/lib/jfr.jar:/data/TencentKona-8.0.2-252/jre/classes
 java.protocol.handler.pkgs                            org.springframework.boot.loader
 sun.management.compiler                               HotSpot 64-Bit Tiered Compilers
 java.runtime.version                                  1.8.0_252-b1
 java.net.preferIPv4Stack                              true
 user.name                                             root
 path.separator                                        :
 os.version                                            3.10.0-1127.19.1.el7.x86_64
 java.endorsed.dirs                                    /data/TencentKona-8.0.2-252/jre/lib/endorsed
 java.runtime.name                                     OpenJDK Runtime Environment
 file.encoding                                         UTF-8
 spring.beaninfo.ignore                                true
 sun.nio.ch.bugLevel
 java.vm.name                                          OpenJDK 64-Bit Server VM
 LOG_FILE                                              /var/log/tsf-oss/tsf-ratelimit/tsf-ratelimit
 java.vendor.url.bug                                   http://ce.oa.com/bia
 java.io.tmpdir                                        /tmp
 catalina.home                                         /tmp/tomcat.8220305148167761737.23000
 java.version                                          1.8.0_252
 user.dir                                              /data/tsf/tsf-oss/tsf-ratelimit/tsf-ratelimit-1.29.1
 os.arch                                               amd64
 PID                                                   27878
 java.vm.specification.name                            Java Virtual Machine Specification
 java.awt.printerjob                                   sun.print.PSPrinterJob
 sun.os.patch.level                                    unknown
 catalina.base                                         /tmp/tomcat.8220305148167761737.23000
 loader.path                                           /data/tsf/tsf-oss/tsf-ratelimit/tsf-ratelimit-1.29.1/config
 java.library.path                                     /data/tsf/tsf-oss/tsf-ratelimit/tsf-ratelimit-1.29.1/lib::/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
 java.vm.info                                          mixed mode, sharing
 java.vendor                                           Tencent
 java.vm.version                                       25.252-b1
 java.ext.dirs                                         /data/TencentKona-8.0.2-252/jre/lib/ext:/usr/java/packages/lib/ext
 sun.io.unicode.encoding                               UnicodeLittle
 java.class.version                                    52.0

臨時設(shè)置當(dāng)前進(jìn)程的系統(tǒng)屬性

[arthas@29749]$ sysprop java.class.path /data/jdk/latest
Successfully changed the system property.
 KEY                                                   VALUE
-----------------------------------------------------------------------------------
 java.class.path                                       /data/jdk/latest

logger 指令 -- *查看or設(shè)置logger

參數(shù)說明

[arthas@29749]$ logger -h
 USAGE:      
   logger [-c <value>] [--classLoaderClass <value>] [-h] [--include-no-appender] [-l <value>] [-n <value>]

 SUMMARY:    
   Print logger info, and update the logger level
                                                                                                                               
 Examples:    
   logger
   logger -c 327a647b
   logger -c 327a647b --name ROOT --level debug
   logger --include-no-appender
                                                               
 WIKI:         
   https://arthas.aliyun.com/doc/logger

 OPTIONS: 
 -c, --classloader <value>                       classLoader hashcode, if no value is set, default value is SystemClassLoader
     --classLoaderClass <value>                  The class name of the special class's classLoader.
 -h, --help                                      this help
     --include-no-appender                       include the loggers which don't have appenders, default value false
 -l, --level <value>                             set logger level
 -n, --name <value>                              logger name

使用舉例

設(shè)置 logger 的 ROOT appender 的日志級別

##### 獲取 logger 類信息
[arthas@29749]$ logger
 name                                         ROOT
 class                                        ch.qos.logback.classic.Logger
 classLoader                                  org.springframework.boot.loader.LaunchedURLClassLoader@5674cd4d
 classLoaderHash                              5674cd4d
 level                                        INFO
 effectiveLevel                               INFO
 ......................

##### 設(shè)置 ROOT 名稱日志級別為 DEBUG
[arthas@29749]$ logger -c 5674cd4d -n ROOT -l DEBUG

heapdump 指令 -- 堆轉(zhuǎn)儲

參數(shù)說明

[arthas@29749]$ heapdump -h
 USAGE:     
   heapdump [-h] [-l] [file]

 SUMMARY:   
   Heap dump
              
 Examples:    
   heapdump           ## hprof 文件保存到當(dāng)前目錄下
   heapdump --live    ## 活躍對象
   heapdump --live /tmp/dump.hprof
                                                             
 WIKI:   
   https://arthas.aliyun.com/doc/heapdump

 OPTIONS:     
 -h, --help                                          this help
 -l, --live                                          Dump only live objects; if not specified, all objects in the heap are dumped.
 <file>                                              Output file

sc 指令 -- 獲取已加載類列表

參數(shù)說明

[arthas@29749]$  sc -h
 USAGE: 
   sc [-c <value>] [--classLoaderClass <value>] [-d] [-x <value>] [-f] [-h] [-n <value>] [-E] class-pattern

 SUMMARY:  
   Search all the classes loaded by JVM
                                   
 EXAMPLES:  
   sc -d org.apache.commons.lang.StringUtils
   sc -d org/apache/commons/lang/StringUtils
   sc -d *StringUtils
   sc -d -f org.apache.commons.lang.StringUtils
   sc -E org\\.apache\\.commons\\.lang\\.StringUtils
        
 WIKI:     
   https://arthas.aliyun.com/doc/sc

 OPTIONS:    
 -c, --classloader <value>                             The hash code of the special class's classLoader
     --classLoaderClass <value>                        The class name of the special class's classLoader.
 -d, --details                                         Display the details of class
 -x, --expand <value>                                  Expand level of object (0 by default)
 -f, --field                                           Display all the member variables
 -h, --help                                            this help
 -n, --limits <value>                                  Maximum number of matching classes with details (100 by default)
 -E, --regex                                           Enable regular expression to match (wildcard matching by default)
 <class-pattern>                                       Class name pattern, use either '.' or '/' as separator

使用舉例

#### 根據(jù)通配符獲取已加載的包名類名列表
[arthas@29749]$ sc com.tencent.tsf.*
com.sun.proxy.$Proxy132
com.sun.proxy.$Proxy143
com.tencent.tsf.TsfApplicationStarter
com.tencent.tsf.TsfApplicationStarter$$EnhancerBySpringCGLIB$$e6e6d3dc
com.tencent.tsf.common.TsfBaseEntity
com.tencent.tsf.common.TsfPage
com.tencent.tsf.common.TsfPageQuery
com.tencent.tsf.common.aop.ControllerCommonLog
..............

-d 參數(shù)獲取具體類的基礎(chǔ)信息:

[arthas@29749]$ sc com.tencent.tsf.TsfApplicationStarter -d
 class-info        com.tencent.tsf.TsfApplicationStarter
 code-source       file:/data/tsf/tsf-oss/tsf-ratelimit/tsf-ratelimit-1.29.1/lib/tsf-ratelimit-1.29.1.jar!/BOOT-INF/lib/tsf-common-1.29.1.jar!/
 name              com.tencent.tsf.TsfApplicationStarter
 isInterface       false
 isAnnotation      false
 isEnum            false
 isAnonymousClass  false
 isArray           false
 isLocalClass      false
 isMemberClass     false
 isPrimitive       false
 isSynthetic       false
 simple-name       TsfApplicationStarter
 modifier          public
 annotation        org.springframework.boot.autoconfigure.SpringBootApplication,org.springframework.cloud.client.discovery.EnableDiscoveryClient,org.springframework.cloud.netflix.feign.EnableFeignClients,org.springframework.transaction.annotation.EnableTransactionManag
                   ement,org.springframework.scheduling.annotation.EnableScheduling,org.springframework.context.annotation.EnableAspectJAutoProxy
 interfaces
 super-class       +-java.lang.Object
 class-loader      +-org.springframework.boot.loader.LaunchedURLClassLoader@5674cd4d
                     +-sun.misc.Launcher$AppClassLoader@70dea4e
                       +-sun.misc.Launcher$ExtClassLoader@65e2dbf3
 classLoaderHash   5674cd4d

 class-info        com.tencent.tsf.TsfApplicationStarter$$EnhancerBySpringCGLIB$$e6e6d3dc
 code-source       file:/data/tsf/tsf-oss/tsf-ratelimit/tsf-ratelimit-1.29.1/lib/tsf-ratelimit-1.29.1.jar!/BOOT-INF/lib/tsf-common-1.29.1.jar!/
 name              com.tencent.tsf.TsfApplicationStarter$$EnhancerBySpringCGLIB$$e6e6d3dc
 isInterface       false
 isAnnotation      false
 isEnum            false
 isAnonymousClass  false
 isArray           false
 isLocalClass      false
 isMemberClass     false
 isPrimitive       false
 isSynthetic       false
 simple-name       TsfApplicationStarter$$EnhancerBySpringCGLIB$$e6e6d3dc
 modifier          public
 annotation
 interfaces        org.springframework.context.annotation.ConfigurationClassEnhancer$EnhancedConfiguration
 super-class       +-com.tencent.tsf.TsfApplicationStarter
                     +-java.lang.Object
 class-loader      +-org.springframework.boot.loader.LaunchedURLClassLoader@5674cd4d
                     +-sun.misc.Launcher$AppClassLoader@70dea4e
                       +-sun.misc.Launcher$ExtClassLoader@65e2dbf3
 classLoaderHash   5674cd4d

Affect(row-cnt:2) cost in 17 ms.

sm 指令 -- 獲取指定類的method信息

該指令參數(shù)與 sc 指令參數(shù)類似。

使用舉例:

##  獲取 com.tencent.tsf.common.TsfPageQuery 類的所有方法列表
[arthas@29749]$ sm com.tencent.tsf.common.TsfPageQuery *
com.tencent.tsf.ratelimit.domain.Ratelimit <init>(Lcom/tencent/tsf/ratelimit/domain/Ratelimit;)V
com.tencent.tsf.ratelimit.domain.Ratelimit <init>()V
com.tencent.tsf.ratelimit.domain.Ratelimit toString()Ljava/lang/String;
com.tencent.tsf.ratelimit.domain.Ratelimit getRules()Ljava/util/List;
com.tencent.tsf.ratelimit.domain.Ratelimit lambda$containsIn$0(Lcom/tencent/tsf/ratelimit/domain/Ratelimit$Rule;Lcom/tencent/tsf/ratelimit/domain/Ratelimit$Rule;)Z
com.tencent.tsf.ratelimit.domain.Ratelimit setRules(Ljava/util/List;)V
com.tencent.tsf.ratelimit.domain.Ratelimit isValidRequest(Z)Z
com.tencent.tsf.ratelimit.domain.Ratelimit getRequestIdentity()Ljava/lang/String;
com.tencent.tsf.ratelimit.domain.Ratelimit setNamespaceId(Ljava/lang/String;)V
com.tencent.tsf.ratelimit.domain.Ratelimit containsIn(Ljava/util/List;)Z
com.tencent.tsf.ratelimit.domain.Ratelimit isDimensionConflict(Ljava/util/List;)Z
com.tencent.tsf.ratelimit.domain.Ratelimit getNamespaceId()Ljava/lang/String;
com.tencent.tsf.ratelimit.domain.Ratelimit getServiceName()Ljava/lang/String;
com.tencent.tsf.ratelimit.domain.Ratelimit setServiceName(Ljava/lang/String;)V
com.tencent.tsf.common.proxy.Application <init>()V
com.tencent.tsf.common.proxy.Application setApplicationId(Ljava/lang/String;)V
com.tencent.tsf.common.proxy.Application getMicroserviceType()Ljava/lang/String;
com.tencent.tsf.common.proxy.Application setMicroserviceType(Ljava/lang/String;)V
com.tencent.tsf.common.proxy.Application getApplicationId()Ljava/lang/String;
com.tencent.tsf.ratelimit.proxy.Microservice <init>()V
com.tencent.tsf.ratelimit.proxy.Microservice setMicroserviceName(Ljava/lang/String;)V
com.tencent.tsf.ratelimit.proxy.Microservice setNamespaceId(Ljava/lang/String;)V
com.tencent.tsf.ratelimit.proxy.Microservice getMicroserviceName()Ljava/lang/String;
com.tencent.tsf.ratelimit.proxy.Microservice getNamespaceId()Ljava/lang/String;
com.tencent.tsf.ratelimit.proxy.Microservice getMicroserviceId()Ljava/lang/String;
com.tencent.tsf.ratelimit.proxy.Microservice setMicroserviceId(Ljava/lang/String;)V
com.tencent.tsf.common.TsfPageQuery <init>()V
com.tencent.tsf.common.TsfPageQuery clear()V
com.tencent.tsf.common.TsfPageQuery getOffset()Ljava/lang/Integer;
com.tencent.tsf.common.TsfPageQuery setOffset(Ljava/lang/Integer;)V
com.tencent.tsf.common.TsfPageQuery initDefault()V
com.tencent.tsf.common.TsfPageQuery setSearchWord(Ljava/lang/String;)V
com.tencent.tsf.common.TsfPageQuery getOrderType()Ljava/lang/Integer;
com.tencent.tsf.common.TsfPageQuery getOrderTypeStr()Ljava/lang/String;
com.tencent.tsf.common.TsfPageQuery setOrderType(Ljava/lang/Integer;)V
com.tencent.tsf.common.TsfPageQuery getOrderBy()Ljava/lang/String;
com.tencent.tsf.common.TsfPageQuery setOrderBy(Ljava/lang/String;)V
com.tencent.tsf.common.TsfPageQuery getRealPage()I
com.tencent.tsf.common.TsfPageQuery transerPageQuery(Lcom/tencent/tsf/common/TsfPageQuery;)V
com.tencent.tsf.common.TsfPageQuery getSearchWordLikeStr()Ljava/lang/String;
com.tencent.tsf.common.TsfPageQuery getLimit()Ljava/lang/Integer;
com.tencent.tsf.common.TsfPageQuery setLimit(Ljava/lang/Integer;)V
com.tencent.tsf.common.TsfPageQuery getSearchWord()Ljava/lang/String;
Affect(row-cnt:43) cost in 12 ms.

monitor 指令 -- 方法執(zhí)行監(jiān)控

該指令為非實時返回指令,默認(rèn) 120s 返回一次統(tǒng)計值。

統(tǒng)計區(qū)間時間段內(nèi),方法執(zhí)行的總數(shù)、成功次數(shù)、失敗次數(shù)、平均執(zhí)行率、失敗比例 等信息。

參數(shù)說明

[arthas@8738]$ monitor -h
 USAGE:    
   monitor [-b] [-c <value>] [--exclude-class-pattern <value>] [-h] [-n <value>] [--listenerId <value>] [-E <value>] [-v] class-pattern method-pattern [condition-express]

 SUMMARY:  
   Monitor method execution statistics, e.g. total/success/failure count, average rt, fail rate, etc.
                                                                          
 Examples:    
   monitor org.apache.commons.lang.StringUtils isBlank
   monitor org.apache.commons.lang.StringUtils isBlank -c 5
   monitor org.apache.commons.lang.StringUtils isBlank params[0]!=null
   monitor -b org.apache.commons.lang.StringUtils isBlank params[0]!=null
   monitor -E org\.apache\.commons\.lang\.StringUtils isBlank
        
 WIKI:     
   https://arthas.aliyun.com/doc/monitor

 OPTIONS:   
 -b, --before                                           Evaluate the condition-express before method invoke
 -c, --cycle <value>                                    The monitor interval (in seconds), 60 seconds by default
     --exclude-class-pattern <value>                    exclude class name pattern, use either '.' or '/' as separator
 -h, --help                                             this help
 -n, --limits <value>                                   Threshold of execution times
     --listenerId <value>                               The special listenerId
 -E, --regex <value>                                    Enable regular expression to match (wildcard matching by default)
 -v, --verbose                                          Enables print verbose information, default value false.
 <class-pattern>                                        Path and classname of Pattern Matching
 <method-pattern>                                       Method of Pattern Matching
 <condition-express>                                    Conditional expression in ognl style, for example:
                                                           TRUE  : 1==1
                                                           TRUE  : true
                                                           FALSE : false
                                                           TRUE  : 'params.length>=0'
                                                           FALSE : 1==2
                                                           '#cost>100'

使用舉例

[arthas@8738]$ monitor com.tencent.tsf.resource.ns.dao.NamespaceDao *
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 15) cost in 104 ms, listenerId: 6
 timestamp                 class                                         method            total      success  fail   avg-rt(ms)   fail-rate
----------------------------------------------------------------------------------------------------------------------------------------------------
 2021-09-09 18:26:58     com.tencent.tsf.resource.ns.dao.NamespaceDao   countList          12          12      0     1.08              0.00%
 2021-09-09 18:26:58     com.tencent.tsf.resource.ns.dao.NamespaceDao   getAuthWhereClause 28          28      0     0.18              0.00%
 2021-09-09 18:26:58     com.tencent.tsf.resource.ns.dao.NamespaceDao   findList           2           2       0     1.09              0.00%

到此這篇關(guān)于Arthas在線java進(jìn)程診斷工具 在線調(diào)試神器的文章就介紹到這了,更多相關(guān)Arthas在線java進(jìn)程診斷工具 在線調(diào)試神器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文帶你你搞懂Java的3種IO模型

    一文帶你你搞懂Java的3種IO模型

    在Java中,一共有三種IO模型,分別是阻塞IO(BIO)、非阻塞IO(NIO)和異步IO(AIO),本文將給大家詳解的介紹這三種IO模型,文中有相關(guān)的代碼示例,需要的朋友可以參考下
    2023-05-05
  • SpringBoot使用RESTful接口詳解

    SpringBoot使用RESTful接口詳解

    RESTful是一種web軟件風(fēng)格,它不是標(biāo)準(zhǔn)也不是協(xié)議,它不一定要采用,只是一種風(fēng)格,它倡導(dǎo)的是一個資源定位(url)及資源操作的風(fēng)格,這篇文章主要介紹了SpringBoot使用RESTful接口
    2022-10-10
  • Spring Cloud中配置客戶端示例詳解

    Spring Cloud中配置客戶端示例詳解

    這篇文章主要介紹了Spring Cloud中配置客戶端的相關(guān)知識,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • java.lang.OutOfMemoryError 錯誤整理及解決辦法

    java.lang.OutOfMemoryError 錯誤整理及解決辦法

    這篇文章主要介紹了java.lang.OutOfMemoryError 錯誤整理及解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Java的List集合中泛型使用詳解

    Java的List集合中泛型使用詳解

    這篇文章主要介紹了Java的List集合中泛型使用詳解,泛型類,如果沒有指定具體的數(shù)據(jù)類型,此時,操作類型是Object,泛型的類型參數(shù)只能是類類型,不能是基本數(shù)據(jù)類型,需要的朋友可以參考下
    2023-12-12
  • IDEA無法創(chuàng)建JDK1.8版本的Springboot項目問題解決(2種方法)

    IDEA無法創(chuàng)建JDK1.8版本的Springboot項目問題解決(2種方法)

    本文主要介紹了IDEA無法創(chuàng)建JDK1.8版本的Springboot項目問題解決,包含兩種解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • 淺談Java中的LinkedHashSet哈希鏈表

    淺談Java中的LinkedHashSet哈希鏈表

    這篇文章主要介紹了淺談Java中的LinkedHashSet哈希鏈表,LinkedHashSet 是 Java 中的一個集合類,它是 HashSet 的子類,并實現(xiàn)了 Set 接口,與 HashSet 不同的是,LinkedHashSet 保留了元素插入的順序,并且具有 HashSet 的快速查找特性,需要的朋友可以參考下
    2023-09-09
  • java 中設(shè)計模式(值對象)的實例詳解

    java 中設(shè)計模式(值對象)的實例詳解

    這篇文章主要介紹了java 中設(shè)計模式(值對象)的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • Java方法的可變參數(shù)類型實例分析

    Java方法的可變參數(shù)類型實例分析

    這篇文章主要介紹了Java方法的可變參數(shù)類型,通過實例對Java中的可變參數(shù)類型進(jìn)行了較為深入的分析,需要的朋友可以參考下
    2014-09-09
  • Java線程池運行狀態(tài)監(jiān)控實現(xiàn)解析

    Java線程池運行狀態(tài)監(jiān)控實現(xiàn)解析

    這篇文章主要介紹了Java線程池運行狀態(tài)監(jiān)控實現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10

最新評論

女人精品内射国产99| 91快播视频在线观看| 亚洲成人国产综合一区| 黄色录像鸡巴插进去| 欧美va不卡视频在线观看| 91大神福利视频网| 99精品国产免费久久| 日本一二三区不卡无| 欧美交性又色又爽又黄麻豆| 蜜臀成人av在线播放| 91小伙伴中女熟女高潮| 日本一区美女福利视频| 天天摸天天日天天操| mm131美女午夜爽爽爽| 黄色资源视频网站日韩| 免费高清自慰一区二区三区网站| 欧美日韩亚洲国产无线码| 午夜久久久久久久精品熟女| 天天干天天插天天谢| 欧美在线偷拍视频免费看| av在线免费资源站| 一区二区三区视频,福利一区二区| 天天日天天干天天要| 亚洲激情,偷拍视频| 亚洲免费国产在线日韩| 国产九色91在线观看精品| 亚洲人妻视频在线网| 亚洲午夜电影之麻豆| 又色又爽又黄又刺激av网站| 日美女屁股黄邑视频| 亚洲国际青青操综合网站| 国内资源最丰富的网站| 精品国产成人亚洲午夜| 国产janese在线播放| 成人av亚洲一区二区| 在线免费视频 自拍| 国产欧美精品不卡在线| 久精品人妻一区二区三区| 国产视频网站国产视频| 青青青青视频在线播放| 成年人黄视频在线观看| 大陆av手机在线观看| 爆乳骚货内射骚货内射在线| 一个色综合男人天堂| 国产 在线 免费 精品| 欧美中文字幕一区最新网址| 人人在线视频一区二区| 香港一级特黄大片在线播放| 边摸边做超爽毛片18禁色戒| 青草久久视频在线观看| 久久久久久cao我的性感人妻| 国产品国产三级国产普通话三级| 亚洲一区av中文字幕在线观看| 美女视频福利免费看| 日韩一区二区电国产精品| 女同久久精品秋霞网| 亚洲无线观看国产高清在线| 2020久久躁狠狠躁夜夜躁 | 红桃av成人在线观看| 99久久超碰人妻国产| 亚洲一级av无码一级久久精品| 爱爱免费在线观看视频| 大香蕉伊人中文字幕| 亚洲成人国产av在线| 成年人黄色片免费网站| 亚洲 自拍 色综合图| 日本a级视频老女人| 亚洲一级av无码一级久久精品| 色婷婷综合激情五月免费观看 | 亚洲免费视频欧洲免费视频| 一区二区三区av高清免费| 激情综合治理六月婷婷| 欧美香蕉人妻精品一区二区| av日韩在线免费播放| 日本三极片视频网站观看| 一本久久精品一区二区| 亚洲中文字字幕乱码| 在线免费观看靠比视频的网站| 欧洲亚洲欧美日韩综合| 韩国男女黄色在线观看| 日本又色又爽又黄又粗| 国产女人叫床高潮大片视频| 在线 中文字幕 一区| 97国产精品97久久| nagger可以指黑人吗| 国产精品一二三不卡带免费视频 | 天堂av在线最新版在线| 天天日天天操天天摸天天舔| 精品国产乱码一区二区三区乱| 大香蕉伊人中文字幕| 成年午夜免费无码区| 国产精品人妻66p| 天天操夜夜骑日日摸| 亚洲精品欧美日韩在线播放| sspd152中文字幕在线| 成人激情文学网人妻| 三级黄色亚洲成人av| 亚洲精品无码久久久久不卡| 亚洲图片偷拍自拍区| 欧美视频中文一区二区三区| 欧美成人一二三在线网| 天天做天天爽夜夜做少妇| 一区二区三区蜜臀在线| 粉嫩av懂色av蜜臀av| 亚洲 欧美 精品 激情 偷拍 | 国产精品大陆在线2019不卡 | 天天插天天色天天日| 在线 中文字幕 一区| 日韩欧美一级aa大片| 国产成人综合一区2区| 夜夜嗨av一区二区三区中文字幕| 88成人免费av网站| 亚洲av日韩av第一区二区三区| 91人妻精品久久久久久久网站| 国产极品美女久久久久久| 天天躁夜夜躁日日躁a麻豆| 国产精品自拍偷拍a| 国产丰满熟女成人视频| 香港一级特黄大片在线播放| 天天日天天鲁天天操| 香蕉片在线观看av| 激情色图一区二区三区| 欧美80老妇人性视频| 亚洲av男人的天堂你懂的| 大胸性感美女羞爽操逼毛片| tube69日本少妇| 福利视频网久久91| 天天日天天干天天舔天天射| 亚洲av天堂在线播放| 自拍偷拍日韩欧美亚洲| 青青在线视频性感少妇和隔壁黑丝| 99的爱精品免费视频| 人妻久久久精品69系列| 久草视频在线一区二区三区资源站 | 国产视频在线视频播放| 精品亚洲国产中文自在线| 中文字幕av第1页中文字幕| 亚洲另类伦春色综合小| 91快播视频在线观看| 日本韩国在线观看一区二区| 日本xx片在线观看| 亚洲精品av在线观看| 男人插女人视频网站| 国产精品黄页网站视频| 美女av色播在线播放| 精品美女在线观看视频在线观看| 18禁网站一区二区三区四区| 91破解版永久免费| 国产成人精品午夜福利训2021| 少妇露脸深喉口爆吞精| 午夜的视频在线观看| 中文字幕无码一区二区免费| 人妻少妇亚洲一区二区| 2022国产精品视频| 综合色区亚洲熟妇shxstz| 亚洲av天堂在线播放| 小穴多水久久精品免费看| 天天爽夜夜爽人人爽QC| 91精品国产综合久久久蜜| 亚洲av自拍偷拍综合| 欧洲亚洲欧美日韩综合| 天天日天天添天天爽| 亚洲蜜臀av一区二区三区九色 | 免费在线黄色观看网站| 亚洲高清视频在线不卡| 丰满少妇人妻xxxxx| 18禁美女黄网站色大片下载| 亚洲中文字字幕乱码| 最近中文字幕国产在线| 中国熟女@视频91| 99久久99久国产黄毛片| 日韩伦理短片在线观看| 国产高清在线在线视频| 伊人综合免费在线视频| 亚洲国产40页第21页| 欧美日韩亚洲国产无线码| 18禁无翼鸟成人在线| 青青青爽视频在线播放| 国产综合高清在线观看| 国产精品一区二区三区蜜臀av| 欧美视频一区免费在线| 日本人妻少妇18—xx| 一区二区三区激情在线| 早川濑里奈av黑人番号| 中文字幕日韩91人妻在线| 国产免费av一区二区凹凸四季| 日本丰满熟妇大屁股久久| 国产老熟女伦老熟妇ⅹ| 日本午夜福利免费视频| 国产福利小视频二区| 人妻少妇av在线观看| 在线免费观看欧美小视频| 最新黄色av网站在线观看| 亚洲色偷偷综合亚洲AV伊人| 欧美精产国品一二三产品价格| 做爰视频毛片下载蜜桃视频1| 日本性感美女视频网站| 国产一级麻豆精品免费| 成年人午夜黄片视频资源| 鸡巴操逼一级黄色气| 久草视频首页在线观看| 国产使劲操在线播放| 成人高清在线观看视频| 亚洲精品在线资源站| 成年人的在线免费视频| 精品av国产一区二区三区四区 | 姐姐的朋友2在线观看中文字幕| 亚洲综合在线视频可播放| 欧美国产亚洲中英文字幕| 99精品视频在线观看婷婷| 在线观看视频一区麻豆| 99国内精品永久免费视频| 93视频一区二区三区| 久久一区二区三区人妻欧美| 丝袜长腿第一页在线| 日噜噜噜夜夜噜噜噜天天噜噜噜| 自拍 日韩 欧美激情| 黑人乱偷人妻中文字幕| 韩国爱爱视频中文字幕| 97黄网站在线观看| 国产福利小视频大全| 国产一区av澳门在线观看| 国产视频网站国产视频| 美女张开两腿让男人桶av| 熟女国产一区亚洲中文字幕| 国产夫妻视频在线观看免费| 五月精品丁香久久久久福利社| 亚洲成人精品女人久久久| 极品丝袜一区二区三区| 日日夜夜精品一二三| 亚洲欧美久久久久久久久| 中文字幕高清在线免费播放| 精品国产成人亚洲午夜| 熟女俱乐部一二三区| 亚洲欧美成人综合视频| 18禁网站一区二区三区四区| 日韩成人综艺在线播放| 欧美综合婷婷欧美综合| 亚洲综合在线观看免费| 国产中文字幕四区在线观看| 自拍偷拍 国产资源| 超碰在线中文字幕一区二区| 日韩欧美高清免费在线| 欧美日韩一级黄片免费观看| 美女在线观看日本亚洲一区| 黑人性生活视频免费看| 欧美精产国品一二三产品价格| 国产片免费观看在线观看| 久久久久久99国产精品| 中文字幕日韩精品日本| 国产亚洲欧美另类在线观看| 国产综合视频在线看片| 久久综合老鸭窝色综合久久| 中文字幕在线观看极品视频| 少妇人妻真实精品视频| 一区二区在线观看少妇| 亚洲2021av天堂| 无忧传媒在线观看视频| 最新97国产在线视频| 日韩激情文学在线视频| 风流唐伯虎电视剧在线观看| 99精品久久久久久久91蜜桃| 91国偷自产一区二区三区精品| 人妻另类专区欧美制服| 成人性爱在线看四区| 午夜美女福利小视频| 欧美日韩在线精品一区二区三| 人妻熟女在线一区二区| 日韩a级精品一区二区| 又大又湿又爽又紧A视频| 青青青视频自偷自拍38碰| 国产欧美精品一区二区高清| 美女福利写真在线观看视频| 一区二区三区四区视频在线播放| 人妻3p真实偷拍一二区| 亚洲综合图片20p| 成年人啪啪视频在线观看| 特级欧美插插插插插bbbbb| 国产精品福利小视频a| 99久久99一区二区三区| av无限看熟女人妻另类av| 日本www中文字幕| 狠狠躁夜夜躁人人爽天天久天啪| 国产精品国产三级国产午| 亚洲天堂精品福利成人av| 国产大学生援交正在播放| 国产大学生援交正在播放| 黄片三级三级三级在线观看| 偷拍3456eee| 91人妻精品一区二区在线看| 欧美地区一二三专区| 黑人3p华裔熟女普通话| 91传媒一区二区三区| 三级av中文字幕在线观看| 91九色porny蝌蚪国产成人| 国产精品黄页网站视频| 91欧美在线免费观看| 日辽宁老肥女在线观看视频| 孕妇奶水仑乱A级毛片免费看| 深夜男人福利在线观看| 日韩av大胆在线观看| 99精品一区二区三区的区| 国产精品自拍偷拍a| 欲乱人妻少妇在线视频裸| 亚洲码av无色中文| 国产a级毛久久久久精品| 日韩精品二区一区久久| 日韩写真福利视频在线观看| 91免费福利网91麻豆国产精品| 国产日本欧美亚洲精品视| 97色视频在线观看| 国产精品黄大片在线播放| 成人精品视频99第一页| 亚洲人成精品久久久久久久| 日韩一个色综合导航| 日本三极片视频网站观看| 国产精品久久久久久美女校花| 高潮喷水在线视频观看| 国产熟妇乱妇熟色T区| 大鸡巴后入爆操大屁股美女| 久久香蕉国产免费天天| 大肉大捧一进一出好爽在线视频 | 国产白袜脚足J棉袜在线观看| 啪啪啪啪啪啪啪啪啪啪黄色| 可以免费看的www视频你懂的| 亚洲一级av大片免费观看| 国产精品久久综合久久| 久久人人做人人妻人人玩精品vr| 天天日天天干天天爱| 香港一级特黄大片在线播放| 国产精品自偷自拍啪啪啪| 天天色天天舔天天射天天爽| 欧美另类重口味极品在线观看| 亚洲天堂精品福利成人av| 在线免费视频 自拍| 欧美视频一区免费在线| 色偷偷伊人大杳蕉综合网| 91久久精品色伊人6882| 国产精品久久9999| 国产大鸡巴大鸡巴操小骚逼小骚逼| av在线免费观看亚洲天堂| 91精品视频在线观看免费| 亚洲综合在线视频可播放| 亚洲欧美久久久久久久久| 国产精品久久久久国产三级试频 | 自拍偷拍亚洲欧美在线视频| av在线观看网址av| 白白操白白色在线免费视频 | 深田咏美亚洲一区二区| 欧美亚洲免费视频观看| ka0ri在线视频| 亚洲av黄色在线网站| 日本乱人一区二区三区| 日本韩国免费一区二区三区视频| 亚洲成人熟妇一区二区三区| 亚洲日产av一区二区在线| 中文字幕奴隷色的舞台50| 婷婷久久一区二区字幕网址你懂得| h国产小视频福利在线观看| av大全在线播放免费| 午夜大尺度无码福利视频| 孕妇奶水仑乱A级毛片免费看| 久久精品36亚洲精品束缚| 蝴蝶伊人久久中文娱乐网| 在线免费观看日本伦理| 亚洲2021av天堂| 超级碰碰在线视频免费观看| 亚洲精品一区二区三区老狼| 91中文字幕免费在线观看| 成人午夜电影在线观看 久久| 91快播视频在线观看| 国产中文精品在线观看| 都市家庭人妻激情自拍视频| 亚洲成人线上免费视频观看| 久久午夜夜伦痒痒想咳嗽P| 国产va在线观看精品| 日本美女成人在线视频| 亚洲精品乱码久久久久久密桃明| 免费手机黄页网址大全| 国产精品国产三级麻豆| 偷拍自拍国产在线视频| 97人妻无码AV碰碰视频| 99精品视频在线观看免费播放 | 超碰97免费人妻麻豆| 午夜成午夜成年片在线观看| av视屏免费在线播放| 天天操天天干天天日狠狠插| 美女视频福利免费看| 天天色天天操天天舔| 性色蜜臀av一区二区三区| 国产精品国产三级国产精东| 欧美综合婷婷欧美综合| 人人妻人人澡欧美91精品| 亚洲av自拍偷拍综合| 九九视频在线精品播放| 亚洲无线观看国产高清在线| 91桃色成人网络在线观看| av亚洲中文天堂字幕网| 色婷婷久久久久swag精品| 国产亚洲成人免费在线观看| 一区二区三区四区视频| 亚洲老熟妇日本老妇| 91国语爽死我了不卡| 换爱交换乱高清大片| 国产一区成人在线观看视频| 在线观看成人国产电影| 亚洲国产在线精品国偷产拍| 亚洲综合在线视频可播放| 亚洲精品国产在线电影| 日本免费午夜视频网站| 国产卡一卡二卡三乱码手机| 亚洲中文精品字幕在线观看| 在线免费观看99视频| 青青操免费日综合视频观看| 亚洲超碰97人人做人人爱| 精品高跟鞋丝袜一区二区| 青草青永久在线视频18| 初美沙希中文字幕在线| 丰满少妇翘臀后进式| 97国产在线观看高清| 天天插天天狠天天操| ka0ri在线视频| 欧美一区二区三区乱码在线播放| 色婷婷久久久久swag精品| 在线观看av2025| 岛国青草视频在线观看| 超污视频在线观看污污污| 亚洲嫩模一区二区三区| 亚洲免费国产在线日韩| 黑人借宿ntr人妻的沦陷2| 91久久人澡人人添人人爽乱| 国产av自拍偷拍盛宴| 天天操天天污天天射| 大黑人性xxxxbbbb| 日韩国产乱码中文字幕| 中文字幕网站你懂的| av无限看熟女人妻另类av| 国产视频精品资源网站| 婷婷久久一区二区字幕网址你懂得| 日本啪啪啪啪啪啪啪| 啊啊啊视频试看人妻| 久久h视频在线观看| 一区二区三区的久久的蜜桃的视频| 美女张开腿让男生操在线看| 啪啪啪啪啪啪啪免费视频| 青青草国内在线视频精选| 男人操女人的逼免费视频| 视频一区二区综合精品| 999热精品视频在线| 亚洲av无硬久久精品蜜桃| 亚洲精品无码色午夜福利理论片| 久久这里有免费精品| 国产成人精品福利短视频| 久久这里只有精品热视频 | 久久久制服丝袜中文字幕| 中文字幕在线永久免费播放| 天天操天天射天天操天天天| 欧美日韩人妻久久精品高清国产| 亚洲av日韩高清hd| 91精品国产麻豆国产| 亚洲午夜电影在线观看| 亚洲综合在线视频可播放| 搡老妇人老女人老熟女| AV无码一区二区三区不卡| 成人av电影免费版| 1区2区3区不卡视频| 经典国语激情内射视频| 天天射,天天操,天天说| 做爰视频毛片下载蜜桃视频1 | 午夜精品亚洲精品五月色| 久久艹在线观看视频| 在线不卡成人黄色精品| 国产精品久久综合久久| 2021国产一区二区| 97超碰国语国产97超碰| 天天综合天天综合天天网| 欧美伊人久久大香线蕉综合| 福利视频网久久91| 日韩近亲视频在线观看| 国产性感美女福利视频| 日韩美女搞黄视频免费| 97国产在线观看高清| 老师让我插进去69AV| 黄色的网站在线免费看| 国产精品熟女久久久久浪潮| 欲乱人妻少妇在线视频裸| 日韩美av高清在线| 91极品大一女神正在播放| 亚洲国产免费av一区二区三区| okirakuhuhu在线观看| 亚洲天堂第一页中文字幕| av成人在线观看一区| 国产高清女主播在线| 久久久久久久一区二区三| 综合精品久久久久97| 中文字幕免费在线免费| 五色婷婷综合狠狠爱| 亚洲欧美国产综合777| 国产女孩喷水在线观看| 姐姐的朋友2在线观看中文字幕 | 欧美精品 日韩国产| 亚洲精品在线资源站| 久久精品国产999| 亚洲精品麻豆免费在线观看| 国产污污污污网站在线| 大骚逼91抽插出水视频| 狠狠操操操操操操操操操| 午夜蜜桃一区二区三区| huangse网站在线观看| 影音先锋女人av噜噜色| 亚洲欧洲av天堂综合| 玩弄人妻熟妇性色av少妇| 五月色婷婷综合开心网4438| 欧美aa一级一区三区四区| 亚国产成人精品久久久| 免费看国产av网站| 日本一本午夜在线播放| eeuss鲁片一区二区三区| 中文字幕之无码色多多| 91社福利《在线观看| 国产福利小视频免费观看| 日本人妻少妇18—xx| 国产精品久久久久网| av资源中文字幕在线观看| 国产97在线视频观看| 亚洲免费av在线视频| 2019av在线视频| av在线资源中文字幕| 国产一区自拍黄视频免费观看| 无码日韩人妻精品久久| 天天操天天污天天射| 国产成人精品福利短视频| 国产日本欧美亚洲精品视| yy6080国产在线视频| 五十路丰满人妻熟妇| 日本三极片中文字幕| 日噜噜噜夜夜噜噜噜天天噜噜噜| 春色激情网欧美成人| 在线播放一区二区三区Av无码| 亚洲 自拍 色综合图| 亚洲国产精品美女在线观看| 国产精品久久久久久久久福交| 国产成人精品亚洲男人的天堂| 亚洲欧美激情中文字幕| 9国产精品久久久久老师| 精产国品久久一二三产区区别| 亚洲精品国品乱码久久久久| 国产美女一区在线观看| 国产精品久久久久网| av天堂中文字幕最新| 2020久久躁狠狠躁夜夜躁| 中文字幕在线乱码一区二区| 久久久极品久久蜜桃| 69精品视频一区二区在线观看| 久久人人做人人妻人人玩精品vr| 偷青青国产精品青青在线观看| 午夜的视频在线观看| 一区二区在线观看少妇| 精品91高清在线观看| 精产国品久久一二三产区区别| 国产精品福利小视频a| 91chinese在线视频| 亚洲国产欧美国产综合在线| 成年人免费看在线视频| 午夜精品九一唐人麻豆嫩草成人| av男人天堂狠狠干| av天堂中文字幕最新| 亚洲人成精品久久久久久久| 大香蕉大香蕉在线有码 av| 爆乳骚货内射骚货内射在线| 亚洲偷自拍高清视频| 快点插进来操我逼啊视频| 91啪国自产中文字幕在线| 国产黄色大片在线免费播放| 91高清成人在线视频| 97超碰国语国产97超碰| 丝袜肉丝一区二区三区四区在线看| 一区二区视频在线观看视频在线| 啪啪啪啪啪啪啪啪av| 男人和女人激情视频| 免费69视频在线看| 天天摸天天干天天操科普| 欧美成人一二三在线网| 蝴蝶伊人久久中文娱乐网| 护士特殊服务久久久久久久| 专门看国产熟妇的网站| 欧美日本在线观看一区二区| 国产视频在线视频播放| 91精品国产观看免费| 亚洲精品国产在线电影| 国产黄色a级三级三级三级 | 天天日天天干天天搡| 国产九色91在线观看精品| 国产精品人妻熟女毛片av久| jiujiure精品视频在线| 国产又粗又黄又硬又爽| 欧美精品激情在线最新观看视频| 日本韩国亚洲综合日韩欧美国产| 国产高潮无码喷水AV片在线观看| 91色九色porny| 55夜色66夜色国产精品站| 免费看国产av网站| 日本女人一级免费片| 老鸭窝日韩精品视频观看| 国产夫妻视频在线观看免费| 亚洲国产第一页在线观看| 欧美日本在线观看一区二区| 国产精彩福利精品视频| 亚洲Av无码国产综合色区| 成人区人妻精品一区二视频| 亚洲天天干 夜夜操| 成年人午夜黄片视频资源| 97超碰人人搞人人| 男女啪啪视频免费在线观看| 内射久久久久综合网| 久久三久久三久久三久久| 成人国产激情自拍三区| 91精品啪在线免费| av在线shipin| 大香蕉大香蕉大香蕉大香蕉大香蕉| 91九色国产porny蝌蚪| 黑人大几巴狂插日本少妇| 一区二区视频视频视频| 日本性感美女写真视频| 人妻激情图片视频小说| 91免费观看国产免费| 日本午夜爽爽爽爽爽视频在线观看| 久草视频福利在线首页| 青娱乐最新视频在线| 男人操女人的逼免费视频| 亚洲另类图片蜜臀av| 午夜蜜桃一区二区三区| 3344免费偷拍视频| 亚洲精品无码久久久久不卡| 黄色片年轻人在线观看| 亚洲中文精品人人免费| 蜜桃视频入口久久久| 男女第一次视频在线观看| 精品高潮呻吟久久av| 成人av天堂丝袜在线观看| 久久久久久久一区二区三| 中文字幕av第1页中文字幕| 一区二区视频在线观看免费观看| 国产卡一卡二卡三乱码手机| 天天日天天干天天干天天日| 91免费黄片可看视频| 亚洲在线一区二区欧美| 青青青激情在线观看视频| 人妻丝袜av在线播放网址| 少妇人妻100系列| caoporn蜜桃视频| 又黄又刺激的午夜小视频| 香蕉aⅴ一区二区三区| 国产麻豆剧传媒精品国产av蜜桃| 欧美80老妇人性视频| 经典av尤物一区二区| 99热这里只有国产精品6| 亚洲天天干 夜夜操| 97精品成人一区二区三区| 熟女人妻三十路四十路人妻斩| 亚洲av成人免费网站| 欧美viboss性丰满| 日本一二三中文字幕| 国产麻豆91在线视频| 青青青青青青青青青青草青青| 一区二区三区四区视频在线播放| 亚洲最大黄了色网站| 绯色av蜜臀vs少妇| 国产精品国产三级国产午| 国产精品久久综合久久| 天堂av中文在线最新版| 日韩无码国产精品强奸乱伦| 国产在线自在拍91国语自产精品| 人妻激情图片视频小说| 很黄很污很色的午夜网站在线观看| 99视频精品全部15| 午夜av一区二区三区| 大白屁股精品视频国产| 日韩中文字幕福利av| 亚洲综合色在线免费观看| 国产一区二区在线欧美| 日本后入视频在线观看| 欧美3p在线观看一区二区三区| 五月天色婷婷在线观看视频免费| 欧美专区第八页一区在线播放| 亚洲av男人天堂久久| 人妻丝袜精品中文字幕| 在线国产精品一区二区三区| 精品高跟鞋丝袜一区二区| 国产乱子伦精品视频潮优女| 国产精品久久9999| 熟女人妻三十路四十路人妻斩| 国产成人精品久久二区91| 亚洲天堂av最新网址| 大香蕉福利在线观看| 岛国av高清在线成人在线| 日韩精品电影亚洲一区| 伊人网中文字幕在线视频| 亚洲一级特黄特黄黄色录像片| 黑人巨大精品欧美视频| 2020久久躁狠狠躁夜夜躁| 在线观看国产免费麻豆| 2025年人妻中文字幕乱码在线| 一区二区视频在线观看免费观看 | av日韩在线免费播放| 亚洲国产精品美女在线观看| 骚逼被大屌狂草视频免费看| 久久www免费人成一看片| 蜜桃久久久久久久人妻| 91在线视频在线精品3| 狠狠躁夜夜躁人人爽天天久天啪| 黄色三级网站免费下载| 91一区精品在线观看| 亚洲免费在线视频网站| 初美沙希中文字幕在线| 超pen在线观看视频公开97| 亚洲成人线上免费视频观看| 亚洲成人av一区久久| 国产91久久精品一区二区字幕| 偷拍自拍视频图片免费| 久久丁香花五月天色婷婷| 免费大片在线观看视频网站| 在线播放一区二区三区Av无码| chinese国产盗摄一区二区| 动漫美女的小穴视频| rct470中文字幕在线| 91色九色porny| av黄色成人在线观看| 亚洲欧美成人综合视频| 国产精品久久久久网| 57pao国产一区二区| 蜜臀av久久久久久久| 五十路在线观看完整版| 丝袜长腿第一页在线| 成人亚洲国产综合精品| 91久久国产成人免费网站| 日曰摸日日碰夜夜爽歪歪| av网址国产在线观看| AV无码一区二区三区不卡| 中文字幕成人日韩欧美| 亚洲自拍偷拍精品网| 黑人变态深video特大巨大| 揄拍成人国产精品免费看视频| 绝顶痉挛大潮喷高潮无码| 成人乱码一区二区三区av| 亚洲中文字幕人妻一区| 亚洲中文精品人人免费| 日本www中文字幕| 黄色视频成年人免费观看| 日本一二三中文字幕| 人人妻人人澡人人爽人人dvl| 亚洲成人三级在线播放| 亚洲欧美人精品高清| 欧美交性又色又爽又黄麻豆| 亚洲成人线上免费视频观看| 久久精品美女免费视频| 久久久精品欧洲亚洲av| 欧美精产国品一二三区| 岛国青草视频在线观看| 国产三级影院在线观看| 欧美激情电影免费在线| 777奇米久久精品一区| 国产乱弄免费视频观看| 91精品国产91青青碰| 阴茎插到阴道里面的视频| 黄色录像鸡巴插进去| 欧美地区一二三专区| 99国内精品永久免费视频| 欧美天堂av无线av欧美| 成年女人免费播放视频| 日本乱人一区二区三区| 一区二区三区美女毛片| 三级黄色亚洲成人av| 亚洲第17页国产精品| 免费男阳茎伸入女阳道视频 | 免费大片在线观看视频网站| 亚洲成人精品女人久久久| 国产真实乱子伦a视频 | 国产午夜福利av导航| 馒头大胆亚洲一区二区| 97香蕉碰碰人妻国产樱花| 精品美女久久久久久| 色伦色伦777国产精品| 久久免看30视频口爆视频| 久久久久久99国产精品| 岛国黄色大片在线观看| 国产免费高清视频视频| 亚洲熟妇久久无码精品| 青青青视频自偷自拍38碰| 日韩美女综合中文字幕pp| 亚洲一级av大片免费观看| 日本中文字幕一二区视频| 1000小视频在线| 青青擦在线视频国产在线| 99精品免费观看视频| 日韩成人免费电影二区| 国产美女一区在线观看| 亚洲激情偷拍一区二区| 亚洲成av人无码不卡影片一| 亚洲美女美妇久久字幕组| 熟女人妻一区二区精品视频| 中文字幕av熟女人妻| 欧美中国日韩久久精品| 欧美精产国品一二三产品价格| 人妻凌辱欧美丰满熟妇| 99精品国产自在现线观看| 直接能看的国产av| 亚洲成a人片777777| 免费在线福利小视频| 国产乱子伦一二三区| 少妇一区二区三区久久久| 小穴多水久久精品免费看| 久久精品国产999| 亚洲精品高清自拍av| 青青草国内在线视频精选| 日本熟妇喷水xxx| 天天日天天天天天天天天天天 | 51国产偷自视频在线播放| 精品黑人一区二区三区久久国产| 一区二区三区久久久91| 99亚洲美女一区二区三区| 最后99天全集在线观看| 最新中文字幕免费视频| 精品乱子伦一区二区三区免费播| 亚洲va国产va欧美va在线| 白嫩白嫩美女极品国产在线观看| 粉嫩av懂色av蜜臀av| 欧美80老妇人性视频| 亚洲天堂精品福利成人av| 国产之丝袜脚在线一区二区三区| 福利视频网久久91| 国产精品免费不卡av| 精品久久婷婷免费视频| 国产a级毛久久久久精品| 日噜噜噜夜夜噜噜噜天天噜噜噜| 婷婷久久一区二区字幕网址你懂得| 欧美在线精品一区二区三区视频| 成人性黑人一级av| 在线播放国产黄色av| 亚洲熟妇x久久av久久| 美女少妇亚洲精选av| 在线观看操大逼视频| 伊人日日日草夜夜草| 日本少妇人妻xxxxxhd| 黑人大几巴狂插日本少妇| 大香蕉大香蕉大香蕉大香蕉大香蕉| 高清一区二区欧美系列| 亚洲av午夜免费观看| 日本男女操逼视频免费看| av欧美网站在线观看| 大香蕉日本伊人中文在线| 99视频精品全部15| 伊人精品福利综合导航| 亚洲av人人澡人人爽人人爱| 五十路在线观看完整版| 黄色无码鸡吧操逼视频| 成人av久久精品一区二区| 亚洲无线观看国产高清在线| 中文字幕av男人天堂| 99精品视频之69精品视频| 亚洲狠狠婷婷综合久久app| 精品久久久久久久久久久a√国产| 亚洲免费成人a v| 欧洲黄页网免费观看| 亚洲熟女女同志女同| 日本18禁久久久久久| 视频一区 视频二区 视频| 免费人成黄页网站在线观看国产 | 夜夜嗨av一区二区三区中文字幕| 国产97视频在线精品| 国产露脸对白在线观看| 红桃av成人在线观看| 国产成人精品久久二区91| 99re6热在线精品| 久久精品国产999| 色吉吉影音天天干天天操| 日本www中文字幕| 韩国一级特黄大片做受| 久久精品美女免费视频| 99久久成人日韩欧美精品| 欧美国产亚洲中英文字幕| 大鸡吧插逼逼视频免费看| 中国老熟女偷拍第一页| 国产av欧美精品高潮网站| 日韩美女综合中文字幕pp| 国产精品成久久久久三级蜜臀av| 免费岛国喷水视频在线观看 | 亚洲av无乱一区二区三区性色| 国产一线二线三线的区别在哪 | 国产又粗又硬又猛的毛片视频| 国产一级麻豆精品免费| 亚洲成人免费看电影| 亚洲福利午夜久久久精品电影网| 超碰在线中文字幕一区二区| 一个色综合男人天堂| 亚洲精品 欧美日韩| 不卡一不卡二不卡三| 好吊操视频这里只有精品| 国产亚洲成人免费在线观看| 亚洲Av无码国产综合色区| 日韩欧美一级aa大片| 亚洲av自拍偷拍综合| 国产va在线观看精品| 午夜频道成人在线91| 天天色天天操天天舔| 日本一区二区三区免费小视频| 亚洲福利午夜久久久精品电影网| 视频一区 二区 三区 综合| 日日爽天天干夜夜操| 香港三日本三韩国三欧美三级| 九色porny九色9l自拍视频| 成年人黄色片免费网站| 伊人综合免费在线视频| 高潮喷水在线视频观看| 国内精品在线播放第一页| 国产精品自拍视频大全| 中文字幕无码日韩专区免费| 人妻3p真实偷拍一二区| av久久精品北条麻妃av观看| 久久久久久九九99精品| 亚洲综合一区二区精品久久| 天天操天天射天天操天天天| 中文字幕高清免费在线人妻 | AV天堂一区二区免费试看| 99re国产在线精品| 在线成人日韩av电影| 日韩av有码中文字幕| 精品欧美一区二区vr在线观看| 日本阿v视频在线免费观看| 77久久久久国产精产品| 涩爱综合久久五月蜜臀| 91精品国产综合久久久蜜| 免费观看丰满少妇做受| 黄色片黄色片wyaa| 亚洲区美熟妇久久久久| 色在线观看视频免费的| 亚洲成人午夜电影在线观看| 欧美美女人体视频一区| 91免费福利网91麻豆国产精品| 91国内精品久久久久精品一| 熟女妇女老妇一二三区| 亚洲精品av在线观看| 五月天中文字幕内射| 免费观看理论片完整版| 中文字幕之无码色多多| 在线视频精品你懂的| 日本一区二区三区免费小视频| 中文字幕日本人妻中出| 欧美黄色录像免费看的| 1000小视频在线| 亚洲免费va在线播放| 欧美va亚洲va天堂va| 99热久久这里只有精品8| 红桃av成人在线观看| 播放日本一区二区三区电影| 午夜激情高清在线观看| 欧美另类重口味极品在线观看| 午夜精品在线视频一区| 国产视频一区二区午夜| 自拍偷拍日韩欧美一区二区| 91自产国产精品视频| 天堂av在线播放免费| 伊人成人在线综合网| 天天干夜夜操啊啊啊| 一级黄色片夫妻性生活| 亚洲av一妻不如妾| 亚洲无线观看国产高清在线| 国产精品自偷自拍啪啪啪| 欧美黑人性暴力猛交喷水| 国产精品自拍偷拍a| 在线免费观看99视频| 午夜在线精品偷拍一区二| 天天操天天干天天日狠狠插 | 91极品新人『兔兔』精品新作| 午夜精品一区二区三区福利视频| 亚洲av一妻不如妾| 最新日韩av传媒在线| 自拍偷拍日韩欧美一区二区| 久碰精品少妇中文字幕av| 成人福利视频免费在线| 色吉吉影音天天干天天操| 高潮视频在线快速观看国家快速| 天天日天天干天天舔天天射| 久久久人妻一区二区| caoporn蜜桃视频| 中文字幕免费福利视频6| 亚洲一区av中文字幕在线观看| 久精品人妻一区二区三区| 视频久久久久久久人妻| 大屁股熟女一区二区三区| 夜夜嗨av蜜臀av| 女同性ⅹxx女同hd| 91九色国产porny蝌蚪| 天天做天天干天天舔| 春色激情网欧美成人| 国产午夜亚洲精品麻豆| 男生舔女生逼逼视频| 99久久99久国产黄毛片| 九一传媒制片厂视频在线免费观看 | 亚洲国产成人在线一区| 超级碰碰在线视频免费观看| 亚洲第一黄色在线观看| 日本人竟这样玩学生妹| 黑人大几巴狂插日本少妇| 亚洲国产第一页在线观看| 中文字幕第三十八页久久| mm131美女午夜爽爽爽| 狠狠的往里顶撞h百合| 欧美女同性恋免费a| 女生被男生插的视频网站| 国产欧美精品一区二区高清| 国产免费av一区二区凹凸四季| 欧美另类重口味极品在线观看| 黄色录像鸡巴插进去| 久久热这里这里只有精品| 国产伦精品一区二区三区竹菊| 人妻少妇性色欲欧美日韩| 日韩一区二区三区三州| jiujiure精品视频在线| 中文字幕1卡1区2区3区| 在线播放 日韩 av| 大屁股熟女一区二区三区| 1769国产精品视频免费观看| 在线观看一区二区三级| 92福利视频午夜1000看 | 在线免费91激情四射 | 日韩无码国产精品强奸乱伦| yellow在线播放av啊啊啊| 91亚洲精品干熟女蜜桃频道| 天天日天天敢天天干| 骚货自慰被发现爆操| 亚洲一区二区三区精品视频在线| 亚洲成人熟妇一区二区三区 | 亚洲一区二区三区久久受| 一区二区三区四区视频| 日本黄色特一级视频| 91精品国产黑色丝袜| 老司机福利精品免费视频一区二区 | 成熟熟女国产精品一区| 第一福利视频在线观看| 欧美另类z0z变态| 又黄又刺激的午夜小视频| 久碰精品少妇中文字幕av | 久久久超爽一二三av| 日本成人一区二区不卡免费在线 | 日本xx片在线观看| 成人国产激情自拍三区| 日噜噜噜夜夜噜噜噜天天噜噜噜| 在线视频这里只有精品自拍| 91试看福利一分钟| 午夜毛片不卡在线看| 久久美欧人妻少妇一区二区三区 | 自拍 日韩 欧美激情| 天天摸天天干天天操科普| 日本啪啪啪啪啪啪啪| 亚洲免费成人a v| 97人人模人人爽人人喊| 日本少妇在线视频大香蕉在线观看 | 中出中文字幕在线观看| 亚洲欧美一卡二卡三卡| 66久久久久久久久久久| 中国产一级黄片免费视频播放| 三级等保密码要求条款| 大胸性感美女羞爽操逼毛片| 欧美中国日韩久久精品| 国产精品视频资源在线播放| 99的爱精品免费视频| 91超碰青青中文字幕| 午夜成午夜成年片在线观看| 亚洲国产成人最新资源| 一区二区三区四区视频| 国产午夜福利av导航| 日韩欧美亚洲熟女人妻| 久久精品国产999| 午夜91一区二区三区| 99精品一区二区三区的区| 日本在线一区二区不卡视频| 日本免费视频午夜福利视频| 亚洲激情,偷拍视频| 亚洲推理片免费看网站| 热99re69精品8在线播放| 国产夫妻视频在线观看免费 | 91精品资源免费观看| 福利午夜视频在线观看| 丝袜肉丝一区二区三区四区在线 | 天天操天天污天天射| 夜夜嗨av蜜臀av| 91久久国产成人免费网站| 欧美成人综合视频一区二区| 黄色大片免费观看网站| 欧美地区一二三专区| 伊人情人综合成人久久网小说 | 蜜臀av久久久久久久| 春色激情网欧美成人| 美味人妻2在线播放| 啊慢点鸡巴太大了啊舒服视频| 亚洲无码一区在线影院| 狠狠躁夜夜躁人人爽天天久天啪| 青青草在观免费国产精品| 40道精品招牌菜特色| 成人精品视频99第一页| 99国产精品窥熟女精品| 男女之间激情网午夜在线| 亚国产成人精品久久久| 免费在线黄色观看网站| 国产亚洲欧美45p| 人妻另类专区欧美制服| 韩国男女黄色在线观看| 国产精品黄页网站视频| 抽查舔水白紧大视频| 东京热男人的av天堂| 欧美一区二区三区在线资源 | 亚洲 清纯 国产com| 国产91久久精品一区二区字幕| 19一区二区三区在线播放| 动漫美女的小穴视频| 操日韩美女视频在线免费看| 国产精品久久久久国产三级试频| 99热99这里精品6国产| 亚洲 自拍 色综合图| 青青青青青手机视频| 久草视频首页在线观看| 午夜在线观看岛国av,com| 欧美va亚洲va天堂va| 色偷偷伊人大杳蕉综合网 | 天堂av在线最新版在线| 又粗又硬又猛又黄免费30| 亚洲高清视频在线不卡| 国产精品伦理片一区二区| 美女视频福利免费看| 天天操天天操天天碰| 国产亚洲国产av网站在线| 免费一级特黄特色大片在线观看| 国产女人被做到高潮免费视频| chinese国产盗摄一区二区 | 高潮喷水在线视频观看| 天天日天天透天天操| 一本一本久久a久久精品综合不卡 亚洲另类综合一区小说 | 午夜精品福利91av| 中文字幕乱码人妻电影| 自拍偷拍亚洲精品第2页| 特级无码毛片免费视频播放 | 无忧传媒在线观看视频| 日本后入视频在线观看| 成熟丰满熟妇高潮xx×xx| 亚洲免费在线视频网站| 亚洲精品ww久久久久久| 婷婷久久久综合中文字幕| 亚洲国产精品中文字幕网站| 中字幕人妻熟女人妻a62v网| 中文字幕网站你懂的| brazzers欧熟精品系列| 日本丰满熟妇BBXBBXHD| 国产成人无码精品久久久电影| 社区自拍揄拍尻屁你懂的| 日本少妇精品免费视频| 在线免费观看日本片| 精品亚洲在线免费观看| 9久在线视频只有精品| 18禁美女无遮挡免费| 欲满人妻中文字幕在线| 国产精品国色综合久久 | 自拍偷拍日韩欧美一区二区| 亚洲欧美一区二区三区电影| 青青青青青免费视频| 午夜国产福利在线观看| 人妻凌辱欧美丰满熟妇| 亚洲天堂有码中文字幕视频| 阿v天堂2014 一区亚洲| sejizz在线视频| 高清成人av一区三区| 国产黑丝高跟鞋视频在线播放| av男人天堂狠狠干| 欧美在线一二三视频| 亚洲精品高清自拍av| 五月激情婷婷久久综合网| 亚洲精品一区二区三区老狼| 又色又爽又黄的美女裸体| 2018最新中文字幕在线观看| 精品人妻每日一部精品| 人妻久久久精品69系列| 动漫美女的小穴视频| 在线观看一区二区三级| 超级福利视频在线观看| 成人色综合中文字幕| aⅴ五十路av熟女中出| 天天日天天摸天天爱| 老鸭窝日韩精品视频观看| 婷婷六月天中文字幕| 边摸边做超爽毛片18禁色戒| 国产福利小视频大全| 亚洲va国产va欧美va在线| 久久农村老妇乱69系列| 日韩美av高清在线| 欧美激情电影免费在线| 精品一区二区三四区| 亚洲国产成人在线一区| 丰满熟女午夜福利视频| 国产一区二区三免费视频| 久草极品美女视频在线观看| 国产精品国产三级国产午| 一区二区在线观看少妇| 一区二区三区av高清免费| 夜女神免费福利视频| 亚洲欧美自拍另类图片| 狠狠的往里顶撞h百合| 涩涩的视频在线观看视频| 高潮喷水在线视频观看| 亚洲护士一区二区三区| 日本性感美女视频网站| 青青青青青操视频在线观看| 亚洲男人的天堂a在线| 91国偷自产一区二区三区精品| 欧美日韩在线精品一区二区三| gogo国模私拍视频| 精品少妇一二三视频在线| 色哟哟国产精品入口| 偷拍美女一区二区三区| 亚洲嫩模一区二区三区| 欧美区一区二区三视频| 97成人免费在线观看网站| 2020久久躁狠狠躁夜夜躁| 国产丰满熟女成人视频| 欧美特级特黄a大片免费| 18禁精品网站久久| 亚洲无码一区在线影院| 性色蜜臀av一区二区三区| 精品美女在线观看视频在线观看| 午夜精品久久久久久99热| 五十路熟女人妻一区二| 天天操夜夜操天天操天天操| 天天日天天干天天要| 中文字幕无码一区二区免费| 日本丰满熟妇大屁股久久| 大屁股肉感人妻中文字幕在线| 日本啪啪啪啪啪啪啪| 亚洲精品一线二线在线观看| 色花堂在线av中文字幕九九| 中文字幕在线乱码一区二区| 涩爱综合久久五月蜜臀| 91精品国产观看免费| 久久久久久久精品成人热| 婷婷久久一区二区字幕网址你懂得| 久久久精品国产亚洲AV一| 日韩中文字幕在线播放第二页 | 66久久久久久久久久久| 午夜久久久久久久99| 干逼又爽又黄又免费的视频| 欧美美女人体视频一区| 国产精品一区二区三区蜜臀av| 久草电影免费在线观看| 一级a看免费观看网站| 一二三中文乱码亚洲乱码one| av在线资源中文字幕| 黑人巨大精品欧美视频| 福利视频广场一区二区| 亚洲一级特黄特黄黄色录像片| 精品久久久久久高潮| 国产精品久久久久久久精品视频| 最新欧美一二三视频| 免费一级特黄特色大片在线观看| 在线观看亚洲人成免费网址| 日韩二区视频一线天婷婷五| 一区二区三区毛片国产一区| 干逼又爽又黄又免费的视频| 成人蜜桃美臀九一一区二区三区 | 天天日天天透天天操| 激情啪啪啪啪一区二区三区| 丰满少妇人妻xxxxx| 亚洲精品成人网久久久久久小说| 亚洲av成人免费网站| 果冻传媒av一区二区三区| 久久久久久cao我的性感人妻| 97小视频人妻一区二区| 97香蕉碰碰人妻国产樱花| 日韩欧美制服诱惑一区在线| 亚洲 欧美 自拍 偷拍 在线| 99热99re在线播放| 91免费放福利在线观看| 一区二区视频在线观看视频在线| 人人人妻人人澡人人| 人妻久久无码中文成人| 亚洲天堂精品福利成人av| 水蜜桃一区二区三区在线观看视频| 国产在线一区二区三区麻酥酥 | 制服丝袜在线人妻中文字幕| 青青青青爽手机在线| 早川濑里奈av黑人番号| 影音先锋女人av噜噜色| 国产真实灌醉下药美女av福利| 蜜桃视频入口久久久| 国产精品成人xxxx| 久久久久只精品国产三级| 天天操夜夜操天天操天天操| 亚洲免费国产在线日韩| 极品丝袜一区二区三区| 亚洲欧美精品综合图片小说| 午夜影院在线观看视频羞羞羞| 天天操天天干天天插| 青青青青操在线观看免费| 91在线免费观看成人| 绯色av蜜臀vs少妇| 日本少妇高清视频xxxxx| 免费十精品十国产网站| 久久精品视频一区二区三区四区 | 91破解版永久免费| 97人妻色免费视频| 一区二区三区四区视频| 亚洲1卡2卡三卡4卡在线观看 | 小穴多水久久精品免费看| www日韩毛片av| 国产精品视频一区在线播放| 香港一级特黄大片在线播放| 久久久久久久99精品| 大香蕉日本伊人中文在线| 中文字幕亚洲久久久| 99精品亚洲av无码国产另类| 啊慢点鸡巴太大了啊舒服视频| 中文字幕中文字幕 亚洲国产| 啊用力插好舒服视频| 熟女视频一区,二区,三区| 欧美日韩人妻久久精品高清国产| 蝴蝶伊人久久中文娱乐网| 国产一区二区三免费视频| 亚洲欧美激情中文字幕| 密臀av一区在线观看| 蜜桃色婷婷久久久福利在线| 77久久久久国产精产品| 日本人妻少妇18—xx| 中文字幕在线第一页成人| 天堂女人av一区二区| 全国亚洲男人的天堂| 成人精品在线观看视频| 经典亚洲伊人第一页| 久久精品国产23696| 2022精品久久久久久中文字幕| 欧美老鸡巴日小嫩逼| 亚洲图片欧美校园春色| 大鸡吧插入女阴道黄色片| 久草电影免费在线观看| 日韩中文字幕精品淫| aiss午夜免费视频| 亚洲欧洲av天堂综合| 青青草国内在线视频精选| 老有所依在线观看完整版| 免费看国产又粗又猛又爽又黄视频| 亚洲精品麻豆免费在线观看| 人妻少妇av在线观看| 欧美黄片精彩在线免费观看| 欧美亚洲中文字幕一区二区三区| 亚洲av在线观看尤物| 中文字幕 亚洲av| 欧美viboss性丰满| av天堂中文字幕最新| 欧美成人综合视频一区二区| sspd152中文字幕在线| 中文字幕av熟女人妻| 日本韩国在线观看一区二区| 极品粉嫩小泬白浆20p主播| 91麻豆精品91久久久久同性| 色吉吉影音天天干天天操| 中国视频一区二区三区| 绝顶痉挛大潮喷高潮无码| 自拍偷拍亚洲欧美在线视频| 国产福利在线视频一区| 特黄老太婆aa毛毛片| 一级黄色av在线观看| 91快播视频在线观看| 香港一级特黄大片在线播放| 91精品国产综合久久久蜜| 红桃av成人在线观看| 国产精品福利小视频a| 粉嫩av蜜乳av蜜臀| 91麻豆精品91久久久久同性| 三级黄色亚洲成人av| 亚洲国产欧美一区二区三区久久| 在线免费视频 自拍| av在线免费观看亚洲天堂| 日日夜夜大香蕉伊人| 国产精品成久久久久三级蜜臀av| 一色桃子久久精品亚洲| 97精品人妻一区二区三区精品| 亚洲天堂第一页中文字幕| 加勒比视频在线免费观看| 人妻少妇中文有码精品| 亚洲女人的天堂av| 亚洲欧洲av天堂综合| 少妇高潮无套内谢麻豆| 毛茸茸的大外阴中国视频| 欧美日本在线视频一区| 五十路丰满人妻熟妇| 欧洲国产成人精品91铁牛tv| aaa久久久久久久久| 国产成人精品福利短视频| 午夜频道成人在线91| 在线观看免费岛国av| 欧美一区二区三区久久久aaa| 中文字幕之无码色多多| av在线免费中文字幕| 无码中文字幕波多野不卡| 中国视频一区二区三区| 天天插天天狠天天操| av老司机亚洲一区二区| 亚洲熟妇久久无码精品| 国产福利小视频大全| 欧美美女人体视频一区| 成人综合亚洲欧美一区| 青青草国内在线视频精选| 亚洲国产成人最新资源| 日本三极片视频网站观看| 久久久久久久精品成人热| 99精品视频在线观看婷婷| 岛国一区二区三区视频在线| 亚洲精品无码色午夜福利理论片| 青青青国产免费视频| 手机看片福利盒子日韩在线播放| 亚洲中文字字幕乱码| 色哟哟国产精品入口| 日韩美女精品视频在线观看网站 | 欧亚日韩一区二区三区观看视频| 国产黄网站在线观看播放| 少妇与子乱在线观看| 视频一区二区综合精品| 青青尤物在线观看视频网站| 99久久成人日韩欧美精品| 青青青视频手机在线观看| 黄色片黄色片wyaa| yy96视频在线观看| 亚洲美女自偷自拍11页| 中文字幕—97超碰网| 久精品人妻一区二区三区| 亚洲天堂有码中文字幕视频| 日本韩国在线观看一区二区| 成人国产激情自拍三区| 老熟妇凹凸淫老妇女av在线观看| 美女 午夜 在线视频| 日韩亚洲高清在线观看| 国产麻豆国语对白露脸剧情| 喷水视频在线观看这里只有精品| 日本在线不卡免费视频| 国产日韩精品一二三区久久久| 老司机午夜精品视频资源| 五十路熟女av天堂| 91精品高清一区二区三区| 国产精品自拍视频大全| 欧美地区一二三专区| 99热久久这里只有精品8| 久草视频 久草视频2| 熟女人妻在线观看视频| 亚洲卡1卡2卡三卡四老狼| 激情五月婷婷免费视频| 亚洲另类图片蜜臀av| 国产福利小视频免费观看| 91高清成人在线视频| 亚洲午夜在线视频福利| 日本女人一级免费片| 91精品国产高清自在线看香蕉网 | 超级碰碰在线视频免费观看| av天堂资源最新版在线看| 小穴多水久久精品免费看| 亚洲欧美激情中文字幕| 亚洲青青操骚货在线视频| 国内资源最丰富的网站| 动漫av网站18禁| 日韩av免费观看一区| 五十路丰满人妻熟妇| 一区二区三区视频,福利一区二区| 国产精品入口麻豆啊啊啊| 无忧传媒在线观看视频| 水蜜桃国产一区二区三区| 91chinese在线视频| 人人妻人人澡欧美91精品| 91精品国产综合久久久蜜| 最新91九色国产在线观看| 91国内精品久久久久精品一| 成人高清在线观看视频| 在线观看一区二区三级| 91中文字幕免费在线观看| 午夜毛片不卡免费观看视频| 国产亚洲成人免费在线观看| 美女操逼免费短视频下载链接| 精品高跟鞋丝袜一区二区| h国产小视频福利在线观看| 欧美色婷婷综合在线| 亚洲精品乱码久久久本| 欧美精产国品一二三产品区别大吗| 98视频精品在线观看| 精品久久久久久久久久久久人妻| 91中文字幕免费在线观看| 最近中文字幕国产在线| 做爰视频毛片下载蜜桃视频1| 插逼视频双插洞国产操逼插洞| 国产成人自拍视频播放| 中文字幕一区二区三区蜜月| 直接能看的国产av| 日韩av有码中文字幕| 动漫黑丝美女的鸡巴| 色爱av一区二区三区| 青青热久免费精品视频在线观看 | 97人妻人人澡爽人人精品| 亚洲欧美另类自拍偷拍色图| 精品少妇一二三视频在线| 狠狠操狠狠操免费视频| 3337p日本欧洲大胆色噜噜| 天天日天天天天天天天天天天| 日韩美在线观看视频黄| 老鸭窝日韩精品视频观看| 美女吃鸡巴操逼高潮视频| 狠狠操狠狠操免费视频| 国产精品黄色的av| 爱有来生高清在线中文字幕| 中国老熟女偷拍第一页| 自拍偷拍亚洲欧美在线视频| 免费黄高清无码国产| 亚洲无线观看国产高清在线| 91国内精品久久久久精品一| 人人妻人人爽人人添夜| 91福利在线视频免费观看| 天天日天天干天天要| 青青擦在线视频国产在线| 天天做天天爽夜夜做少妇| 大胆亚洲av日韩av| 亚洲av可乐操首页| 亚洲熟女女同志女同| 美女骚逼日出水来了| 日韩精品中文字幕在线| 国产成人精品一区在线观看| 老鸭窝日韩精品视频观看| 男人插女人视频网站| 2020国产在线不卡视频| 亚洲老熟妇日本老妇| 十八禁在线观看地址免费| 中文字幕乱码av资源| 美女在线观看日本亚洲一区| 国产刺激激情美女网站| 天天日天天天天天天天天天天| 国产午夜男女爽爽爽爽爽视频| 国产va在线观看精品| 特级无码毛片免费视频播放| 日本成人一区二区不卡免费在线| 中英文字幕av一区| 成年女人免费播放视频| 免费高清自慰一区二区三区网站| 亚洲国产欧美国产综合在线| 老司机你懂得福利视频| 日韩精品中文字幕在线| 久久农村老妇乱69系列| 激情啪啪啪啪一区二区三区| 国产一区二区神马久久| 东京干手机福利视频| xxx日本hd高清| 熟女91pooyn熟女| 亚洲av日韩高清hd| 女同互舔一区二区三区| 2022精品久久久久久中文字幕| 中文字幕乱码人妻电影| 亚洲国际青青操综合网站| brazzers欧熟精品系列| 91片黄在线观看喷潮| 国产视频在线视频播放| 自拍偷拍,中文字幕| av视网站在线观看| 曰本无码人妻丰满熟妇啪啪| 天天做天天干天天舔| 国产麻豆精品人妻av| 青青草视频手机免费在线观看| 国产又粗又猛又爽又黄的视频美国 | 日辽宁老肥女在线观看视频| www日韩a级s片av| 在线观看av亚洲情色| 亚洲一区av中文字幕在线观看| 97精品人妻一区二区三区精品| 在线视频这里只有精品自拍| ka0ri在线视频| 亚洲中文精品人人免费| 中文字幕一区二区三区人妻大片| 桃色视频在线观看一区二区| 91超碰青青中文字幕| 日本av在线一区二区三区| 久久久超爽一二三av| 果冻传媒av一区二区三区| 久草视频在线一区二区三区资源站 | 大鸡巴后入爆操大屁股美女| 亚欧在线视频你懂的| 一区二区三区四区视频在线播放| 日本av在线一区二区三区| 亚洲国产成人无码麻豆艾秋| 91久久精品色伊人6882| 成人亚洲精品国产精品| 美洲精品一二三产区区别| 黄色的网站在线免费看| 亚洲精品国品乱码久久久久| 美女在线观看日本亚洲一区| 天天干天天插天天谢| 天天操夜夜骑日日摸| 一级a看免费观看网站| 超pen在线观看视频公开97| 91免费观看在线网站| 久久精品视频一区二区三区四区 | 日本三极片中文字幕| sspd152中文字幕在线| av高潮迭起在线观看| 亚洲欧美另类手机在线| 成人免费毛片aaaa| 1区2区3区不卡视频| 中文字幕1卡1区2区3区| 爆乳骚货内射骚货内射在线 | 偷拍美女一区二区三区| 精品老妇女久久9g国产| 亚洲人人妻一区二区三区| 亚洲一区二区三区av网站| 天天操夜夜操天天操天天操| 免费在线看的黄网站| 好了av中文字幕在线| 亚洲1卡2卡三卡4卡在线观看| 日韩亚洲高清在线观看| 丝袜美腿视频诱惑亚洲无| 亚洲视频乱码在线观看| 天天射夜夜操狠狠干| 欧美特色aaa大片| 天天干天天日天天谢综合156 | www天堂在线久久| 综合页自拍视频在线播放| 大香蕉大香蕉大香蕉大香蕉大香蕉| 日本a级视频老女人| 精品一区二区三四区| 黄片三级三级三级在线观看| 国产福利小视频大全| 岛国青草视频在线观看| 亚洲一级av无码一级久久精品| 人人妻人人爱人人草| 天天躁日日躁狠狠躁躁欧美av| 午夜极品美女福利视频| 99精品国产免费久久| 在线视频自拍第三页| 久久亚洲天堂中文对白| 欧美日韩不卡一区不区二区| 韩国三级aaaaa高清视频| 日本熟女50视频免费| 久久这里只有精品热视频 | av中文字幕在线导航| 日韩三级黄色片网站| 在线亚洲天堂色播av电影| 九九热99视频在线观看97| 97精品综合久久在线| 中文亚洲欧美日韩无线码| 2018最新中文字幕在线观看 | 人人爱人人妻人人澡39| 中文字幕乱码人妻电影| 免费在线看的黄网站| 亚洲一区av中文字幕在线观看| 欧美黑人巨大性xxxxx猛交| 天天操天天爽天天干| 国产精品国产精品一区二区| 亚洲免费在线视频网站| 最近中文2019年在线看| 清纯美女在线观看国产| 久久久久国产成人精品亚洲午夜| 91p0rny九色露脸熟女| 少妇人妻二三区视频| 国产精品自偷自拍啪啪啪| 亚洲综合在线观看免费| 91亚洲手机在线视频播放| 三级黄色亚洲成人av| 精品日产卡一卡二卡国色天香| 男女之间激情网午夜在线| av在线资源中文字幕| 国产aⅴ一线在线观看| 国产三级影院在线观看| 亚洲 国产 成人 在线| 丝袜美腿欧美另类 中文字幕| 激情人妻校园春色亚洲欧美| 超碰97人人做人人爱| 欧美日本国产自视大全| 日本高清成人一区二区三区| 国产精品国产精品一区二区| 亚洲最大免费在线观看| 日韩近亲视频在线观看| 精品美女福利在线观看| 欧亚日韩一区二区三区观看视频| 2021最新热播中文字幕| 色爱av一区二区三区| 馒头大胆亚洲一区二区| 成人av亚洲一区二区| 免费观看理论片完整版| 亚洲欧美综合另类13p| 老鸭窝日韩精品视频观看| 男女第一次视频在线观看| 天堂av在线官网中文| 日韩二区视频一线天婷婷五| 午夜美女少妇福利视频| 在线观看一区二区三级| 农村胖女人操逼视频| 亚洲人妻30pwc| 天天做天天干天天舔| 99人妻视频免费在线| 亚洲另类在线免费观看| 日本最新一二三区不卡在线 | 婷婷久久久综合中文字幕| 任你操任你干精品在线视频| 早川濑里奈av黑人番号| 97人人模人人爽人人喊| 换爱交换乱高清大片| 80电影天堂网官网| 岳太深了紧紧的中文字幕| 97人妻人人澡爽人人精品| 国际av大片在线免费观看| 亚洲精品高清自拍av| 欧美精品欧美极品欧美视频 | 综合页自拍视频在线播放| 亚洲粉嫩av一区二区三区| 91国产在线免费播放| 免费国产性生活视频| 欧美久久久久久三级网| 中文字幕第三十八页久久| 日韩一区二区电国产精品| 亚洲精品ww久久久久久| 国产剧情演绎系列丝袜高跟| 天天做天天爽夜夜做少妇| 亚洲2021av天堂| 丰满熟女午夜福利视频| 国产欧美精品一区二区高清| 成人激情文学网人妻| 亚洲成人三级在线播放| 国产熟妇乱妇熟色T区| 二区中出在线观看老师 | 欧美老鸡巴日小嫩逼| 色婷婷综合激情五月免费观看| 午夜激情高清在线观看| 经典av尤物一区二区| 国产午夜无码福利在线看| 亚洲 中文字幕在线 日韩| 亚洲图库另类图片区| 久久久久久久久久久久久97| 国产成人精品亚洲男人的天堂| 18禁美女羞羞免费网站| 中文亚洲欧美日韩无线码| 曰本无码人妻丰满熟妇啪啪| 亚洲成a人片777777| 国产欧美精品一区二区高清| 黄色成年网站午夜在线观看| 可以在线观看的av中文字幕| 欧美精品中文字幕久久二区| 亚洲欧美国产综合777| 绝顶痉挛大潮喷高潮无码| 一区二区三区四区五区性感视频 | 亚洲成av人无码不卡影片一| 亚洲视频在线观看高清| 丝袜国产专区在线观看| 大骚逼91抽插出水视频| 青青尤物在线观看视频网站| 青青草原色片网站在线观看| 久久久超爽一二三av| 国产精品久久久久国产三级试频| 女同久久精品秋霞网| 香港三日本三韩国三欧美三级| 播放日本一区二区三区电影| 久久久久久久一区二区三| 东京干手机福利视频| 干逼又爽又黄又免费的视频| 宅男噜噜噜666免费观看| 中文字幕在线第一页成人 | 欧美一区二区三区久久久aaa| 亚洲青青操骚货在线视频| 美女av色播在线播放| av天堂中文字幕最新| 国产 在线 免费 精品| 国产超码片内射在线| 午夜精彩视频免费一区| 亚洲 色图 偷拍 欧美| 亚洲综合一区二区精品久久| 高潮视频在线快速观看国家快速| 11久久久久久久久久久| 亚洲va国产va欧美精品88| 日韩成人免费电影二区| 日本精品美女在线观看| 91精品综合久久久久3d动漫| 欧美专区日韩专区国产专区| 最新91精品视频在线| 福利视频广场一区二区| 在线免费91激情四射 | 91大屁股国产一区二区| 最新国产精品拍在线观看| 日日夜夜大香蕉伊人| 91免费福利网91麻豆国产精品| 男生用鸡操女生视频动漫| 成人国产激情自拍三区| 欧美国品一二三产区区别| 大鸡巴插入美女黑黑的阴毛| 日韩美女福利视频网| 97少妇精品在线观看| 黄色片年轻人在线观看| 后入美女人妻高清在线| 99精品国产aⅴ在线观看| 久久精品亚洲国产av香蕉| 黄色片黄色片wyaa| 少妇系列一区二区三区视频| 亚洲天堂成人在线观看视频网站| 亚洲福利精品视频在线免费观看| 亚洲无码一区在线影院| 无码精品一区二区三区人| 熟女国产一区亚洲中文字幕| 97成人免费在线观看网站| 黄色在线观看免费观看在线| 日韩熟女av天堂系列| 日韩视频一区二区免费观看| 亚洲男人让女人爽的视频| 99热99re在线播放| 人人人妻人人澡人人| 一级黄色av在线观看| 亚洲一区二区三区偷拍女厕91| 美女张开腿让男生操在线看| 午夜极品美女福利视频| 青青草人人妻人人妻| 欧美精品激情在线最新观看视频| 视频在线亚洲一区二区| 国产麻豆乱子伦午夜视频观看| 在线视频这里只有精品自拍| 熟妇一区二区三区高清版| 成年午夜免费无码区| 91成人在线观看免费视频| 男人操女人的逼免费视频| 午夜福利人人妻人人澡人人爽| 日本av在线一区二区三区| 天天日夜夜操天天摸| 精品少妇一二三视频在线| 曰本无码人妻丰满熟妇啪啪| 91麻豆精品传媒国产黄色片| 国产精品久久久久久久久福交| 欧美国品一二三产区区别| 国产精彩对白一区二区三区| 99精品国产免费久久| 午夜极品美女福利视频| 午夜激情精品福利视频| 国产中文精品在线观看| 日本免费视频午夜福利视频| 97青青青手机在线视频| 亚洲狠狠婷婷综合久久app| av资源中文字幕在线观看| 日本人竟这样玩学生妹| 北条麻妃肉色丝袜视频| 小泽玛利亚视频在线观看| 日韩欧美一级精品在线观看| 天码人妻一区二区三区在线看| 免费费一级特黄真人片| 日本男女操逼视频免费看| 最新国产精品拍在线观看| 日本又色又爽又黄又粗| 亚洲免费在线视频网站| 粉嫩欧美美人妻小视频| 国产日韩精品一二三区久久久| 91麻豆精品久久久久| 国产一区成人在线观看视频| 老司机免费视频网站在线看| 国产精品久久综合久久| 国产97视频在线精品| 天天干夜夜操啊啊啊| 99久久超碰人妻国产| 黄色的网站在线免费看| 日韩欧美一级黄片亚洲| 66久久久久久久久久久| 国产va在线观看精品| 婷婷综合蜜桃av在线| 亚洲欧美久久久久久久久| 美洲精品一二三产区区别| 黄片大全在线观看观看| 国产清纯美女al在线| 亚洲1区2区3区精华液| 2020av天堂网在线观看| 亚洲狠狠婷婷综合久久app| 夜色福利视频在线观看| 91老师蜜桃臀大屁股| 91色秘乱一区二区三区| 精品老妇女久久9g国产| 亚洲天天干 夜夜操| 欧美精产国品一二三产品价格| 97人妻总资源视频| 无码中文字幕波多野不卡| 夜鲁夜鲁狠鲁天天在线| 国产真实灌醉下药美女av福利| 在线免费观看av日韩| 热久久只有这里有精品| rct470中文字幕在线| 丝袜肉丝一区二区三区四区在线| 成年女人免费播放视频| 欧美日韩亚洲国产无线码| a v欧美一区=区三区| 亚洲一区二区三区久久受| 动漫精品视频在线观看| 黑人巨大的吊bdsm| 日韩欧美在线观看不卡一区二区| 国产剧情演绎系列丝袜高跟| 国产精品熟女久久久久浪潮| 国内精品在线播放第一页| 亚洲熟女久久久36d| 337p日本大胆欧美人| 狠狠鲁狠狠操天天晚上干干| 日韩av免费观看一区| 一区二区三区日韩久久| 中国把吊插入阴蒂的视频| 91亚洲国产成人精品性色| 在线观看免费av网址大全| 老师让我插进去69AV| 国产精品视频资源在线播放| 免费一级特黄特色大片在线观看| 免费岛国喷水视频在线观看| 激情五月婷婷免费视频| 欧美一区二区中文字幕电影| caoporn蜜桃视频| 欧美精品欧美极品欧美视频| 欧美男同性恋69视频| 75国产综合在线视频| 狠狠躁夜夜躁人人爽天天久天啪| 亚洲熟妇久久无码精品| 亚洲特黄aaaa片| 青青操免费日综合视频观看| 粉嫩av蜜乳av蜜臀| 一二三区在线观看视频| 亚洲一区二区三区在线高清| 天天日天天日天天擦| 日韩一个色综合导航| 国产精品污污污久久| 热久久只有这里有精品| 最近的中文字幕在线mv视频| 免费看国产av网站| 2021年国产精品自拍| 亚洲卡1卡2卡三卡四老狼| 午夜在线一区二区免费| 玩弄人妻熟妇性色av少妇| 久久久久久久久久一区二区三区| 久久精品久久精品亚洲人| 亚洲图片偷拍自拍区| 亚洲成人熟妇一区二区三区| 中文字幕在线观看极品视频| 国产激情av网站在线观看| 国产1区,2区,3区| 人妻少妇亚洲一区二区| 色在线观看视频免费的| 黄色视频成年人免费观看| 婷婷综合蜜桃av在线| 亚洲一区二区三区久久受| 亚洲精品无码色午夜福利理论片| 欧美一区二区三区激情啪啪啪| 亚洲码av无色中文| 天天操天天污天天射| 中字幕人妻熟女人妻a62v网 | 日本熟女50视频免费| 亚洲超碰97人人做人人爱| 东京干手机福利视频| 国产精品黄色的av| 一个人免费在线观看ww视频 | 国产精彩对白一区二区三区| 亚洲 欧美 自拍 偷拍 在线| 中文字幕一区二区三区蜜月| 中文字幕亚洲久久久| 激情人妻校园春色亚洲欧美| 国产美女精品福利在线| 东京干手机福利视频| 一区二区三区毛片国产一区| 馒头大胆亚洲一区二区| 岛国青草视频在线观看| 18禁网站一区二区三区四区 | 在线观看的黄色免费网站| 日本韩国在线观看一区二区| 天天日天天摸天天爱| 视频一区二区三区高清在线| 自拍偷拍日韩欧美亚洲| 亚洲av琪琪男人的天堂| 国产a级毛久久久久精品| 欧美国品一二三产区区别| 午夜精品一区二区三区更新| av老司机精品在线观看| 久草福利电影在线观看| 日本少妇高清视频xxxxx | 亚洲午夜精品小视频| 亚洲高清视频在线不卡| 欧美日韩国产一区二区三区三州| 免费观看丰满少妇做受| 国产在线自在拍91国语自产精品| 密臀av一区在线观看| 亚洲一区二区人妻av| 亚洲日产av一区二区在线| 亚洲久久午夜av一区二区| 中文字幕高清免费在线人妻| 日本在线不卡免费视频| 日本少妇在线视频大香蕉在线观看 | 超鹏97历史在线观看| 天天日天天舔天天射进去| 日日操综合成人av| 青青草原色片网站在线观看| 成年人啪啪视频在线观看| 亚洲激情偷拍一区二区| 绝顶痉挛大潮喷高潮无码 | 国产白袜脚足J棉袜在线观看| 免费在线观看视频啪啪 | 在线成人日韩av电影| 亚洲麻豆一区二区三区| 久久久人妻一区二区| 亚洲国产成人最新资源| 亚洲国产欧美一区二区三区…| 欧美xxx成人在线| 2022国产综合在线干| 中文字幕 码 在线视频| 国语对白xxxx乱大交| 99婷婷在线观看视频| 欧美3p在线观看一区二区三区| 中英文字幕av一区| 天天做天天干天天操天天射| 青青草原色片网站在线观看 | 一区二区三区的久久的蜜桃的视频| 日本三极片视频网站观看| 欧美日韩精品永久免费网址| 美女小视频网站在线| 亚洲护士一区二区三区| yy6080国产在线视频| yy6080国产在线视频| 5528327男人天堂| 91欧美在线免费观看| 国产精品福利小视频a| 人妻久久久精品69系列| 国产精品久久久久久美女校花| 性欧美激情久久久久久久| 国产麻豆乱子伦午夜视频观看| 日本精品美女在线观看| 天天日天天日天天擦| 日本一二三中文字幕| 久久丁香婷婷六月天| 中文字幕AV在线免费看 | 一本久久精品一区二区| 特大黑人巨大xxxx| 亚洲另类综合一区小说| 97成人免费在线观看网站| 亚洲成人午夜电影在线观看| 午夜精品一区二区三区福利视频| 91免费放福利在线观看| 国产高潮无码喷水AV片在线观看| 亚洲欧美激情国产综合久久久| 老司机99精品视频在线观看 | 四川五十路熟女av| 在线免费观看欧美小视频| 韩国三级aaaaa高清视频| 偷青青国产精品青青在线观看| 激情色图一区二区三区| 人妻熟女在线一区二区| 2020久久躁狠狠躁夜夜躁| 男人在床上插女人视频| 五色婷婷综合狠狠爱| 岳太深了紧紧的中文字幕| 亚洲激情偷拍一区二区| 亚洲一区二区三区五区| 国产精品手机在线看片| 98精产国品一二三产区区别| 91国语爽死我了不卡| 青青草视频手机免费在线观看| 中文字幕欧美日韩射射一| 福利午夜视频在线观看| 91国语爽死我了不卡| 999久久久久999| 国产亚洲精品视频合集| 中文字幕在线免费第一页| 亚洲一级 片内射视正片| yellow在线播放av啊啊啊| 啊用力插好舒服视频| 中文字幕人妻熟女在线电影| 国产高清精品一区二区三区| 乱亲女秽乱长久久久| 六月婷婷激情一区二区三区| 自拍偷拍亚洲精品第2页| 日韩精品中文字幕福利| 91在线免费观看成人| 国内自拍第一页在线观看| 亚洲av日韩av网站| 99婷婷在线观看视频| 欧美少妇性一区二区三区| 色97视频在线播放| 国产va在线观看精品| 天天做天天干天天操天天射| 亚洲国产第一页在线观看| 日韩av大胆在线观看| 夜夜操,天天操,狠狠操| 老司机福利精品免费视频一区二区| av中文字幕电影在线看| av中文字幕在线导航| 在线观看操大逼视频| 亚洲欧美激情中文字幕| 538精品在线观看视频| 操操网操操伊剧情片中文字幕网| 成年午夜影片国产片| 一区二区三区美女毛片| 国产精品熟女久久久久浪潮| 亚洲欧美精品综合图片小说| 操日韩美女视频在线免费看| 日本少妇人妻xxxxxhd| 国产一级精品综合av| 在线 中文字幕 一区| 人妻凌辱欧美丰满熟妇| 91精品国产黑色丝袜| 美女av色播在线播放| 亚洲青青操骚货在线视频| 亚洲综合自拍视频一区| 国产精品成久久久久三级蜜臀av | 在线免费观看国产精品黄色| 任我爽精品视频在线播放| 99精品国产aⅴ在线观看| 亚洲乱码中文字幕在线| 97黄网站在线观看| 免费看国产av网站| 国产一级麻豆精品免费| 93精品视频在线观看| 国产精品一二三不卡带免费视频| 大香蕉玖玖一区2区| 欧美日韩亚洲国产无线码| 午夜精品一区二区三区福利视频 | 男人插女人视频网站| 亚洲一区久久免费视频| 男女啪啪啪啪啪的网站| okirakuhuhu在线观看| 日本女大学生的黄色小视频| 另类av十亚洲av| 久久久久久久久久一区二区三区 | 亚洲熟色妇av日韩熟色妇在线| 福利视频网久久91| 中文字幕熟女人妻久久久| 国产精品久久9999| 91精品综合久久久久3d动漫| 天天射,天天操,天天说| 国产精品久久久久久久女人18| 在线视频国产欧美日韩| 亚洲一区二区三区久久午夜| 国产高潮无码喷水AV片在线观看| 97青青青手机在线视频| 国产内射中出在线观看| 中文字幕av一区在线观看 | 黄色在线观看免费观看在线| 东京热男人的av天堂| 国产成人精品亚洲男人的天堂| 人人在线视频一区二区| 粗大的内捧猛烈进出爽大牛汉子| 一区二区三区日本伦理| 中国熟女一区二区性xx| 白嫩白嫩美女极品国产在线观看| 日本熟妇一区二区x x| 天堂资源网av中文字幕| 国产高清在线观看1区2区| 大鸡吧插逼逼视频免费看 | 欧美成人精品欧美一级黄色| 国产日韩欧美视频在线导航| 国产一区二区三免费视频| 日韩亚洲高清在线观看| 51国产成人精品视频| 久久这里有免费精品| 97国产精品97久久| 日韩一个色综合导航| 中文字幕日韩91人妻在线| av一本二本在线观看| 亚洲欧美国产麻豆综合| 日本av熟女在线视频| 天天干天天操天天摸天天射| 老师让我插进去69AV| 午夜毛片不卡免费观看视频 | 不卡一不卡二不卡三| 四川乱子伦视频国产vip| 亚洲国产美女一区二区三区软件 | 欧美亚洲国产成人免费在线| 国产亚洲四十路五十路| 欧美精品一区二区三区xxxx| 人人妻人人爱人人草| 老鸭窝在线观看一区| 国产女人露脸高潮对白视频| 中文字幕av熟女人妻| 99精品国产aⅴ在线观看| 97超碰人人搞人人| rct470中文字幕在线| 动漫精品视频在线观看| 亚洲男人在线天堂网| 大鸡巴后入爆操大屁股美女| 国产精品一区二区久久久av| 久久久精品欧洲亚洲av| 亚洲美女自偷自拍11页| 老师啊太大了啊啊啊尻视频| 亚洲欧美色一区二区| 骚逼被大屌狂草视频免费看| 搡老熟女一区二区在线观看| 国产视频在线视频播放| 成人综合亚洲欧美一区| 精品suv一区二区69| 91精品资源免费观看| 精品亚洲国产中文自在线| 国产在线免费观看成人| 天堂av狠狠操蜜桃| 青青草精品在线视频观看| 亚洲av日韩av第一区二区三区| 日本性感美女三级视频| 久草视频首页在线观看| 国产精品视频欧美一区二区| av久久精品北条麻妃av观看| 欧洲黄页网免费观看| 天天日夜夜干天天操| 亚洲最大免费在线观看| 少妇人妻久久久久视频黄片| 在线免费观看国产精品黄色| 传媒在线播放国产精品一区| 中文字幕中文字幕 亚洲国产| 欧美精品国产综合久久| 亚洲一区久久免费视频| 福利午夜视频在线观看| 青青青爽视频在线播放| 一本一本久久a久久精品综合不卡| 一区二区三区在线视频福利| 日本三极片视频网站观看| 美女被肏内射视频网站| 91九色porny国产蝌蚪视频| 日本性感美女视频网站| 男人和女人激情视频| 成年人的在线免费视频| 五十路熟女av天堂| 午夜福利资源综合激情午夜福利资 | 99精品视频在线观看婷婷| 黄色黄色黄片78在线| 国产精品黄片免费在线观看| 含骚鸡巴玩逼逼视频| 国产内射中出在线观看| 人妻丰满熟妇综合网| 欧美精产国品一二三区| 熟女在线视频一区二区三区| 人妻凌辱欧美丰满熟妇| 日本欧美视频在线观看三区| 五月婷婷在线观看视频免费| 免费观看成年人视频在线观看| 中文字幕人妻av在线观看| 欧美黄色录像免费看的| 欧美熟妇一区二区三区仙踪林| 国产实拍勾搭女技师av在线| 综合激情网激情五月五月婷婷| 9国产精品久久久久老师 | av黄色成人在线观看| 99精品亚洲av无码国产另类| 五十路熟女人妻一区二区9933 | 成年人黄色片免费网站| 亚洲综合乱码一区二区| 午夜毛片不卡免费观看视频 | 国产真实乱子伦a视频 | 成人蜜桃美臀九一一区二区三区| 91精品综合久久久久3d动漫| 水蜜桃国产一区二区三区| 男生用鸡操女生视频动漫| 中文字幕在线第一页成人| 国产卡一卡二卡三乱码手机| 风流唐伯虎电视剧在线观看| 视频一区二区在线免费播放| 精品视频一区二区三区四区五区| 99热久久这里只有精品| 美女大bxxxx内射| 一区二区三区激情在线| 性欧美激情久久久久久久| 国产三级精品三级在线不卡| 亚洲激情唯美亚洲激情图片| 久草视频在线一区二区三区资源站| a v欧美一区=区三区| 国产在线一区二区三区麻酥酥 | www日韩a级s片av| 欧美黄片精彩在线免费观看| 伊人情人综合成人久久网小说| 亚洲成人av一区在线| av成人在线观看一区| 亚洲高清国产拍青青草原| 在线免费观看欧美小视频| 天天操天天操天天碰| 桃色视频在线观看一区二区| 久久久久久久99精品| 国产午夜亚洲精品麻豆| 欧美精品欧美极品欧美视频| av网站色偷偷婷婷网男人的天堂| 蜜桃精品久久久一区二区| 亚洲美女自偷自拍11页| 九一传媒制片厂视频在线免费观看| 馒头大胆亚洲一区二区| 成人网18免费视频版国产| 75国产综合在线视频| 2019av在线视频| 免费看国产又粗又猛又爽又黄视频| 国产免费av一区二区凹凸四季| 中文字幕 人妻精品| 久久精品亚洲国产av香蕉| xxx日本hd高清| 黄色男人的天堂视频| 亚洲成高清a人片在线观看| 国产乱子伦精品视频潮优女| 午夜精彩视频免费一区| 欧美中文字幕一区最新网址| asmr福利视频在线观看| 99精品视频在线观看免费播放| 免费看国产又粗又猛又爽又黄视频| 亚洲av自拍偷拍综合| av中文字幕福利网| 亚洲精品麻豆免费在线观看| 天堂va蜜桃一区入口| 性感美女福利视频网站| 日本精品一区二区三区在线视频。| yellow在线播放av啊啊啊| 91麻豆精品久久久久| av中文字幕在线导航| 一区二区三区激情在线| 国产不卡av在线免费| 中文字幕 码 在线视频| 扒开腿挺进肉嫩小18禁视频| 国产麻豆91在线视频| 五月天色婷婷在线观看视频免费| 青青草精品在线视频观看| 97人妻无码AV碰碰视频| 亚洲人妻30pwc| 在线成人日韩av电影| 欧美日韩一区二区电影在线观看| 午夜免费体验区在线观看| okirakuhuhu在线观看| 久久久久久cao我的性感人妻| 成人在线欧美日韩国产| 天天日天天鲁天天操| 精品一区二区三区三区88| 四虎永久在线精品免费区二区| 国产日本精品久久久久久久| 91精品视频在线观看免费| www久久久久久久久久久| 自拍偷拍日韩欧美亚洲| 欧美美女人体视频一区| 亚洲第一伊人天堂网| 精品美女久久久久久| 偷拍自拍国产在线视频| 99热碰碰热精品a中文| 欧美精产国品一二三区| chinese国产盗摄一区二区| 成人亚洲精品国产精品| 综合精品久久久久97| 天天操天天射天天操天天天| av在线免费观看亚洲天堂| 国产夫妻视频在线观看免费| 国产91精品拍在线观看| 中文字幕av第1页中文字幕| 国产女人露脸高潮对白视频| 在线观看操大逼视频| 国产三级片久久久久久久| 欧美成人综合色在线噜噜| 人人在线视频一区二区| 亚洲一区二区三区精品乱码| 小泽玛利亚视频在线观看| 粉嫩av蜜乳av蜜臀| 中文字幕欧美日韩射射一| 爱爱免费在线观看视频| 成年人黄色片免费网站| 成人久久精品一区二区三区| 又粗又硬又猛又黄免费30| 99国产精品窥熟女精品| 好吊操视频这里只有精品| 新婚人妻聚会被中出| 传媒在线播放国产精品一区 | 涩涩的视频在线观看视频| 天干天天天色天天日天天射 | 麻豆精品成人免费视频| 日本黄在免费看视频| 中文乱理伦片在线观看| 国产亚洲四十路五十路| 91成人精品亚洲国产| 国产精品黄片免费在线观看| 国产美女一区在线观看| 国产精品人久久久久久| 在线免费观看日本片| 久久精品亚洲国产av香蕉| 日本韩国免费福利精品| 黄色片年轻人在线观看| 成年午夜影片国产片| 亚洲综合乱码一区二区| 日本www中文字幕| 自拍偷拍,中文字幕| 熟女视频一区,二区,三区| 啊啊好大好爽啊啊操我啊啊视频 | 精品久久久久久久久久久a√国产| 亚洲高清一区二区三区视频在线| 激情五月婷婷综合色啪| 偷拍3456eee| 丰满少妇翘臀后进式| 亚洲蜜臀av一区二区三区九色 | 色综合久久无码中文字幕波多| 国产清纯美女al在线| 五十路息与子猛烈交尾视频| 超碰中文字幕免费观看| 黄色男人的天堂视频| 日日操综合成人av| 视频一区 视频二区 视频| 欧美激情电影免费在线| 亚洲精品在线资源站| 精彩视频99免费在线| 中文字幕国产专区欧美激情| 亚洲成人线上免费视频观看| 国产内射中出在线观看| 青青青青草手机在线视频免费看| 欧美国品一二三产区区别| 班长撕开乳罩揉我胸好爽| 成人av中文字幕一区| 久久这里有免费精品| 亚洲av极品精品在线观看| 亚洲1区2区3区精华液| 国产真实灌醉下药美女av福利| 欧美精品激情在线最新观看视频| 91试看福利一分钟| 婷婷综合亚洲爱久久| 91桃色成人网络在线观看| 国产一级麻豆精品免费| 人妻少妇av在线观看 | lutube在线成人免费看| 国产日韩一区二区在线看 | 亚洲在线一区二区欧美| 天天日天天添天天爽| 91九色porny国产在线| 天堂av中文在线最新版| 中文字幕+中文字幕| 成人av天堂丝袜在线观看| 91色老99久久九九爱精品| 狠狠躁夜夜躁人人爽天天久天啪| 欧美日韩激情啪啪啪| 国产av一区2区3区| 亚洲欧美另类自拍偷拍色图| 婷婷色中文亚洲网68| 亚洲综合乱码一区二区| jul—619中文字幕在线| 欧美性受xx黑人性猛交| 在线 中文字幕 一区| 欧美老鸡巴日小嫩逼| 欧美视频一区免费在线| 适合午夜一个人看的视频|