五月天激情丁香,国产精品2019,国产成人精品亚洲2020,国产精品免费视频一区二区三区,开心久久婷婷综合中文字幕,天堂视频在线观看免费完整版

Tracker

EasySwoole 提供了一個基礎的追蹤組件,方便用戶實現基礎的服務器狀態監控,與調用鏈記錄。

組件要求

  • php: >=7.1.0
  • ext-swoole: ^4.4.0
  • easyswoole/component: ^2.0

安裝方法

composer require easyswoole/tracker

倉庫地址

easyswoole/tracker

調用鏈結構說明

EasySwoole 的調用鏈跟蹤是一個以類似有序的樹狀鏈表的解構實現的,解構如下:

struct Point{
    struct Point* nextPoint;
    struct Point[] subPoints;
    const END_SUCCESS = 'success';
    const END_FAIL = 'fail';
    const END_UNKNOWN = 'unknown';
    int startTime;
    mixed startArg;
    int endTime;
    string pointName;
    string endStatus = self::END_UNKNOWN;
    mixed endArg;
    string pointId;
    string parentId;
    int depth = 0;
    bool isNext
}

基本使用

<?php
/**
 * This file is part of EasySwoole.
 *
 * @link http://m.fe88.cn
 * @document http://m.fe88.cn
 * @contact http://m.fe88.cn/Preface/contact.html
 * @license https://github.com/easy-swoole/easyswoole/blob/3.x/LICENSE
 */

require_once __DIR__ . '/vendor/autoload.php';

use EasySwoole\Tracker\Point;
use EasySwoole\Component\WaitGroup;
use EasySwoole\Tracker\PointContext;

/*
 * 假設我們的調用鏈是這樣的
 * onRequest  ->> actionOne ->> actionOne call remote Api(1,2)  ->>  afterAction
 */

go(function (){
    /*
     * 創建入口
     */
    $onRequest = new Point('onRequest');
    //記錄請求參數,并模擬access log
    \co::sleep(0.01);
    $onRequest->setStartArg([
        'requestArg' => 'requestArgxxxxxxxx',
        'accessLogId'=>'logIdxxxxxxxxxx'
    ]);
    //onRequest完成
    $onRequest->end();
    //進入 next actionOne
    $actionOne = $onRequest->next('actionOne');
        //action one 進入子環節調用
        $waitGroup = new WaitGroup();
        //sub pointOne
        $waitGroup->add();
        $subOne = $actionOne->appendChild('subOne');
        go(function ()use($subOne,$waitGroup){
                \co::sleep(0.1);
                $subOne->end();
                $waitGroup->done();
        });
        //sub pointTwo,并假設失敗
        $waitGroup->add();
        $subTwo = $actionOne->appendChild('subTwo');
            go(function ()use($subTwo,$waitGroup){
                \co::sleep(1);
                $subTwo->end($subTwo::END_FAIL,['failMsg'=>'timeout']);
                $waitGroup->done();
            });
        $waitGroup->wait();
    $actionOne->end();
    //actionOne結束,進入afterAction
    $afterAction = $actionOne->next('afterAction');
    //模擬響應記錄
    \co::sleep(0.01);
    $afterAction->end($afterAction::END_SUCCESS,['log'=>'success']);
    /*
     * 從入口開始打印調用鏈
     */
    echo Point::toString($onRequest);
});
// 以上代碼等價于如下
go(function () {
    PointContext::getInstance()->createStart('onRequest')->next('actionOne')->next('afterAction');
    // 記錄請求參數,并模擬access log
    \co::sleep(0.01);
    PointContext::getInstance()->find('onRequest')->setStartArg([
        'requestArg' => 'requestArgxxxxxxxx',
        'accessLogId' => 'logIdxxxxxxxxxx'
    ])->end();
    $subOne = PointContext::getInstance()->find('actionOne')->appendChild('subOne');
    $subTwo = PointContext::getInstance()->find('actionOne')->appendChild('subTwo');
    $waitGroup = new WaitGroup();
    $waitGroup->add();
    go(function () use ($subOne, $waitGroup) {
        \co::sleep(0.1);
        $subOne->end();
        $waitGroup->done();
    });
    // sub pointTwo,并假設失敗
    $waitGroup->add();
    go(function () use ($subTwo, $waitGroup) {
        \co::sleep(1);
        $subTwo->end($subTwo::END_FAIL, ['failMsg' => 'timeout']);
        $waitGroup->done();
    });
    $waitGroup->wait();
    PointContext::getInstance()->find('actionOne')->end();
    // 模擬響應記錄
    \co::sleep(0.01);
    PointContext::getInstance()->find('afterAction')->end(Point::END_SUCCESS, ['log' => 'success']);
    /*
     * 從入口開始打印調用鏈
     */
    echo Point::toString(PointContext::getInstance()->startPoint());
});

