99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

SpringCloud——SkyWalking全鏈路監(jiān)控源碼深度解析

SpringCloud——SkyWalking全鏈路監(jiān)控源碼深度解析 目錄SkyWalking 源碼復(fù)盤(pán) ?從一次請(qǐng)求到監(jiān)控結(jié)果的完整源碼地圖一、SkyWalking 整體分層二、第一階段JVM 啟動(dòng) Agent三、第二階段插件匹配與字節(jié)碼增強(qiáng)四、第三階段HTTP 請(qǐng)求創(chuàng)建 EntrySpan五、第四階段ContextManager 管理當(dāng)前 TraceSpan 棧六、第五階段Trace 創(chuàng)建業(yè)務(wù) LocalSpan七、第六階段HikariCP 與 JDBC 拆分?jǐn)?shù)據(jù)庫(kù)耗時(shí)1. 獲取連接2. 執(zhí)行 SQL3. 歸還連接你的兩個(gè)實(shí)驗(yàn)SSH 隧道斷開(kāi)/order/slowSql?time2八、第七階段Feign 創(chuàng)建 ExitSpan 并傳播上下文九、第八階段TraceSegment 異步上報(bào)緩沖區(qū)滿了怎么辦十、OAP 接收并解析 Segment十一、為什么一條 Trace 能產(chǎn)生儀表盤(pán)指標(biāo)十二、拓?fù)鋱D是如何形成的十三、原始 Trace 與 Metrics 是兩條不同鏈路十四、日志關(guān)聯(lián)鏈路1. %tid 輸出 Trace ID2. GRPCLogClientAppender 上傳日志控制臺(tái)有 TID但 UI 沒(méi)日志十五、告警鏈路為什么 WebHook 是 JSON 數(shù)組十六、你的告警完整鏈路十七、Trace Profiling 鏈路三個(gè)核心指標(biāo)Dump CountDurationSelf Duration判斷方法十八、四條核心數(shù)據(jù)鏈鏈路一Trace鏈路二Metrics 與拓?fù)滏溌啡罩炬溌匪母婢?、故障排查的?biāo)準(zhǔn)順序1. UI 看不到服務(wù)2. 服務(wù)有指標(biāo)但沒(méi)有 Trace3. Trace 斷鏈4. Trace 顯示數(shù)據(jù)庫(kù)慢5. 控制臺(tái)有 TID但 UI 沒(méi)日志6. 告警不觸發(fā)7. Profiling 沒(méi)數(shù)據(jù)二十、整套源碼中的核心類二十一、一段完整的面試回答二十二、你目前對(duì) SkyWalking 的掌握層次二十三、最終記憶圖SkyWalking 源碼復(fù)盤(pán) ?從一次請(qǐng)求到監(jiān)控結(jié)果的完整源碼地圖這一節(jié)把前面所有內(nèi)容收束成一條完整主線。以你的請(qǐng)求為例GET /order/query/1最終可能產(chǎn)生服務(wù)監(jiān)控指標(biāo) 端點(diǎn)指標(biāo) 分布式 Trace 服務(wù)拓?fù)?數(shù)據(jù)庫(kù)調(diào)用記錄 帶 TID 的業(yè)務(wù)日志 日志與 Trace 關(guān)聯(lián) 告警 WebHook Trace Profiling 線程棧這些并不是一個(gè)模塊一次性完成的而是由Agent 采集、OAP 分析、存儲(chǔ)、UI 查詢四個(gè)階段共同完成。一、SkyWalking 整體分層┌─────────────────────────────────────────┐ │ 業(yè)務(wù)應(yīng)用 │ │ order / account / storage / alarm │ └─────────────────────────────────────────┘ │ │ -javaagent ▼ ┌─────────────────────────────────────────┐ │ Java Agent │ │ │ │ 插件匹配 │ │ 字節(jié)碼增強(qiáng) │ │ 創(chuàng)建 Span │ │ 傳播 Trace Context │ │ 采集日志、JVM、Profiling 數(shù)據(jù) │ │ 異步上報(bào) │ └─────────────────────────────────────────┘ │ │ gRPC 11800 ▼ ┌─────────────────────────────────────────┐ │ OAP │ │ │ │ 接收 Segment / Log / Profile Snapshot │ │ 分析 Span │ │ 生成 Source │ │ OAL 聚合 Metrics │ │ 執(zhí)行告警規(guī)則 │ │ 寫(xiě)入存儲(chǔ) │ └─────────────────────────────────────────┘ │ │ HTTP 12800 ▼ ┌─────────────────────────────────────────┐ │ SkyWalking UI 8080 │ │ │ │ 服務(wù)儀表盤(pán) │ │ 拓?fù)鋱D │ │ Trace │ │ 日志 │ │ 告警 │ │ Profiling │ └─────────────────────────────────────────┘端口必須記住端口用途11800Agent 向 OAP 上報(bào)數(shù)據(jù)12800UI 查詢 OAP8080SkyWalking UI8084你的告警接收服務(wù)二、第一階段JVM 啟動(dòng) Agent你的啟動(dòng)參數(shù)類似-javaagent:H:\tools\...\skywalking-agent.jar -Dskywalking.agent.service_nameorder-service -Dskywalking.collector.backend_service127.0.0.1:11800JVM 啟動(dòng)順序JVM 啟動(dòng) → 加載 skywalking-agent.jar → 調(diào)用 SkyWalkingAgent.premain() → 讀取 Agent 配置 → 掃描插件 → 構(gòu)造 Byte Buddy Transformer → 注冊(cè) Instrumentation → 啟動(dòng) Agent 內(nèi)部服務(wù) → 執(zhí)行業(yè)務(wù)應(yīng)用 main()核心邏輯可概括為public static void premain( String agentArgs, Instrumentation instrumentation ) { initializeConfig(agentArgs); loadPlugins(); installClassTransformer(instrumentation); ServiceManager.INSTANCE.boot(); }這里要區(qū)分Maven 依賴 → 讓項(xiàng)目能編譯和調(diào)用 Toolkit API -javaagent → 真正修改目標(biāo)類字節(jié)碼并采集數(shù)據(jù)所以只添加 Maven 依賴 ≠ 已經(jīng)啟用 SkyWalking Agent三、第二階段插件匹配與字節(jié)碼增強(qiáng)Agent 不會(huì)修改所有類。它會(huì)根據(jù)插件規(guī)則匹配Tomcat Feign JDBC HikariCP Logback Trace 線程池 ……例如Tomcat 插件 → 增強(qiáng) StandardHostValve.invoke() Feign 插件 → 增強(qiáng) HTTP Client execute() HikariCP 插件 → 增強(qiáng) getConnection()、close() JDBC 插件 → 包裝 PreparedStatement.execute() Toolkit 插件 → 增強(qiáng)帶 Trace 的方法運(yùn)行時(shí)可以近似理解為beforeMethod(); try { return originalMethod(); } catch (Throwable e) { handleException(e); throw e; } finally { afterMethod(); }SkyWalking 沒(méi)有修改你的業(yè)務(wù)源代碼但 JVM 實(shí)際執(zhí)行的方法已經(jīng)插入了追蹤邏輯。四、第三階段HTTP 請(qǐng)求創(chuàng)建 EntrySpan瀏覽器訪問(wèn)GET http://127.0.0.1:8083/order/query/1進(jìn)入Tomcat → StandardHostValve.invoke() → TomcatInvokeInterceptor請(qǐng)求前ContextCarrier carrier readHeaders(request); AbstractSpan span ContextManager.createEntrySpan( GET:/order/query/1, carrier );隨后記錄URL HTTP Method Tomcat Component HTTP Layer形成EntrySpan └─ GET:/order/query/1如果這是瀏覽器發(fā)起的首個(gè)請(qǐng)求請(qǐng)求頭沒(méi)有有效上游上下文 → 創(chuàng)建一條新的 Trace如果是上游微服務(wù)調(diào)用請(qǐng)求頭中存在傳播信息 → 恢復(fù)上游 Trace五、第四階段ContextManager管理當(dāng)前 Trace第一次創(chuàng)建 Span 時(shí)CONTEXT.get() null → 創(chuàng)建 TracingContext → 創(chuàng)建 TraceSegment → 寫(xiě)入 ThreadLocal關(guān)鍵結(jié)構(gòu)ContextManager └─ ThreadLocalTracingContext ├─ TraceSegment ├─ activeSpanStack └─ spanIdGenerator不同 Tomcat 工作線程線程 A → TracingContext A 線程 B → TracingContext B 線程 C → TracingContext C因此并發(fā)請(qǐng)求不會(huì)互相串鏈。Span 棧你的請(qǐng)求執(zhí)行時(shí)GET:/order/query/1 → queryOrder → HikariCP getConnection → JDBC execute對(duì)應(yīng)入棧Tomcat Tomcat → queryOrder Tomcat → queryOrder → HikariCP Tomcat → queryOrder → JDBC創(chuàng)建子 Span 時(shí)AbstractSpan parent activeSpanStack.getLast(); newSpan.parentSpanId parent.getSpanId();結(jié)束時(shí)必須嚴(yán)格后進(jìn)先出先結(jié)束 JDBC 再結(jié)束 queryOrder 最后結(jié)束 TomcatSpan 棧為空后TraceSegment 完成 → ThreadLocal.remove()六、第五階段Trace創(chuàng)建業(yè)務(wù) LocalSpan業(yè)務(wù)方法Trace(operationName queryOrder) Tags({ Tag(key orderId, value arg[0]), Tag(key result, value returnedObj) }) public OrderInfo queryOrder(Integer orderId) { return orderMapper.selectById(orderId); }執(zhí)行過(guò)程進(jìn)入方法 → createLocalSpan(queryOrder) → 讀取 arg[0] → 執(zhí)行業(yè)務(wù)邏輯 → 讀取 returnedObj → stopSpan()結(jié)果GET:/order/query/1 EntrySpan └─ queryOrder LocalSpan ├─ orderId 1 └─ result OrderInfo(...)這里不是 Spring AOP而是 Agent 直接增強(qiáng)方法字節(jié)碼。七、第六階段HikariCP 與 JDBC 拆分?jǐn)?shù)據(jù)庫(kù)耗時(shí)數(shù)據(jù)庫(kù)調(diào)用過(guò)程MyBatis → HikariDataSource.getConnection() → PreparedStatement.execute() → Connection.close()形成queryOrder ├─ HikariCP/Connection/getConnection LocalSpan ├─ Mysql/JDBC/PreparedStatement/execute ExitSpan └─ HikariCP/Connection/close LocalSpan1. 獲取連接HikariCP/Connection/getConnection回答應(yīng)用拿到數(shù)據(jù)庫(kù)連接花了多久慢時(shí)重點(diǎn)排查連接池耗盡 等待其他線程歸還連接 數(shù)據(jù)庫(kù)不可達(dá) SSH 隧道斷開(kāi) 建立新連接過(guò)慢 連接泄漏2. 執(zhí)行 SQLMysql/JDBC/PreparedStatement/execute回答從調(diào)用 JDBC 到數(shù)據(jù)庫(kù)返回整體花了多久慢時(shí)重點(diǎn)排查SQL 缺少索引 鎖等待或死鎖 掃描行數(shù)過(guò)多 數(shù)據(jù)庫(kù) CPU、磁盤(pán) IO 高 網(wǎng)絡(luò)延遲 SSH 隧道擁塞 結(jié)果集過(guò)大3. 歸還連接HikariCP/Connection/close一般不是關(guān)閉物理連接而是清理連接狀態(tài) → 歸還連接池 → 供其他請(qǐng)求復(fù)用你的兩個(gè)實(shí)驗(yàn)SSH 隧道斷開(kāi)HikariCP/getConnection ≈ 30 秒結(jié)論SQL 尚未真正執(zhí)行 主要慢在獲取或創(chuàng)建連接/order/slowSql?time2getConnection 很短 JDBC execute ≈ 2 秒 close 很短結(jié)論連接正常 主要慢在 SQL 或數(shù)據(jù)庫(kù)網(wǎng)絡(luò)調(diào)用八、第七階段Feign 創(chuàng)建 ExitSpan 并傳播上下文order-service調(diào)用accountApi.deduct(...);Feign 請(qǐng)求發(fā)送前ContextCarrier carrier new ContextCarrier(); AbstractSpan span ContextManager.createExitSpan( /account/deduct, carrier, 127.0.0.1:8082 );隨后將 Carrier 中的數(shù)據(jù)寫(xiě)入 HTTP Header。調(diào)用鏈order-service ├─ EntrySpanPOST:/order/create └─ ExitSpan/account/deduct │ │ Trace Header ▼ account-service └─ EntrySpanPUT:/account/deduct兩個(gè)服務(wù)擁有相同 Trace ID 不同 Segment ID 不同 Span ID不是共享同一個(gè) Span 對(duì)象。九、第八階段TraceSegment 異步上報(bào)最后一個(gè) Span 結(jié)束activeSpanStack 為空 → TraceSegment.finish() → 通知 TraceSegmentServiceClient業(yè)務(wù)線程只執(zhí)行carrier.produce(traceSegment);真正的處理由后臺(tái)線程完成DataCarrier → Agent 后臺(tái)消費(fèi)者 → TraceSegment.transform() → SegmentObject → gRPC → OAP 11800這種設(shè)計(jì)避免OAP 慢 → Tomcat 請(qǐng)求線程也被阻塞緩沖區(qū)滿了怎么辦默認(rèn)策略偏向緩沖區(qū)有空間 → 正常放入 緩沖區(qū)滿 → 丟棄部分 Segment → 不長(zhǎng)期阻塞業(yè)務(wù)線程SkyWalking 的取舍是業(yè)務(wù)穩(wěn)定性 遙測(cè)數(shù)據(jù)絕對(duì)完整性所以接口成功 ≠ 這條 Trace 一定成功上報(bào)十、OAP 接收并解析 SegmentOAP 接收路徑TraceSegmentReportServiceHandler → SegmentParserService → TraceAnalyzerTraceAnalyzer遍歷EntrySpan ExitSpan LocalSpan Segment并通知不同監(jiān)聽(tīng)器RPCAnalysisListener SegmentAnalysisListener VirtualServiceAnalysisListener ……監(jiān)聽(tīng)器再生成統(tǒng)一的 SourceService ServiceInstance Endpoint ServiceRelation EndpointRelation DatabaseAccess Segment隨后SourceReceiver → Dispatcher → OAL → Metrics → Storage十一、為什么一條 Trace 能產(chǎn)生儀表盤(pán)指標(biāo)入口 SpanGET:/order/slowSql Duration ≈ 2100 ms可以生成Serviceorder-service ServiceInstanceorder 實(shí)例 EndpointGET:/order/slowSqlOAL 再計(jì)算service_resp_time service_sla service_cpm service_percentile service_instance_resp_time endpoint_resp_time endpoint_sla endpoint_cpm endpoint_percentile所以Trace Duration是單次請(qǐng)求時(shí)間而endpoint_resp_time是一定時(shí)間窗口內(nèi)的聚合指標(biāo)。十二、拓?fù)鋱D是如何形成的拓?fù)洳⒉皇侵苯哟蜷_(kāi)一條 Trace 繪制。真實(shí)過(guò)程大量 EntrySpan 和 ExitSpan → 生成 ServiceRelation → 按時(shí)間窗口聚合 → UI 查詢關(guān)系指標(biāo) → 展示拓?fù)淅鏾rder-service → account-service → MySQL分別來(lái)自Feign ExitSpan / 下游 EntrySpan JDBC Database ExitSpanMySQL 沒(méi)有安裝 Java Agent但 JDBC Span 中存在peer database type latency SQL statement所以 OAP 可以創(chuàng)建Virtual Database Service并顯示order-service ↓ 127.0.0.1:13306十三、原始 Trace 與 Metrics 是兩條不同鏈路同一個(gè) Segment 會(huì)被不同監(jiān)聽(tīng)器處理RPCAnalysisListener → 生成服務(wù)、端點(diǎn)、關(guān)系和指標(biāo) SegmentAnalysisListener → 根據(jù)采樣策略決定是否保存原始 Trace因此可能出現(xiàn)服務(wù)儀表盤(pán)有數(shù)據(jù) 拓?fù)鋱D有關(guān)系 但 Trace 列表中找不到某次請(qǐng)求原因可能是Metrics 已參與計(jì)算 但原始 Segment 因采樣沒(méi)有保存這不是矛盾。十四、日志關(guān)聯(lián)鏈路業(yè)務(wù)代碼log.info(查詢訂單orderId{}, orderId);分成兩部分。1.%tid輸出 Trace IDLogback Pattern → %tid → Agent 增強(qiáng) PatternConverter → ContextManager.getGlobalTraceId() → 輸出到控制臺(tái)例如[TID:abc123] 查詢訂單orderId1它主要方便人肉排查。2.GRPCLogClientAppender上傳日志Appender 將日志轉(zhuǎn)換為L(zhǎng)ogData ├─ service ├─ serviceInstance ├─ endpoint ├─ timestamp ├─ body ├─ level ├─ logger ├─ thread └─ traceContext ├─ traceId ├─ segmentId └─ spanId然后DataCarrier → 后臺(tái)線程 → gRPC 11800 → OAP Log Receiver → Log Analyzer → Storage系統(tǒng)關(guān)聯(lián)日志與 Trace依靠的是結(jié)構(gòu)化traceId segmentId spanId不是簡(jiǎn)單搜索日志字符串中的 TID。控制臺(tái)有 TID但 UI 沒(méi)日志常見(jiàn)原因只配置了 %tid沒(méi)有配置 gRPC Appender Root Logger 未引用 SkyWalking Appender 服務(wù)沒(méi)有掛 Agent 11800 不通 Agent 日志隊(duì)列已滿 OAP 日志 Receiver 異常 UI 時(shí)間或服務(wù)篩選錯(cuò)誤十五、告警鏈路OAP 生成分鐘級(jí) Metrics 后Metrics → RunningRule.in() → 每個(gè) AlarmEntity 維護(hù)一個(gè) Window → AlarmCore 定時(shí)檢查 → MQE 表達(dá)式判斷 → AlarmMessage → WebhookCallback例如expression: sum(endpoint_resp_time 1000) 2 period: 10 silence-period: 10含義最近 10 個(gè)分鐘桶中 至少有 2 個(gè)分鐘桶 端點(diǎn)平均響應(yīng)時(shí)間超過(guò) 1000 ms所以不是一條請(qǐng)求超過(guò) 1000 ms → 立即告警而是分鐘級(jí)指標(biāo)進(jìn)入滑動(dòng)窗口 → 時(shí)間窗口滿足規(guī)則 → 告警為什么 WebHook 是 JSON 數(shù)組一次定時(shí)檢查可能同時(shí)產(chǎn)生端點(diǎn)告警 數(shù)據(jù)庫(kù)告警 服務(wù)實(shí)例告警OAP 統(tǒng)一保存到ListAlarmMessage然后gson.toJson(messages)所以請(qǐng)求體是[ { scope: ENDPOINT, name: GET:/order/slowSql }, { scope: DATABASE, name: 127.0.0.1:13306 } ]你的 Controller 應(yīng)使用RequestBody ListAlarmMessage messages十六、你的告警完整鏈路PowerShell 循環(huán)請(qǐng)求 → GET /order/slowSql?time2 → JDBC execute 約 2 秒 → Agent 上報(bào) Segment → OAP 生成分鐘級(jí) Metrics → RunningRule 窗口滿足條件 → 創(chuàng)建 ListAlarmMessage → POST alarm-service:8084 → AlarmController → 郵件服務(wù) → QQ SMTP → 郵件到達(dá)WebHook 或郵件發(fā)送失敗不會(huì)直接影響 order-service 請(qǐng)求因?yàn)楦婢l(fā)生在 OAP 的獨(dú)立鏈路中。但 WebHook 本身仍應(yīng)快速返回郵件發(fā)送最好異步化。十七、Trace Profiling 鏈路任務(wù)創(chuàng)建UI → OAP 保存 ProfileTaskAgent 定時(shí)查詢ProfileTaskChannelService → getProfileTaskCommands()收到任務(wù)后校驗(yàn)任務(wù) → 等待 Start Time → 啟動(dòng) ProfileTaskExecutionContext新的請(qǐng)求到達(dá)創(chuàng)建 TracingContext → firstSpanOPName 與任務(wù) Endpoint 匹配 → 創(chuàng)建 ThreadProfiler → 狀態(tài) PENDING請(qǐng)求運(yùn)行超過(guò)Min Duration Threshold后PENDING → PROFILINGProfiler 周期執(zhí)行targetThread.getStackTrace();生成taskId segmentId sequence dumpTime stack異步上傳 OAP。OAP 再將大量采樣棧合并為樹(shù)。三個(gè)核心指標(biāo)Dump Count該方法出現(xiàn)在多少次線程棧采樣中不是方法調(diào)用次數(shù)。Duration該節(jié)點(diǎn)在連續(xù)采樣區(qū)間中出現(xiàn)的近似總時(shí)間不是精確方法計(jì)時(shí)。Self Duration節(jié)點(diǎn) Duration - 直接子節(jié)點(diǎn) Duration 之和表示盡量排除子調(diào)用后當(dāng)前方法自身消耗的近似時(shí)間。判斷方法Duration 高Self Duration 低 → 主要慢在子調(diào)用 Duration 高Self Duration 高 → 當(dāng)前方法自身更可能是熱點(diǎn) Socket read 高 → 主要等待網(wǎng)絡(luò) JDBC Driver 高 → 主要等待數(shù)據(jù)庫(kù) Thread.sleep 高 → 線程主要處于休眠狀態(tài)十八、四條核心數(shù)據(jù)鏈學(xué)完 SkyWalking 后應(yīng)該把它拆成四條鏈理解。鏈路一Trace插件攔截 → Entry / Local / Exit Span → TracingContext → TraceSegment → DataCarrier → gRPC → OAP → Trace UI鏈路二Metrics 與拓?fù)銼pan → TraceAnalyzer → Source → OAL → Metrics → Storage → Dashboard / Topology鏈路三日志ILoggingEvent → %tid → GRPCLogClientAppender → LogData → gRPC → OAP Log Analyzer → Log UI鏈路四告警Metrics → RunningRule → Window → MQE Expression → AlarmMessage → WebHook → 郵件Profiling 則是第五條專項(xiàng)診斷鏈ProfileTask → Endpoint 匹配 → Thread Stack Sampling → Snapshot → OAP 合并分析十九、故障排查的標(biāo)準(zhǔn)順序1. UI 看不到服務(wù)先檢查服務(wù)是否掛載 -javaagent service_name 是否正確 Agent 是否啟動(dòng)成功 Agent 到 OAP 11800 是否連通 是否真正訪問(wèn)過(guò)接口 UI 時(shí)間范圍是否正確2. 服務(wù)有指標(biāo)但沒(méi)有 Trace檢查是否被采樣丟棄 Agent Segment 緩沖區(qū)是否滿 OAP Trace 存儲(chǔ)是否正常 Trace 時(shí)間范圍和服務(wù)篩選 請(qǐng)求是否真正經(jīng)過(guò)支持的插件3. Trace 斷鏈檢查調(diào)用方是否創(chuàng)建 ExitSpan 是否注入跨進(jìn)程 Header 下游是否掛載 Agent 下游是否讀取 Header 是否經(jīng)過(guò)不支持的客戶端或網(wǎng)關(guān) 異步線程是否傳播上下文4. Trace 顯示數(shù)據(jù)庫(kù)慢先區(qū)分HikariCP/getConnection 慢 還是 JDBC/execute 慢這是你當(dāng)前已經(jīng)掌握的高價(jià)值診斷能力。5. 控制臺(tái)有 TID但 UI 沒(méi)日志檢查GRPCLogClientAppender Root Logger Agent Activation 11800 OAP 日志接收器 時(shí)間與服務(wù)篩選6. 告警不觸發(fā)檢查告警 Metric 名稱是否正確 表達(dá)式是否正確 period 是否滿足 請(qǐng)求是否跨多個(gè)分鐘桶 規(guī)則是否限定了 include-names alarm-settings.yml 是否被 OAP 加載 Webhook URL 是否正確 alarm-service 是否監(jiān)聽(tīng) 80847. Profiling 沒(méi)數(shù)據(jù)檢查Agent Profiling 是否啟用 OAP receiver-profile 是否啟用 任務(wù) Endpoint 是否與真實(shí) Operation Name 一致 任務(wù)是否在有效時(shí)間內(nèi) 請(qǐng)求是否超過(guò) Min Duration Threshold Max Sampling Count 是否已達(dá)到 請(qǐng)求是否在任務(wù)創(chuàng)建后重新發(fā)起二十、整套源碼中的核心類領(lǐng)域核心類Agent 啟動(dòng)SkyWalkingAgent插件發(fā)現(xiàn)PluginFinder字節(jié)碼增強(qiáng)Transformer上下文入口ContextManager本地追蹤上下文TracingContext一段本地追蹤TraceSegmentHTTP 入口Tomcat Interceptor跨服務(wù)出口Feign/HTTP Client InterceptorJDBC 追蹤JDBC Statement WrapperHikariCPPooling InterceptorToolkitTrace Annotation InterceptorTrace 上報(bào)TraceSegmentServiceClientOAP Trace 接收TraceSegmentReportServiceHandlerOAP 解析TraceAnalyzer服務(wù)關(guān)系分析RPCAnalysisListener日志上傳LogReportServiceClient告警核心AlarmCore、RunningRuleProfiling 執(zhí)行ProfileTaskExecutionService線程采樣ThreadProfilerProfiling 分析ProfileAnalyzer二十一、一段完整的面試回答面試官問(wèn)請(qǐng)整體介紹 SkyWalking 的工作原理??梢曰卮餝kyWalking 主要由 Java Agent、OAP、存儲(chǔ)和 UI 組成。Java 應(yīng)用通過(guò)-javaagent在啟動(dòng)階段執(zhí)行 Agent 的premainAgent 加載插件并使用 Byte Buddy 與 Instrumentation 對(duì) Tomcat、Feign、JDBC、連接池等框架類進(jìn)行字節(jié)碼增強(qiáng)。請(qǐng)求進(jìn)入 Tomcat 時(shí)創(chuàng)建 EntrySpan業(yè)務(wù)內(nèi)部通過(guò) Toolkit 可以創(chuàng)建 LocalSpan對(duì)外調(diào)用 Feign 或數(shù)據(jù)庫(kù)時(shí)創(chuàng)建 ExitSpan。ContextManager使用 ThreadLocal 為每個(gè)請(qǐng)求線程維護(hù)獨(dú)立的TracingContext并通過(guò)活動(dòng) Span 棧確定父子關(guān)系。跨服務(wù)時(shí)調(diào)用方將 Trace 上下文注入 HTTP Header下游從 Header 中恢復(fù)上下文從而生成屬于同一 Trace 的不同 Segment。當(dāng)所有 Span 結(jié)束后Agent 將 TraceSegment 放入內(nèi)存緩沖區(qū)由后臺(tái)線程轉(zhuǎn)換成 Protobuf 對(duì)象并通過(guò) gRPC 上報(bào) OAP避免網(wǎng)絡(luò)發(fā)送阻塞業(yè)務(wù)線程。OAP 對(duì) Segment 中的 Entry、Exit 和 Local Span 進(jìn)行分析生成 Service、Endpoint、ServiceRelation、DatabaseAccess 等 Source再通過(guò) OAL 聚合成響應(yīng)時(shí)間、成功率、CPM、百分位等 Metrics用于儀表盤(pán)、拓?fù)浜透婢H罩究赏ㄟ^(guò) Toolkit 獲取 Trace ID并以結(jié)構(gòu)化 LogData 攜帶 Trace ID、Segment ID 和 Span ID 上傳實(shí)現(xiàn)日志與鏈路關(guān)聯(lián)。告警模塊對(duì)分鐘級(jí) Metrics 維護(hù)滑動(dòng)窗口規(guī)則命中后通過(guò) WebHook 通知外部系統(tǒng)。對(duì)于 Span 內(nèi)部難以定位的慢方法還可以通過(guò) Trace Profiling 周期采樣目標(biāo)請(qǐng)求線程棧由 OAP 合并計(jì)算 Duration、Self Duration 和 Dump Count。二十二、你目前對(duì) SkyWalking 的掌握層次現(xiàn)在已經(jīng)不只是會(huì)啟動(dòng) OAP 打開(kāi) UI 查看 Trace而是已經(jīng)貫通了-javaagent 啟動(dòng) 插件匹配 字節(jié)碼增強(qiáng) Entry / Local / Exit Span ThreadLocal 上下文 Span 棧 跨服務(wù)傳播 數(shù)據(jù)庫(kù)分層診斷 Segment 異步上報(bào) OAP Source 與 Metrics 服務(wù)拓?fù)?日志關(guān)聯(lián) 告警時(shí)間窗口 Trace Profiling按后端面試標(biāo)準(zhǔn)可以歸納為三個(gè)層次層次當(dāng)前狀態(tài)會(huì)部署和使用已掌握會(huì)根據(jù) Trace 定位問(wèn)題已掌握能解釋 Agent 與 OAP 核心原理已形成完整主線能獨(dú)立修改 Agent/OAP 源碼尚需專項(xiàng)源碼工程訓(xùn)練二十三、最終記憶圖-javaagent ↓ premain ↓ 配置加載 插件掃描 ↓ Byte Buddy Instrumentation ↓ 框架類被增強(qiáng) ↓ HTTP 請(qǐng)求進(jìn)入 ↓ EntrySpan ↓ LocalSpan / ExitSpan ↓ ContextManager ThreadLocal Span Stack ↓ 跨服務(wù) ContextCarrier ↓ TraceSegment ↓ Agent 內(nèi)存隊(duì)列 ↓ gRPC 11800 ↓ OAP TraceAnalyzer ↓ Source ↓ OAL Metrics ├─ Dashboard ├─ Topology ├─ Alarm └─ Storage 同時(shí) 業(yè)務(wù)日志 → LogData → TraceContext → OAP 日志關(guān)聯(lián) Profiling Task → Thread.getStackTrace() → Snapshot → OAP 合并分析下一階段建議不再繼續(xù)平鋪源碼而是進(jìn)入SkyWalking 面試拷打與故障實(shí)戰(zhàn)復(fù)盤(pán)從 Agent 不上報(bào)、鏈路斷裂、連接池耗盡、慢 SQL、日志丟失、告警不觸發(fā)等場(chǎng)景要求你先判斷問(wèn)題層級(jí)再給出排查順序。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
狠狠狠狠狠| 亚洲在线成人| 五月丁香成人| 六月综合在线| 五月久久亚洲| 五月天婷婷久久日| 黄色五月婷婷| 色播五月天婷婷老师| WWW.桔色成人.COM| 99久久九九| 色婷婷六月| 婷婷激情五月综合基地| 深爱五月月天| 九九精品自拍| 国产视频福利| 丁香五月黄色| 超碰中文字幕在线| 91 久热| 91操碰| 丁香婷婷在线| 综合综合网| 激情网第九色| www.zbzhongsen.com| 丁香香蕉婷婷| 色天堂操| 97色视频网| 激情AV综合| 人人草成人视频| 涩涩激情五月婷婷| 99热人人操人人操| 中文字幕av网站| 国产人妻777人伦精品HD| 91在线日| 婷婷五月天丁香花| 亚洲日日操| 9999三级片| 五月花综合视频| 啪啪激情网站| 五月天婷婷激情春色小说| oumeisesewang| 超碰人人草| 性爱网六月丁香| 丁香性爱在线视频| 婷婷五月天国产性感美女演员久久久久| 久操热| 99久久99九九九99九他书对| 丁香五月六月综合激情| 99热在线观看| 欧美大片免费观看| 五月婷婷亚洲色视频| 成人网丁香五月| 天天色天天干天天插| 久久婷婷五月国产激情综合片| 99热青青草| 99九九中文字幕视频| 99久热在线精品99re6热| 99人妻碰碰久久久禁片| 五月婷婷激情啪啪| 色婷婷精品视频| 五月五月婷婷| 久久9视频| 激情综合区| 大香蕉综合在线| 97精品欧美91久久久久久久| 99热香港| 99色性爰网络| 另类小说五月天| 九九精品热| 在线另类| 狠狠插.com| 激情影院69| 97人人妻人人艹| 色综啪啪| 99干日日干| 四色五月婷婷在线观看| 婷婷色正月| 91热网址| 亚洲欧洲另类| 五月婷中文娱乐综合| 97超碰9久热婷婷热| 丁香五月很很肏| caopeng97人人| 99人人干人人| 天堂婷婷五月色| 五月婷婷欧美激情| 天天天天天日| 97午夜一区二区| 视频1区2区| 97久久人人| 亚洲成色综合网站免费观看| 开心激情播播五月天| 色天五月天在线观看视频| 原琪琪色影院| 婷婷激情久久| 超碰精品在线| 丁香五月激情啪啪| 色婷婷小说网| 免费成人网在线观看| 亚洲旡码| 夜夜骑天天玩天天日| 激情av在线| 五月永久激情| 9l视频自拍九色9l视频在线观看| 欧美日韩中文国产一区发布| 色99自拍| 五月天伊人手机在线播放AV| 久99久在线| 婷婷五月天av| 五月婷婷偷拍| www.五月天激情| AA久久| 久久er99热精品一区二区| 香蕉99网| 涩涩五| 婷婷九月在线| 69热91天堂| 玖玖爱综合网| 激情综合五月婷婷六月丁香| 成 人片 黄 色 大 片| 色婷婷四虎| 五月婷视频久久| 思思热久久久在线| 一本道在线电影| 天天干,天天操,天天射| 五月丁香六月欧美| 色狠狠色噜噜AV天堂五区| 色天堂97| 久草五月天| 五月婷婷丁香五月| 婷婷在线精品| 91视频一起草| 视频1区2区| 天天操天天日天天爽| 色婷婷激情四射视频| 免费看欧美成人A片无码| 99玖玖在线视频| 丁香五月六月欧美| av亚洲国产小电影| 99色啊| av在线观看网站| 天海翼中文字幕高| 99成人精品| 五月丁香| 99色婷婷| 色五月六月| 激情婷| 亚洲色欲欧美一区二区三区| 久久AAAA片一区二区| 九九精品99| 婷婷无码五月天| 国产精品久久久久久亚洲毛片| 成片免费播放| 狠狠狠狠狠狠狠狠| 天天爽天天爽天天爽天天爽天天爽| 丁香婷婷激情五月天无毒不卡蜜桃| 天天色天天操天天射| 全亚洲最大的婷婷五月天网站COM| 欧洲色| 任我干视频在线观看| 日韩一区二区在线播放| 午夜不卡久久精品无码免费| 五月婷婷综合色啪| 大伊香蕉精品视频在线| 婷婷五月天日日日干干干| 日本在线免费中文com.| 九九aV| 精品久久久999| 婷婷 丁香 精品| 久久资源综合| 色爱综合网| 91精品久| 婷婷五月色播| 超碰操网| av大香蕉| 激情五月色综合国产精品| 国产精品99久久久久久久女警| 无码se| 亚洲精品无码久久| 色色永久| 婷婷丁香五月天综合激情| 天天干夜夜b| 熟妇人妻中文字幕无码老熟妇| 男人天堂伊人五月丁香| seav天堂| 五月天婷婷小说| 久久伊人婷| 久久这里只有精品8| 91操女| 老司机日日夜夜青草| 久热伊人在91| 人妻22p| 久久五月丁香| 99年操人人爽| 99精品在这里| 97久久久| 激情综合色婷婷啪啪五月天| 激情六月色| 亚洲综合另类| 婷婷激情五月天亚洲综合| 日本精品人妻无码77777| 91啪级电影| 婷婷丁香红五月91C| 激情五月丁香综合网站| 久久激情五月婷婷| 大地9中文在线观看免费高清| 五月婷免费视频久久久| 丁香五月婷婷99| 庭庭久久内射| 97色色色色色色色色色色色色色| 九九激情视频| 婷婷五月花| 亚洲综合婷婷五月| 美女网黄| 日本44久久在线| 激情文学五月丁香六月婷婷| 五月丁香六月在线欧美| 精品操逼一区二区| 丁香六月激情| 激情综合丁香五月| 婷婷五月播| 成人免费黄色短视频| 99精色| 久久9视频欧美| 桃色五月天| 99热这里有精力| 婷婷五月激情图片| 久久探花91swag| 97操操操| 婷婷色五月综合| 性生活视频98791| 99热99色| 天天干天天干天天干| 精品视频这里只有精品| 91啪啪啪啪| 五月激情影院| 日韩精品一区二区亚洲AV观看| 激情五月图| 天堂在线婷婷| 天天躁日日躁狠狠躁日日躁2022年5月9日 | 极品人妻videosss人妻| 五月伊人网| 狠狠操狠狠色| 性爱久久| 日韩成人av在线| 激情五月视频| 五月丁香婷婷综合在线| 五月天丁香成人| 欧美五月停| 99久久婷婷国产综合| 久久 这里只有精品1| 99热欧美精品| 狠狠综合久久综合| 狠狠操狠狠色| 国产小精品| 婷婷色婷婷亚洲成人| 国外亚洲成AV人片在线观看| 丁香九月婷婷| 激情久久肏屄视频| 丁香五月天激情综合| 五月丁激情| 五月激情啪啪啪| 奇米影视在线视频| 九九色婷| 国产婷婷婷| 日韩三级高清无码| 丁香五月天信号| 综合精品啪啪| 九九久99免费视频| 久草婷妨| 99丁香婷婷综合网| 成人网在线观看视频| 欧美日韩99| 天天爽天天日| 久久综合人妻| 五月婷婷官网色| 五月天色导航| 亚洲欧洲自拍图片专区五月天| 久久婷婷色| 女人天堂久久| 久久久久久久久久久44| 少妇婷婷五月天| 九九色黄色| 99热爆在线| 久久精品99国产精品日本| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 天天日综合| 思思热在线免费视频| 视色网在线播放| 五月婷婷xxx| 久久人人超| a色婷婷| 九九久99免费视频| 激情图片婷婷丁香五月| 日本久久视频| 五月丁香久人妻中文| 伊人久久五月天| 日韩精品999| 日本99在线视频| 亭亭玉月丁香| 丁香五月婷婷黑人妻黄色电影院| 99re热精品视频国| 激情五月无码| 五月色天五月色| 亚洲色域网| 夜夜做天天爽| 久久丁香五月婷| 五月婷av| 99在线视频精品| 婷婷人人操| 国产成人在线精品| www.狠狠| 久久受www免费人成| 日韩欧美成人一区二区三区| 综合色视频| 色色九区| 五月天激情偷拍| 久久婷婷六月综合资源| 青青草原精品久久| 婷婷九月综合| 欧美成人AAA片一区国产精品| 99精品国产在热久久| 9久热精品在线视频| 激情涩播| 五月婷婷色影院| 99久久66| 另类综合婷婷五月天欧美视频| 色色色色热| 曰曰久久| 影音先锋男人女人| 一级二级色大片| 九月丁香婷婷综合| 狠狠操.COM| 日本五月婷| 久草性爱| 婷婷综合性爱网| 影音先锋91男人资源在线播放| 色欲五月婷婷| 亚洲日韩26uuu| 亚洲色在线观看| 中文字幕在线播放视频| 婷婷六月激情综合| 亚洲午夜av| 亚洲色域网| 日韩综合久| 超碰碰碰碰| 丁香六月毛片| 久久伊人大香蕉| 极品人妻VIDEOSSS人妻| 五月婷婷色影院| 五月丁香啪啪啪啪| 色色色99| 丁香五月激情啪啪啪| 久操人妻| 色综合色色色| 大战熟女丰满人妻AV| 中文字幕激情综合| 综合热无码| 久久WW| 亚洲妇女熟BBW| 日本黄色精品| 丁香五月成人在线| 五月婷婷色五月| 丁香五月婷婷综合激情啪啪啪啪啪啪啪 | 六月综和久久| 激情综合区| 2025超碰| 狠狠人人| 5月丁香啪啪啪| 欧在线一区| 99久久久国产大片| 六月婷婷综合激情| 91九色无码内射| 伊人大香五月天| 五月丁香婷婷免费视频| 99热午夜精品| 五月夜丁香| 欧美色久| 色99热| 五月开心播播网| 久久99婷婷| Www.狠狠| 日本wwww在线| 婷婷色五月情| AA片在线观看视频在线播放| 五月色综合网欧美网| 激情五月天影院| 超碰av在| www.五月天婷婷姐姐| 91久热| 欧美色色色色色色| 丁香六月色婷婷| 亚洲妇女熟BBW| 91久操| 99噜噜| 国产亚洲成人综合| 丁香婷婷五月基地| 色在线免费观看| 内射激情在线| 日本精品人妻无码77777| 狠狠综合久久| 激情开心五月婷婷| 色色a| 香蕉婷婷色五月| 五月久视频| 久久久全国免费视频| 婷婷五月丁香基| 丁香五月天堂| 99热香港| 午夜不卡久久精品无码免费| 26uuuavcom| 少妇AB又爽又紧无码网站| 性色播| 天天色天天日| 涩综合在线| 99成人在线观看| 色色99| 99色视频| ri电影在线| 日本99久久| 99久久精彩视频。| 九九无码| 六月婷婷影院| 亚洲国产网址| 免费看成人747474九号视频在线观看| 伊人婷婷五月天av| 97资源碰碰| 五月丁香网站| 99视频自拍| 久久综合中文| 激情六月天| 都市激情五月婷婷综合| 九日日夜夜69| 天天日日夜夜| 色5月婷婷| 丁香五月影院| 久久一伦| 日本一级大片| 91色婷婷综合久久中文字幕二区| 影音先锋色婷婷| 久久婷丁香五月| 另类视频一区| 五月婷庭丁香在线| 超碰成人在线免费观看| 日韩黄色电影| 日韩a热| 无码激情AAAAA片-区区| 丁香激情综合| 色色五月天激情| 91Chinese在线| 婷婷激情蜜桃玖玖丁香| 999九九九久久久99HD| 大天天伊人| 丁香五月影院| 播丁香五月婷婷欧美| 色吧五月婷婷| 精品思思久久| 九九综合九色欧美狠狠| 99A级片| 激情影院内射| 1024你懂的欧美曰韩| 超碰在线免费| 六月婷婷网站| 丁香蜜臀黄色婷婷五月天| 99这里有精品视频| 无人精品在线视频| 少妇性BBB搡BBB爽爽爽视頻| 丁香五月天在线观看| 日本人妻A片成人免费看片| 另类少妇人与禽zOZZ0性伦| 五月之婷婷| 九九久久99精品免费观看www| 人妻丰满精品一区二区A片| 凹凸操Av| 婷婷五月丁香基地在线视频官网| 色婷婷亚洲综合天堂| 色色色99| 欧美黄色AA片哗啦啦啦| 久久丁香五月婷婷激情综合网| www.婷婷久久五月天| 日韩九区| 99精品大片| 亚洲思思热久| 丁香五月婷婷99| 亚洲精品久久久久AV无码| 狠狠操狠狠操AV| 开心五月激情| WWW99热| 91妻人人爽人人看片| 久久性操| 99爱在线免费视频| 另类国产综合| 开心婷婷五| 秋霞AV美国| 欧美三级巜人妻互换| 日本视频99| 婷婷综合五月色播| 2018国产大陆天天弄| 26.uuu丁香五月婷婷| 操操操操操电影网| 蜘蛛女免费观看完整版高清电影 | 天海翼中文字幕高| 激情五月天色色网| 亚洲婷婷91丁香| 伊人深爱综合| 精品99网站| 婷婷综合久久| 超碰人人超碰| 国产成人AV在线播放| 天天干天天日蜜臀av| 天天干天天做| 成人网站在线观看视频| 色色日本欧美| 丁香六月久久| 天天天久久人人人合| 天天操夜夜玩!| 丁香婷最新动态| 色婷婷偷拍| 超91在线视频| 黄色成人AV在线| 欧美情色电影一区二区| 国产午夜成人AV在线播放| 五月丁香婷婷综合| 超碰色综合| 九九激情| 色婷婷狠| 久操干| 99热精品超碰| av在线不卡播放| 亚洲中文字幕翔田千里| 色色999三级片| 亚洲亚洲人成综合网络| 国外亚洲成AV人片在线观看| 97人妻超级碰碰碰碰碰| 人妻丰满精品一区二区A片| www.色婷婷| 思思热在线观看| 丁香六月婷婷| 亚洲激情av| 五月婷婷五月| 另类小说五月天| 久久婷婷色| 五月天久久婷婷| 国产无套精品一区二区| 婷婷激情图片| 99国产精品久久久久久久久久久| 中文字幕精品无码一区二区| 懂色av粉嫩AV蜜臀AV| 九九色插| 激情四射婷婷色色色| 免费看无码视频A级| 天天综合色丁香| 曰曰久久| 激情丁香婷婷六月天| 婷婷99狠狠| 六月成人网| 99久久欧美| 亚洲激情六月丁香| 91精品综合久久婷婷九色| 色吧五月婷婷| 丁香六月婷婷五月天| 99无码免费视频| 精品福利911| 亚洲久热无码| 99九九在线视频| 中文字幕在线播放视频| www.婷婷| 伊人影院久久网| 亚洲成人另类| 狠狠香婷婷五月| 久久精品永久免费| 五月婷婷综合在线| 激情深爱五月天| 老美AA片| 亚洲AV另类| 超碰chaompinm| 国内婷婷丁香社区在线播放| 深情五月天| 久久99婷婷| 中国丰满熟女A片免费观| 青青草青青草五月天| 9热久久| 久久99网站| 日本97人人| 欧美图片丁香五月天| 五月天婷婷xxx| 天天透天天摸天天舔| 五月激情婷婷国产精品久久久久久| 毛片新网地| 熟女人妻一区二区三区免费看| av超碰在线| 色~性~乱~伦~噜| 婷婷丁香水多多视频| 五月丁香六月婷婷久久| 五月丁香六月激情在线| 9色在线视频精品观看| 午夜婷婷| 色情五月婷婷| 这里只有精品视频在线| 天堂五月婷婷| 五月婷婷黄色视频| 九九九热精品| 日本色色视频| 视频综合网| 激情五月丁香亭亭| 内射干少妇亚洲69XXX| 婷婷五月丁香超碰| 五月天激情图| 九九99精品视频在线观看| 热99色| 色狠狠五月天| 久久人妻精品| 天天干天天av天天射| 婷婷五月av| 91干在线视频| 久久五月天激情视频| 丁香五月手机在线| 色婷婷无吗| 国产日批视频| 综合色播| 婷婷五月天久久综合88| 五月六月激情| 欧美肉大捧一进一出免费视频| 婷婷九月狠狠色| 精品怡红九九九| 天天爱天天爽| 色综合久久88色综合天天99| 五月婷婷天天| 国产干逼片| 26uuu国产色| 色玖玖爱| 婷婷趴趴| 五月性色| www.久操| 婷婷五月天BBw| 在线观看免费视频| 激情五月天婷婷激情| 99毛片| 玖玖综合玖玖| 79色色| 高清资源站日A美A欧亚…| 久热99| 六月99天天婷婷激情综合| 九九精品少妇| 色婷婷五月中文字幕在线dvd| 性色做爰片在线观看WW| 精品人妻一区二区三区在| 色丁香五月婷婷| 曰曰久久| 伊人久久大香线蕉av最新| 色色com| 俺去婷婷 丁香| 怡红院精品视频久久久久久久久| 少妇水多A片太爽了| 久久黄色网扯| 免费看欧美成人A片无码| 激情五月天啪啪视频| 97色色色色色| 天天人人综合| 久99| 色婷婷成人影片| 九九亚洲| 五月婷婷丁香五月亚洲色| 亚洲人妻av| 五月天激日本色情在线| WWW.桔色成人.COM| 五月丁香久久久| www.色多多婷| 另类综合婷婷五月天欧美视频| 在线综合啪| 99九九精品| 成人在线高清| 色综合久久综合中文综合网| 婷婷色播婷婷| 久久综合九九| 久久这里只有国产精品视频| 91婷婷丁香五月亚洲| 激情五月天伊人av| 黄色片精品| 久久99婷婷| 久久视这里只有精品| 久草五月天电影网| 开心婷婷五月综合| 狠狠狠狠狠狠| 天天日天天舔天天摸| 另类天堂| 久热这里只有精品视频免费观看| 婷婷五月天你懂的| 99操视频| 日操五月婷| 99re资源在线视频导航| 色五婷婷在线视频| 九九性视频| 少妇水多A片太爽了| 亚洲色激情| 国产ava| 婷婷五月综合在线| 丁香五月激情无码视频| 欧美久久网| 色人久久| 亚洲激情免费视频观看| 91精品国产91久久久久青草| 狠狠精品干练久久久无码中文字幕| 就爱射中文字幕资源网| 五月天婷婷情色| 激情九月婷婷| 97色色在线视频| 国产熟妇乱子伦hd| 日本精品人妻无码77777| 97成人丁香| AV动漫不卡无码免费| 深爱激情中文五月天av| 丁香五月人妻熟女| 五月婷婷五月天| 99久久综合| 搡BBBB搡BBB搡五十| 久久久五月天婷婷成人网| 精品成人在线观看| 日在线V视频在线播放| 亚洲日日日| 五月婷婷婷| 99视频热99| 久草视频一,二三四| 99久久a线观| 丁香五月天中文字幕| 超碰免费人人| www91色网站| 九九RE视频在线精品| 99热只有精品在线观看| 婷婷情色五月天| 不卡在线视频| 亭亭色色五月天| 天天射色五月天| 色五月综合在线| 中文字幕久久婷九女同| 影音先锋女人av鲁色资源网小说免费| 丁香婷婷影院| 亚洲精品字幕| 大香蕉综合在线| 99热亚洲精品| 婷婷成人基地| 91九色国产| 五月天综合激情网| 老师的粉嫩小又紧水又多A片视频 粉嫩AV久久一区二区三区 | 亚洲免费观看高清完整版AV线| 国产人妻人伦精品一区二区| www.婷婷亚洲基地| 婷婷久久亚洲| 欧美性生交XXXXX无码小说| 肏屄色播伊人97婷婷| 久热精品视频| 九热视频在线伦| 夜夜谢天天干| 大香蕉婷婷五月天| 久久久精品人妻| 五月综合激情视频| 色婷婷成人在线| 五月香婷婷| 久久婷婷综合国产| 另类图片五月天婷婷| 国产精产国品一二三在观看| 婷婷深爱五月天| 五月丁香色婷婷久久| 色色色9| 天天综合永久| 婷婷一本和五月丁香| 丁香六月婷婷开心| 、激情六月天| 婷婷五月色| 五月婷婷欧美| 色婷婷五月天成人网| 色九九一二| 丁香婷婷五月激情四射网| 婷婷五月天激情影片| 天天日综合网射| 大香蕉九九| 丁香婷婷大香蕉| 婷婷五月综激情| 97色色综合| 97色操| 玖玖婷婷婷丁香五月| 久久99日本精品视频免费观看| 激情综合文学| 五月婷婷先锋| 激情五月婷色| 欧美在线视频9| 丁香五月婷婷99| www,超碰| 超碰在线国产9| 色婷婷888| 色婷婷六月天| 99亚洲精品视频在线观看| 少妇高潮一区二区三区99欧美| 九九色影视| 婷婷97| bbwcuckold精品熟妇| 亚洲精99| 五月婷婷激情色情网| 五月丁六月香av| 69激情小说| 99爱免费视频| 色色色色色色网站| 丁香五月天激情综合| 亚州操操| 思思热视频在线| 精品一二三区久久AAA片| 日韩中文字幕| 97婷婷五月丁香| 成人人操| 丁香色五月天| 九九视频在线| 婷婷久久精品| 97香蕉碰碰人妻国产欧美| 国产成人网址| 性做久久久久久久免费看| 久久大香蕉丁香| 色 噜噜 九月 婷婷| 五月丁香在线观看99| 天天看A片| 亚洲婷婷丁香五月天激情小说| 六月婷婷狠狠做| 久久久久久性爱视频| 色婷婷88| 日本天天操| 亚洲综合色激情色五月| 大香蕉欧美在线| 99er日韩| 99re在线这里只有精品视频首页| 狠狠干婷婷| 中文av网| 丁香操逼| 久婷五月| 久99久热只有精品国产99| 五月婷婷真爱激情网| 成人网址在线观看| 国产在线aaa片一区二区99| 99精品丰满| 日本3级片偷拍网站| 人人人人人人人人人草| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 成人AV免费观看| 久久在线视频免费观看| 人操人人| 婷婷色播色五月五色五月天色妇| 色婷婷色人人射| 黄色成人网站在线播放| 伊人青草成人| 免费在线观看欧美激情xx小视频| 538在线精品| www久久久久久久久久久久久久久久久| 97黑人精品区| 久久A热| 成人在线日韩欧美| 情欲禁地| 大香蕉久久久久| 五月欧美色色五月| 色情综合| 五月婷丁香久久综合| 丁香五月婷婷激情小说| 亚洲天堂aaa| 久久久婷婷婷| 99狠狠| 激情五月婷在线精品| 97人人射| 丁香香蕉婷婷| 国产26uuu视频| 久久人人看| 国产探花一片区| 亚洲综合网激情小说| 丁香五月综合激情啪啪| 五月停视频天堂| 五月激情五月丁香| 激情性爱五月| 五月天婷婷激情六月久久| 噜噜色五月| 另类视在线| 亚洲图片 丁香婷婷| 久1色色| 五月丁香婷婷色色| 国产综合81p| 丁香激情婷婷网| 色婷五月天| 99精品自拍| 九色无码| 另类图片五月激情| 美国天天日天天操| 日本精品久久久久中文字幕| 久久婷婷五月综合| 碰97久久| 成人丁香五月婷| 婷婷爱五月天人人爱| 免费看欧美成人A片无码| 激情五月天丁香| 精品久久9| 丁香五月婷婷天堂大香蕉| 亚洲A色| 激情小说色五月| 天天成人五月天| a在线观看| 99热r| 色色吧综合| 成人五月天丁香婷| 六月婷婷激情| 久久天堂加勒比| AV操操操| 9热在线视频| 婷婷丁香色五月| 1024欧美看片| 丁香五月天成人| 毛片九九九九九九九九18| 欧美视频在线观看噜噜| 91男同视频| 五月丁香色狠狠干大屄| AA片在线观看视频在线播放| 五月色欧洲| 欧美性生交XXXXX无码小说| 99热精品网| 日本精品人妻无码77777| 最新激情五月天| 99精品国产乱码久久久人妻| 五月天开心成人网| 少妇大叫太大太粗太爽了A片| 婷婷五六日| 97在线观视频免费观看| www.五月婷婷久久.com| 五月天婷久久| 五月网网站| 亚洲AV永久无码影院黑人| 夜夜夜夜撸夜夜操| 香蕉操亚洲| 九洲一级A片| 97人人操人人爽| 久热精品视频在线观| 五月综合久久| 五月婷婷伊人网| 色婷婷呢狠禁久禁| 综合五月天完整| 久碰综合| 亚洲综合在线视频| 少妇日麻屄| 色婷婷六月| 色五月激情婷婷| 欧美性猛交99久久久99| 女婷久久| 婷婷的激情五月| AV片一区在线观看| 狠狠狠狠狠狠狠狠| 色婷婷影| 91色婷婷综合久久中文字幕二区| Xx色综合| 综合色七七| 天天色宗合| 欧美三级欧美一级| 婷婷另类小说| 色色色色色色97| 91综合在线观看首页| 激情图片久久| 天天爽成人综合网站| 五月婷婷影视| 婷婷五月丁香六月综合网| 97碰碰视频在线观看| 激情六月天| 狠狠狠夜夜夜| 婷婷的99视频网站| 色五月激情网| 亚洲热久久| 久久激情视频| 香蕉97碰碰碰欧美| 99色在线| 同性gv国产精品一区二区| 91精品刘玥| 久久婷婷色| 精品国产va久| 色婷婷五月影视| 五月天婷婷午夜丁香| 51精品国自产在线| 色婷婷丁香五月| 激情q青青草在线婷婷| 五月丁香婷婷色啪| 狠狠色噜噜狠狠狠狠综合| 亚洲成人高清在线| 成人在线观看国产| 九九热视频99| 色欲丁香久久| 五月婷婷婷| 一本道在线电影| 91精品久久久久、久五月天| 天天噜天天爱| 成人中文字幕在线| 最近韩国日本免费高清观看| 亚洲天天操| 五月天婷婷色五月天| 日韩无码性爱| 97丨九色丨国产丨PORNY| 99热这里只有精品在线| 欧美综合婷婷欧美综| 色色色在线观看| 天天日天天爽| 五月丁香激情婷婷| 激情综合色| 人妻激情综合| 婷婷日韩| 99九九久久| 人人看人人要| xxxx五月激情| 97婷婷在线| 六月色丁香婷婷| www.99热| 久色婷婷200| 久久香蕉婷婷五月天| 啪啪激情网| 97成人在线视频| 中文字幕按摩做爰| 国产激情综合五月久久| 热成人网| 激情网狠狠干| 久久激情视频99| 色都都狠狠色都都色综合色| 丰满人妻一区二区三区| 欧美精产国品一二三区| www,99热| 五月婷丁香在线视频在线| 69精品人人人人| www.五月婷婷久久.com| 亚洲精品性色| 五月婷婷丁香伦理网| 狠狠色综合网| www一起操在线观看| 99热午夜精品| 51精品国自产在线| 91丨九色丨东北熟女| 激情五月丁香六月综合AVXXXX| 婷婷六月花| 天天拍天天做视频| 激情五月深爱五月| 精品视频网| 久草婷婷在线| www,999日本色| 人妻少妇色综合| 婷婷色播婷婷| 亚洲综合草草| 色情五月综合婷婷| 亚洲va欧洲va国产va不卡| 久久99这里只有精品视频 | 五月天综合| 人人爱操| 大香蕉520| 人人操AV| 在线成人视频免费| 亚洲人人操| 色色色色色网| 婷婷精品综合| 99免费视频网| 五月丁香花婷婷玉莉AV| 思99热精品久久只有精品| 99色看这里只有精品| 91精品久久久久| www.91婷婷| 激情综合网五月| 五月丁香久久久久| 超碰电影在线播放| 日本精品99网站| 五月丁香婷婷啪啪| 超碰91在线| 天天激情5月天亚洲| 性色播| 99在线er热| 色婷婷精品小视频| 五月噜噜| 五月婷六月丁香| 99视频只有这里精品| 99热6这里只有精品| 亚洲无码激情| 9久久精品视频| 亚洲情色一区| 精品在线网站| 欧洲99视频在线| 日本精品。999| 天天更新天天亚洲| 久久精品永久免费| 五月激情天天干| 99这里只有精品99| 激情开心五月天| 色婷操逼| www.婷婷| 欧美性生交XXXXX无码小说| 色五月 婷婷, 大香蕉| 久久人视频| 婷婷丁香五月91| 激情婷婷五月久久| 欧美噜一噜| 热99只有里视频| 日本爆乳片手机在线播放| 婷婷激情综合网| 婷婷五月天av| 色色色com| 色吊丝永久访问网址| 中文字幕av久久爽一区| 五月熟妇婷婷久久| 色久天| 超碰在线99| 色五月婷婷网| 婷婷五月超碰| 91人人爽狠狠狠| 热久久这里只有精品| 久色网五月| 五月婷婷激情网| 9+1视频网址| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 深爱激情综合网| 丁香六月啪| 狠狠色综合五月人人| 综合久久综合五月天婷婷| 五月丁香六月婷婷久久肏| 六月婷婷无码| 夜夜做夜夜愛| 啊v视频在线观看| 在线视频婷婷| 久久亚洲天堂| 好吊操这里只有精品| 黄色激情五月天| 这里只有精品视频免费在线观看| 激情婷婷丁香五月| 大香蕉五月天婷婷丁香91| 狠狠va| 五月丁香六月情| 婷婷亚洲天堂| 97操碰在线视频| 激情五月深爱五月| 丁香六月婷婷综合缴| 激情五月婷婷| 五月丁香色综合| 日本天天综合| 99爽视频| 一级黄色片看看| 中文字幕在线播放视频| 狠狠色噜噜| 99久久网站| 欧美乱码国产一级A片| Av性爱网站| 97九色视频| 万月丁香狠狠爱| 日韩综合网络男女香蕉a片| 日本 @ va 免费| 色色色99| 九月丁香八月婷婷加勒比| 丁香五月天堂网| 天天爱天天做天天操| 中文成人在线| 91无码视频| 五月婷婷中文| 99噜噜噜在线播放| 97碰| 久久99热久久99精品| 成人片黄网站色大片免费毛片| 五月丁香啪啪综合| 人人人操97| www.婷婷| 91久热| 久久婷婷内射| 级人人91| 丁香五月综合福利视频导航| 五月天大香蕉| 停停六月 综合| 日本熟女一区二区| 五月婷婷激情| 伊人久久婷婷| 天天做天天爱天天爽| 99情色五月天| 综合热无码| 亚洲精品又粗又大又爽A片| 激情久久久久久| www.激情五月| 丁香五月婷婷激情中文| 婷婷五月天无码熟女| 五月天色婷婷综合| 久久九九玖玖| 五月丁香六月激情| 丁香婷婷久久五月天| 伊人丁香花综合影院| 影音先锋女人AA鲁色资源| 色色色色色热| 五月婷六月| 久久免费丁香| 日日干日日| 国产真人做爰视频免费| 99re热精品视频国| 99热这里只有精品首页| 大香蕉综合在线| 色天堂A| 日本一毛片| www,色婷婷| 五月激情网站| 青青草a在线| 丁香欧美| 大香蕉综合视频在线| 久久一热免费视频| 99这里只有精品|v| 国产亚洲99久久精品| 六月色色| 99热网站| 久久9久| 婷婷色网站| 欧美人妻一区二区| 超碰成人电影| 超碰免费99| 久久人人超| 日日操日日撸| 日夜操B| 亭亭色色五月天| 婷色五月| 中文字幕成人| 丁香六月开心| a久久| 婷婷日日天天| 96精品国产综合久久久久久| 亚洲激情综合五月婷婷啪啪| 色噜噜狠狠狠狠色综合久欧美| 婷婷色成人| 91精品啪| 深爱五月激情| 色综合大香蕉| 99热免费精品| 狠狠肏综合网| 人妻视频一区而且二区| 婷婷五月花西瓜| 91se在线观看| 五月婷婷性爱| 天天日天天摸天天| 国产一区二区av免费| 青草青青草| 色婷婷9| 亚洲九九夜夜| 99热首页在线30| www.色欲丁香婷婷| 激情五月天激情小说| 99色日本| 91久久婷婷| 五月丁香日本片| 99热8在线| 激情九九六月激情免费视频| 99热在线播放| 性av| 五月在线| 国产 码在线成人网站| 国产69精品久久久久999小说| 色婷婷丁香AV综合| 婷婷久久婷婷| 九九精品热| 思思热热久久| 综合激情五月婷婷| www.夜夜操.com| 色婷婷色人人射| 99网址在线看| 国产人妻人伦精品一区二区| 99热这里只有精品50| 久久视频婷婷| 天天爽天天操| 欧美黄色AA片哗啦啦啦| 九月丁香婷婷| 91中文狠狠综合| 第四色五月婷婷| 五月婷婷狠天天色综合| 97超碰欧美中文字幕| 色噜噜狠狠一区二区三区| 五月综合色播播丁香婷婷 | 99热 在线播放|