以上代碼輸出結果:

##
PointName:onRequest
ServiceName:default
Status:success
PointId:df56bbcf-c1ce-f536-ab8f-31f243721d76
ParentId:
Depth:0
IsNext:false
Start:1625313762.7221
StartArg:{"requestArg":"requestArgxxxxxxxx","accessLogId":"logIdxxxxxxxxxx"}
End:1625313762.7352
EndArg:null
ChildCount:0
Children:None
NextPoint:
    ##
    PointName:actionOne
    ServiceName:default
    Status:success
    PointId:c341da3e-809c-5a6b-e8c6-ab8aba29e336
    ParentId:df56bbcf-c1ce-f536-ab8f-31f243721d76
    Depth:0
    IsNext:true
    Start:1625313762.7352
    StartArg:null
    End:1625313763.7381
    EndArg:null
    ChildCount:2
    Children:
        ##
        PointName:subOne
        ServiceName:default
        Status:success
        PointId:4a66dc47-8c30-a4e4-bf8d-7b1fc334ce4b
        ParentId:c341da3e-809c-5a6b-e8c6-ab8aba29e336
        Depth:1
        IsNext:false
        Start:1625313762.7354
        StartArg:null
        End:1625313762.838
        EndArg:null
        ChildCount:0
        Children:None
        NextPoint:None
        ##
        PointName:subTwo
        ServiceName:default
        Status:fail
        PointId:326ca214-155b-d9f9-ad7a-8d8cbd479cdf
        ParentId:c341da3e-809c-5a6b-e8c6-ab8aba29e336
        Depth:1
        IsNext:false
        Start:1625313762.7355
        StartArg:null
        End:1625313763.7381
        EndArg:{"failMsg":"timeout"}
        ChildCount:0
        Children:None
        NextPoint:None
    NextPoint:
        ##
        PointName:afterAction
        ServiceName:default
        Status:success
        PointId:2f6d29b9-a100-fc69-2f64-f51a28a870eb
        ParentId:c341da3e-809c-5a6b-e8c6-ab8aba29e336
        Depth:0
        IsNext:true
        Start:1625313763.7382
        StartArg:null
        End:1625313763.7502
        EndArg:{"log":"success"}
        ChildCount:0
        Children:None
        NextPoint:None

如果想以自己的格式記錄到數據庫,可以具體查看 Point 實現的方法,每個 Point 都有自己的 Id

進階使用

HTTP API 請求追蹤

EasySwoole 全局事件(即項目根目錄的 EasySwooleEvent.php)中注冊 Tracker

EasySwoole 3.4.x 中注冊示例代碼如下:

<?php
/**
 * This file is part of EasySwoole.
 *
 * @link http://m.fe88.cn
 * @document http://m.fe88.cn
 * @contact http://m.fe88.cn/Preface/contact.html
 * @license https://github.com/easy-swoole/easyswoole/blob/3.x/LICENSE
 */

namespace EasySwoole\EasySwoole;

use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\EasySwoole\Swoole\EventRegister;

class EasySwooleEvent implements Event
{
    public static function initialize()
    {
        date_default_timezone_set('Asia/Shanghai');

        \EasySwoole\Component\Di::getInstance()->set(\EasySwoole\EasySwoole\SysConst::HTTP_GLOBAL_ON_REQUEST, function (\EasySwoole\Http\Request $request, \EasySwoole\Http\Response $response): bool {
            $point = \EasySwoole\Tracker\PointContext::getInstance()->createStart('onRequest');
            $point->setStartArg([
                'uri' => $request->getUri()->__toString(),
                'get' => $request->getQueryParams()
            ]);
            return true;
        });

        \EasySwoole\Component\Di::getInstance()->set(\EasySwoole\EasySwoole\SysConst::HTTP_GLOBAL_AFTER_REQUEST, function (\EasySwoole\Http\Request $request, \EasySwoole\Http\Response $response): void {
            $point = \EasySwoole\Tracker\PointContext::getInstance()->startPoint();
            $point->end();
            echo \EasySwoole\Tracker\Point::toString($point);
            $array = \EasySwoole\Tracker\Point::toArray($point);
        });
    }

    public static function mainServerCreate(EventRegister $register)
    {

    }
}

如果 EasySwoole 框架版本低于 3.4.x時,請使用如下方式進行注冊:

<?php
/**
 * This file is part of EasySwoole.
 *
 * @link http://m.fe88.cn
 * @document http://m.fe88.cn
 * @contact http://m.fe88.cn/Preface/contact.html
 * @license https://github.com/easy-swoole/easyswoole/blob/3.x/LICENSE
 */

namespace EasySwoole\EasySwoole;

use EasySwoole\EasySwoole\Swoole\EventRegister;
use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\Http\Request;
use EasySwoole\Http\Response;

class EasySwooleEvent implements Event
{
    public static function initialize()
    {
        // TODO: Implement initialize() method.
        date_default_timezone_set('Asia/Shanghai');
    }

    public static function mainServerCreate(EventRegister $register)
    {

    }

    public static function onRequest(Request $request, Response $response): bool
    {
        $point = \EasySwoole\Tracker\PointContext::getInstance()->createStart('onRequest');
        $point->setStartArg([
            'uri'=>$request->getUri()->__toString(),
            'get'=>$request->getQueryParams()
        ]);
        return true;
    }

    public static function afterRequest(Request $request, Response $response): void
    {
        $point = \EasySwoole\Tracker\PointContext::getInstance()->startPoint();
        $point->end();
        echo \EasySwoole\Tracker\Point::toString($point);
        $array = \EasySwoole\Tracker\Point::toArray($point);
    }
}

App\HttpController\Index.php 中:

<?php
/**
 * This file is part of EasySwoole.
 *
 * @link http://m.fe88.cn
 * @document http://m.fe88.cn
 * @contact http://m.fe88.cn/Preface/contact.html
 * @license https://github.com/easy-swoole/easyswoole/blob/3.x/LICENSE
 */

namespace App\HttpController;

use EasySwoole\Component\WaitGroup;
use EasySwoole\Http\AbstractInterface\Controller;
use EasySwoole\Tracker\PointContext;

class Index extends Controller
{
    protected function onRequest(?string $action): ?bool
    {
        /*
         * 調用關系  HttpRequest->OnRequest
         */
        $point = PointContext::getInstance()->next('ControllerOnRequest');
        // 假設這里進行了權限驗證,并模擬數據庫耗時
        \co::sleep(0.01);
        $point->setEndArg([
            'userId'=>'xxxxxxxxxxx'
        ]);
        $point->end();
        return true;
    }

    function index()
    {
        // 模擬調用第三方Api,調用關系  OnRequest->sub(subApi1,subApi2)
        $actionPoint = PointContext::getInstance()->next('indexAction');
        $wait = new WaitGroup();
        $subApi = $actionPoint->appendChild('subOne');
        $wait->add();
        go(function ()use($wait,$subApi){
            \co::sleep(1);
            $subApi->end();
            $wait->done();
        });

        $subApi = $actionPoint->appendChild('subTwo');
        $wait->add();
        go(function ()use($wait,$subApi){
            \co::sleep(0.3);
            $subApi->end($subApi::END_FAIL);
            $wait->done();
        });

        $wait->wait();

        $actionPoint->end();
        $this->response()->write('hello world');
    }
}

以上每次請求會輸出如下格式:

##
PointName:onRequest
ServiceName:default
Status:success
PointId:2ea751d4-13a7-8a27-932e-6671da6d6586
ParentId:
Depth:0
IsNext:false
Start:1625315058.3513
StartArg:{"uri":"http://192.168.1.107:9501/","get":[]}
End:1625315059.3694
EndArg:null
ChildCount:0
Children:None
NextPoint:
    ##
    PointName:ControllerOnRequest
    ServiceName:default
    Status:success
    PointId:13a0ccda-18ef-c90c-d9db-6e3a1cc70511
    ParentId:2ea751d4-13a7-8a27-932e-6671da6d6586
    Depth:0
    IsNext:true
    Start:1625315058.3535
    StartArg:null
    End:1625315058.3656
    EndArg:{"userId":"xxxxxxxxxxx"}
    ChildCount:0
    Children:None
    NextPoint:
        ##
        PointName:indexAction
        ServiceName:default
        Status:success
        PointId:a0295b8f-c02c-7ef3-afae-da5dce2764d0
        ParentId:13a0ccda-18ef-c90c-d9db-6e3a1cc70511
        Depth:0
        IsNext:true
        Start:1625315058.3656
        StartArg:null
        End:1625315059.3694
        EndArg:null
        ChildCount:2
        Children:
            ##
            PointName:subOne
            ServiceName:default
            Status:success
            PointId:d06855e1-0571-c829-121e-3467f7309598
            ParentId:a0295b8f-c02c-7ef3-afae-da5dce2764d0
            Depth:1
            IsNext:false
            Start:1625315058.3658
            StartArg:null
            End:1625315059.3694
            EndArg:null
            ChildCount:0
            Children:None
            NextPoint:None
            ##
            PointName:subTwo
            ServiceName:default
            Status:fail
            PointId:b47b32d6-f96f-9a00-1244-e16faab3d790
            ParentId:a0295b8f-c02c-7ef3-afae-da5dce2764d0
            Depth:1
            IsNext:false
            Start:1625315058.3658
            StartArg:null
            End:1625315058.6685
            EndArg:null
            ChildCount:0
            Children:None
            NextPoint:None
        NextPoint:None

Api 調用鏈記錄

$array = \EasySwoole\Tracker\Point::toArray($point);

可以把一個入口點轉為一個數組。例如我們可以在 MYSQL 數據庫中存儲以下關鍵結構:

CREATE TABLE `api_tracker_point_list` (
  `pointd` varchar(18) NOT NULL,
  `pointName` varchar(45) DEFAULT NULL,
  `parentId` varchar(18) DEFAULT NULL,
  `depth` int(11) NOT NULL DEFAULT '0',
  `isNext` int(11) NOT NULL DEFAULT '0',
  `startTime` varchar(14) NOT NULL,
  `endTime` varchar(14) DEFAULT NULL,
  `status` varchar(10) NOT NULL,
  PRIMARY KEY (`pointd`),
  UNIQUE KEY `trackerId_UNIQUE` (`pointd`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

其余請求參數可以自己記錄。

核心字段在 pointIdparentIdisNextstatus 這四個字段,例如,我想得到哪次調用鏈超時,那么就是直接

where status = fail

如果想看哪次調用耗時多少,那么可以

where spendTime > 3

spendTime 是通過 startTimeendTime 計算得出

相關知識鏈接

EasySwoole 之鏈路追蹤 簡單demo

主站蜘蛛池模板: 1000部精品久久久久久久久 | 日本中文在线播放 | 中文精品一区二区三区四区 | 国产精品爽爽久久久久久 | 东方影院av久久久久久 | 漂亮人妻被中出中文字幕 | 粉嫩av在线| 亚洲男女在线观看 | 老牛嫩草一区二区三区消防 | 久久久久久亚洲国产 | 亚洲激情网 | 亚洲自啪| 国产99在线 | 亚洲 | 精品人妻大屁股白浆无码 | 精品乱码一区二区三区四区 | 亚洲国产成人无码av在线影院 | 久久久久久久久99精品情浪 | 少妇特黄v一区二区三区图片 | 激情六月丁香 | 日日骑 | 亚洲女初尝黑人巨 | 尤物久久 | 国产99久久久国产精品 | 综合久久国产 | 华人永久免费 | 狠狠色狠狠色综合久久第一次 | av手机| 污污污污污污www网站免费 | 91张津瑜 午夜在线播放 | 又大又粗又爽的少妇免费视频 | 超碰在线cao | 无码人妻出轨黑人中文字幕 | 精品久久在线 | 尤物久久av一区二区三区亚洲 | 国产交换配乱淫视频a | 国产伦精品一区二区三区视频新 | 国产一级特黄aa大片出来精子 | 国产伦精品 | 免费观看污视频 | 国模一区二区三区四区 | 国产乱肥老妇女精品视频网站 | 中文字幕第九页 | 国产亚洲精品久久久 | 日本人妻丰满熟妇久久久久久 | 老女人激情视频 | 巨大荫蒂视频欧美另类大 | 四虎精品一区 | 日韩中文一区二区三区 | 欧美成本人视频 | 亚洲精品少妇一区二区 | 欧洲女人牲交性开放视频 | 丰满少妇精品一区二区性也 | 亚洲成av人在线观看天堂无码 | 国产毛片毛片毛片毛片毛片毛片 | 成人国产精品蜜柚视频 | 吃奶呻吟打开双腿做受在线视频 | 国产精品第60页 | 中文字幕被公侵犯的漂亮人妻 | 网红主播大秀福利视频日韩精品 | 有码视频在线观看 | 国产清纯白嫩初高生在线观看性色 | a级大片在线观看 | av中文字幕网 | 国产国产乱老熟女视频网站97 | 国产99在线视频 | 午夜国产小视频 | 久久久99精品 | 国产a三级久久精品 | 豆国产97在线 | 亚洲 | 狠狠躁18三区二区一区ai明星 | 一色屋精品久久久久久久久久 | 天天色成人| 中文字幕亚洲综合久久青草 | 中文字幕在线日本 | 中文字幕一区二区三区乱码图片 | 蜜桃国精产品二三三区视频 | 一区二区三区四区在线观看视频 | 手机在线免费看av | 国产精品亚洲一区二区三区在线 | 欧洲av在线免费观看 | 国产精品伦理久久久久 | 美女伦理水蜜桃4 | 久久免费视频在线观看30 | 精品亚洲欧美无人区乱码 | 亚洲成人一区在线观看 | 波多野结衣aⅴ在线 | 日韩欧美在线看 | 亚洲第一黄色片 | 国产精品入口免费视频一 | av大全在线播放 | 国产精品一二区 | 国产色 | 久久综合给合久久狠狠狠97色 | 亚洲精品国产乱码久久久1区 | 国产精品99久久久久久久女警 | 怡红院av人人爰人人爽 | 色噜噜日韩精品欧美一区二区 | 黄色毛片在线播放 | 天天躁日日躁狠狠躁一区 | 国产人成看黄久久久久久久久 | 国产精品久久久久久久久久大牛 | 99国产精品丝袜久久久久久 | 午夜成午夜成年片在线观看 | 久草新免费 | 国产第一亚洲 | 中文人妻无码一区二区三区在线 | 最新国产在线拍揄自揄视频 | 婷婷激情社区 | 天天狠天天透天干天天怕∴ | 蜜桃av免费看 | 免费黄色小视频在线观看 | 污污的视频在线观看 | 欧美婷婷六月丁香综合色 | 欧美熟妇毛茸茸 | 7777精品伊人久久久大香线蕉 | 久热这里有精品 | 国产jk精品白丝av在线观看 | 国产激情视频在线播放 | 亚洲欧美一区二区三区三高潮 | 国产精品一区二区手机在线观看 | 日韩精品极品视频在线观看免费 | 91久久极品少妇xxxxⅹ软件 | 亚洲成a人v欧美综合天堂下载 | 精品无人乱码一区二区三区的特点 | www.伊人| 日韩欧美小视频 | 午夜视频在线播放 | 99re6这里只有精品视频在线观看 | 日韩精品一区二区三区免费视频观看 | 色情久久久av熟女人妻网站 | 诱人的乳峰奶水hd | 99国产精品久久久久久久久久久 | 国产精品一区一区 | 日韩尤物在线 | 另类老妇奶性生bbwbbw | 久久亚洲国产成人精品性色 | 国产精品乱码人妻一区二区三区 | 成年女人黄网站色视频免费97 | 香蕉中文网 | 亚洲精品视频在线 | 97人妻人人揉人人躁人人 | 日本黄樱花超清视频 | 日韩精品毛片 | 国产精品入口麻豆 | 亚洲色图狠狠爱 | 亚洲国产影院av久久久久 | 性猛交xxxx| 神马午夜场 | 91美女片黄在线观看成欢阁 | 中午字幕在线观看 | 亚洲国产精品国自产拍张津瑜 | 亚洲熟女www一区二区三区 | 伊人春色av| 欧美成人高清在线播放 | 亚洲四区在线 | 亚洲国产精品一区二区久久 | 丰满少妇熟乱xxxxx视频 | 国产又粗又猛又黄又爽视频 | 精品一区二区三区在线观看视频 | 亚洲涩涩爱 | 精品国产18久久久久久 | 丁香五月缴情综合网 | 欧美一区二区三区视频在线观看 | 99久热re在线精品99 6热视频 | 蜜臀av免费一区二区三区 | 亚洲色欲色欲www在线观看 | 国产美女黄网站 | 日韩精品视频在线观看一区二区三区 | 强行交换配乱婬bd | 狠狠爱免费视频 | 一级欧美一级日韩片免费观看 | 国产成人精品国内自产拍免费看 | 性欧美在线视频免费观看 | 人人人妻人人人妻人人人 | 青娱乐极品在线 | 国产伦精品一区二区三区四区视频_ | 国产一区视频网站 | 国产成人精品亚洲线观看 | 国产超碰91人人做人人爽 | 日韩 欧美 亚洲 | 欧美日本黄色 | 日韩av麻豆 | 成人免费视频国产免费网站 | ass日本丰满熟妇pics | 全国最大成人网 | 黑人老外猛进华人美女 | 天天干夜夜嗨 | 波多野一区 | 欧美15一16性娇小高清 | 免费国产玉足脚交视频 | 日产精品久久久一区二区 | 亚洲色偷偷男人的天堂 | 久久99精品久久久久久牛牛影视 | 中文字幕一级二级三级 | 精品国产一区二区三区不卡 | 成人18免费观看的动漫 | 黄网av | 性一交一乱一色一视频麻豆 | 久久精品伦理 | 天天射av | 国产寡妇色xxⅹ交肉视频 | 日本草逼视频 | 欧美日韩一区免费 | 欧美一区二区三区色 | 国产午夜精品av一区二区 | 欧美一区二区在线视频观看 | 成年网站在线播放 | 麻豆视频在线看 | 久久亚州| 亚洲色图首页 | 中文日韩| 免费一级做a爰片久久毛片 免费一区 | 久久久久成人免费看a含羞草久色 | 爱情岛亚洲品质自拍极速福利网站 | 性生交片免费无码看人 | 午夜免费网址 | 日本一本视频 | 青青操在线观看 | 中文字幕一区二区三区精彩视频 | 国产乱码一区二区三区在线观看 | 在线精品国产一区二区三区 | 欧美69式互添视频在线 | 成年人免费看的视频 | 国产成人61精品免费看片 | 久久久一 | 免费看片在线观看www | 国产区在线观看视频 | 国产精品久久久久一区二区 | 午夜福制92视频 | 免费在线黄色网 | 四虎成人精品永久免费av | 久久久1| 亚洲丰满熟女一区二区v | 久久77777| 国产精品人妻在线观看 | 色拍拍在线精品视频 | 久久中字 | 精品视频无码一区二区三区 | 巨大乳の超乳を揉んで乳巨在线播放 | 丰满少妇女裸体bbw 无码av免费一区二区三区试看 | 777黄色| 加勒比久久综合 | 99re在线精品 | 精品国产乱码久久久久久蜜臀 | 人人玩人人添人人澡 | 亚洲综合精品视频 | 国产视频h | 第一福利丝瓜av导航 | 日本不卡视频在线播放 | 久操视频在线免费观看 | 色噜噜国产精品视频一区二区 | 亚洲精品乱码久久久久久动图 | 午夜资源网 | avtt亚洲| 欧美性猛交xxxxx水多 | 色综合久久无码五十路人妻 | 人人干在线 | 动漫av网 | www午夜| 毛片大全在线观看 | 国内视频精品 | 黄色无毒视频 | 久草在线视频资源站 | 国产亚洲婷婷香蕉久久精品 | 超级黄色片 | 日本韩国一级淫片a免费 | 国产区一区二区三 | 秋霞亚洲 | 国产一级免费不卡 | 国产98色在线 | 日韩 | 91九色ts另类人妖 | 亚洲第一av网 | 成人爱爱网站 | 国产成人精品视频一区二区不卡 | 青青草原成人网 | 成在线人永久免费视频播放 | 国产黄色三级 | 91精品国产综合久久小美女 | 国产午夜精品一区二区理论影院 | 亚洲国精产品一二二线 | 暖暖免费观看日本版 | 在线视频日本 | 精品国产乱码久久久久久久 | 欧美专区在线播放 | 日韩和一区二区 | 玖玖玖在线观看 | 思思99热久久精品在线6 | 日韩精品无码一区二区三区 | 乱码丰满人妻一二三区 | av午夜在线 | 黄色片视频 | 日韩一级影片 | 成人做爰高潮片免费视频九九九 | 3344永久在线观看视频免费 | 亚洲天堂中文字幕在线观看 | 女优中文字幕 | aa一级片 | 亚洲乱亚洲乱妇无码麻豆 | 中文字幕99| 国产三级做爰在线播放 | 新婚若妻侵犯中文字幕 | 蜜桃久久av一区 | 国产91精品精华液一区二区三区 | 香港三日本8a三级少妇三级99 | 天天舔天天操天天干 | 亚洲一线二线三线写真 | 10000部美女免费大片aaa | 91精品国产福利一区二区三区 | 91网站免费| 精品久久久一二三区播放播放播放视频 | 亚洲综合国产成人丁香五月激情 | 国产做爰xxxⅹ高潮69 | av永久免费| 欧美一区中文字幕 | 欧美交换乱淫粗大 | 亚洲va国产va天堂va久久 | 欧美aaaaa| 亚洲视频在线观看一区 | 欧美肥妇bwbwbwbxx | 久久丫精品忘忧草西安产品 | 四虎视频国产精品免费 | 日韩亚洲欧美一区二区三区 | av在线男人天堂 | 五月婷婷俺也去 | 国产精品美女高潮视频 | tube国产麻豆 | 国产 日韩 欧美 中文 在线播放 | 92电影网午夜福利 | 精品卡一卡二卡3卡高清乱码 | 免费无码国产v片在线观看 任我撸在线视频 | 丰满饥渴的少妇hd | 欧美综合国产 | 国产精品一区二区久久不卡 | 免费在线黄 | 国产极品粉嫩在线观看的软件 | 中文字幕乱偷无码av先锋 | 国产乱色精品成人免费视频 | 农村少妇野战xxx视频 | 在线免费av片 | www.日韩精品 | 人妻熟妇乱又伦精品视频app | 国产日韩精品入口 | 伊人久久九 | 在线va视频 | 国产a一区| 欧美a级成人淫片免费看 | 小少妇哺乳喂奶播放 | 欧美性激情 | 再深点灬舒服灬太大了快点91 | 九九精品在线播放 | 国产黑丝91| 欧美性猛交富婆辛迪 | 国产成人精品综合 | 久久av无码精品人妻系列 | 日日干,夜夜操 | 精品亚洲国产成人av | 国产婷婷成人久久av免费高清 | 日日碰狠狠躁久久躁综合小说 | 亚洲欧美激情另类校园 | 九九九伊在人线综合2023 | 亚洲国产精品久久久久秋霞影院 | 爱情岛论坛自拍亚洲品质极速福利 | 99精产国品一二三产区nba | 免费人成在线观看视频播放 | 久久久精品人妻一区二区三区 | 六月丁香婷婷网 | 成人做受黄大片 | 欧美国产在线视频 | 黄色免费一级 | 在线黄视频 | 蜜臀av无码精品人妻色欲 | 日本少妇做爰全过程二区 | 成人高潮片免费网站 | av在线资源网 | 美女av一区二区三区 | 女人扒开屁股桶爽30分钟 | 最新视频 - 88av | 污片免费看 | 丁香五精品蜜臀久久久久99网站 | 激情综合色综合啪啪五月丁香 | 亚洲精选91| 日本大尺度床戏揉捏胸 | 一本一本久久a久久精品综合麻豆 | 国产第一页在线播放 | 丰满岳妇伦在线播放 | 夜夜骑夜夜 | 男人爱看的网站 | 久久刺激 | 国产一级一级片 | 男女高潮网站 | 久热精品在线观看 | 精品国产一区二区三区护卡密 | 韩日av片 | 免费看黄色网 | 中文字幕精品久久久久人妻红杏1 | 关之琳三级全黄做爰在线观看 | 国产精品无码专区 | 无限看片在线版免费视频大全 | 寡妇高潮一级视频免费看 | 国产精品久久久久久久久岛 | 午夜小毛片| 强制中出し~大桥未久在线 | 久久综合九色综合欧美狠狠 | 秋霞影院午夜丰满少妇在线视频 | 国产51页 | 青草av.久久免费一区 | 免费在线h | 6080av| 国产最新进精品视频 | 亚洲性片 | 成人性生交大片免费看视频hd | 永久免费未满视频 | 性色av 一区二区三区 | 国产aaa精品 | 青草视频网 | 亚洲精品成人网站在线观看 | 69免费| 这里只有精品免费视频 | 日韩性网站 | 靠逼在线观看 | 毛片大全免费看 | 精品福利在线观看 | 色屁屁ts人妖系列二区 | 国产99久久久国产精品免费看 | 韩国毛片一区二区三区 | 国产无套内射又大又猛又粗又爽 | 久久频这里精品99香蕉 | 污污网站免费在线观看 | 日韩中文无 | 国产va在线观看免费 | 狠狠躁夜夜躁人人躁婷婷91 | 亚洲7天堂人人爽人人爽 | 成人短视频在线观看 | 香蕉福利 | 男女下面进入的视频免费午夜 | 青青草成人免费视频 | 国产伦子伦对白视频 | 精品成人在线 | 中国孕妇变态孕交xxxx | 尤物视频在线观看免费 | 欧洲色区 | 免费看成人哺乳视频网站 | 97视频在线播放 | yy6080午夜 | 欧美美女在线 | 67194av| 黄色大片一级片 | 黄色av观看 | 一级二级在线观看 | 亚洲精品乱 | 99在线精品免费视频 | 国产精品女同一区二区 | 熟女人妻水多爽中文字幕 | 在线观看你懂得 | av免费在线播放网站 | 欧美精品18videos性欧美 | 久久国产乱子伦精品免费午夜,浪货好紧 | 国产精品无码av天天爽播放器 | 在线观看视频日韩 | 又黄又爽又色的视频 | 人妻丰满熟妇av无码区乱 | 黑鬼大战白妞高潮喷白浆 | 日本色偷偷| 国产精品国产三级国产普通话对白 | 一区二区三区精品免费视频 | 与子敌伦刺激对白播放 | 精品国产一区三区 | 一区二区三区不卡视频 | 久久亚洲经典 | 久久国产主播 | 性高朝久久久久久久3小时 av片在线观看 | 狠狠色噜噜狠狠狠8888米奇 | 日本a在线观看 | 日本少妇乱xxxxx | 老司机午夜福利av无码特黄a | 国产欧美另类久久久精品图片 | 农村黄性色生活片 | 91美女片黄在线观看 | 天海翼一区二区三区高清在线观看 | 国产精品人人爽人人做我的可爱 | 超碰国产人人 | 欧洲无线码一二三四区 | 国产一区二区三区四区五区密私 | 日本一区视频在线观看 | 亚洲深夜| 欧美高清处破的免费视频 | 国产精品一二三 | 免费无码黄网站在线观看 | 欧洲免费av| 永久免费看黄 | 色无极亚洲色图 | 国产三级在线播放 | 欧美性bbw| 丰满岳乱妇一区二区 | 国产精品无码制服丝袜 | 精品福利一区二区三区免费视频 | 91国产丝袜在线播放 | 色窝窝无码一区二区三区 | 天堂在线视频免费 | 日韩大片免费观看视频播放 | 18禁无遮挡啪啪无码网站 | 精品视频一区二区三区四区戚薇 | 久久99精品久久久久久hb无码 | 亚洲最新视频 | 日本一区二区精品视频 | 国产亚洲精久久久久久蜜臀 | 五十岁熟韵母乱视国产 | 五月天堂色 | 日韩久久精品 | 午夜精品欧美 | 色综合五月婷婷 | 亚洲精品乱码久久久久久日本蜜臀 | 国产精品综合网 | 黄色大片免费在线观看 | 激情大战极品尤物呻吟 | 欧美xxxx中国 | 精品国产乱码久久久久久108 | 中文字幕超清在线免费 | 欧美性大战xxxxx久久久 | 亚洲日韩看片无码超清 | 红桃视频国产精品 | 香港三级日本三级 | www.看毛片| 亚洲一区二区小说 | 久久91精品国产91久久小草 | 中文字幕一级 | 人人插插| 久久精品人人做人人爽 | 国产露脸150部国语对白 | 久久久久免费看黄a片app | 国产精品久久..4399 | 久久精品人人做人人爱爱站长工具 | 成人综合网亚洲伊人 | 免费女同毛片在线观看 | 久久久久久高潮国产精品视 | 麻豆av一区二区天美传媒 | 人妻与老人中文字幕 | 日韩日韩日韩日韩日韩 | 伊人久久一区二区三区 | 亚洲综合一区无码精品 | 国产小精品 | 国产69精品久久久久久野外 | 国产精品第 | 无码人妻精品一区二区蜜桃百度 | 国产高清无密码一区二区三区 | 无码h黄肉动漫在线观看网站 | 99国产精品99久久久久久 | 久久9966 | 日韩欧美中文字幕一区二区三区 | 老妇高潮潮喷到猛进猛出 | 日韩精品一区二区不卡 | 少妇放荡的呻吟干柴烈火视频 | 久久久久久人妻无码 | 拔萝卜视频在线观看高清版 | 成人黄色免费 | 在线视频日韩精品 | 岛国精品资源网站 | 99国产精品久久久久久久日本竹 | 伊人91视频 | 97se亚洲国产综合自在线 | 亚洲自拍99| 成人免费视频一区二区三区 | 日韩成人免费在线观看 | 日韩欧美在线观看一区二区 | 闺蜜互慰吃奶互揉69式磨豆腐 | 青青青国产在线观看免费 | 久久丫精品久久丫 | 夜夜高潮夜夜爽精品av免费的 | 亚洲精品乱码久久久久久按摩 | jizzjizz在线观看 | 亚洲自拍另类 | 黄色国产在线播放 | 精品少妇爆乳无码av无码专区 | 久久不见久久见免费影院视频 | 玩弄中年熟妇正在播放 | 国产综合精品一区二区三区 | 色婷婷基地 | 91久久久久久久久久久久久 | 国产亚洲无线码一区二区 | 天堂国产一区二区三区 | 素人一区 | 美女隐私视频黄www曰本 | 巨大乳沟h晃动双性总受视频一区 | 少妇一级片 | 女人十八毛片嫩草av | 超碰国产97 | 婷婷五月综合激情中文字幕 | 国产在线国偷精品产拍免费yy | 狠狠色噜噜狠狠狠狠色综合网 | 亚洲国产精彩中文乱码av | juliaann精品艳妇在线 | 7777日本精品一区二区三区 | 国产精品第12页 | 色哟哟—国产精品 | 欧美孕妇xxxx做受欧美88 | 国产精品123| 免费激情片 | 国产麻豆精东果冻传媒 | 色久月| 亚洲乱码国产乱码精品精大量 | 2020最新国产自产精品 | 久久综合久久美利坚合众国 | 国产尤物视频在线观看 | 亚洲天堂h | 国产精品久久久久久久久妇女 | 美美女高清毛片视频免费观看 | 成人婷婷 | 久久日本精品字幕区二区 | 成年人毛片 | 免费伊人 | 久久午夜夜伦鲁鲁片免费无码 | 日韩天堂视频 | 人妻精油按摩bd高清中文字幕 | 天天做天天爱夜夜爽少妇 | 福利视频大全 |