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
返回資訊列表
亚洲精品一区无码A片| 99热伊人| 午夜激情综合| 五月激情啪啪| 色丁香五月婷婷| 八戒青柠影视剧在线观看| 伊人婷婷福利网| 激情综合色婷婷啪啪六月天| 熟女激情网| 亚洲激情 久久| 丁香婷婷六月天| 婷婷五月综合在线| 丁香六月AV| 99热在线观看这里只有精品| 99激情视频| 久久五月网| 六月狠狠综合| 伊人99热| 99玖玖视频| 丁香婷婷六月天| 日韩精品成人在线| 色五月婷婷 成人| 丁香六月色情| 中文字幕精品在线观看| 无码日本精品XXXXXXXXX| 99资源在线| 热99国产精品| 色色五月婷婷丁香| 日本五月婷婷久久久六月丁香| 操操自拍| 性爱网五月天| 日本在线wwww| 久热这里只有精品99re,久热这里只有精品7| 亚洲天堂aaaa| 丁香五月天激情免费在线观看AV777 | 久久五月视频| 亚洲V国产V欧美V久久久久久| 97影院一级片| 天天爽,夜夜爽| 人妻中文在线| 婷婷激情五月天激情小说| 另类国产综合| 99热这里只有精品亚洲| 久久五月丁香婷婷| 大香蕉五月天婷婷| 黄色AAAAA| 久久久婷婷五月天| 五月丁香婷婷久久| 中文av网站| 国产免费性爱| 色色婷五月天| 青柠影视免费高清电视剧| 69综合在线| 天天狠狠夜夜狠狠2023| 天天肏天天舔AV| 伊人天天色| 中文字幕在线免费观看视频| 色婷婷婷婷| 激情网五月天| 久操人| 亚洲 小说 欧美 激情 另类| 99re8在这里只有精品| 五月婷丁香| 思思热这里只有精品| 久草五月天电影网| 天堂婷婷丁香六月网| 天天精品视频免费观看| 玖玖爱伊人| 色五月 五月婷婷| 91啪级电影| 站长推荐无码播放| 美女被肏网站在线看| 樱花99视频| 婷婷五月综合丁香久久| 激情噜噜噜| 狠狠看狠狠| 丁香五月天啪啪| 1024在线视频| 亭亭色色五月天| 伊人五月婷婷| 色播五月丁香| 婷婷成人五月天| 色欲操| www:99热视频| www99精品亚| 丁香深五月婷婷| 婷婷五月亚洲一本在线丁香| 97人妻碰碰碰久久| 日本天天操| 超碰91人人操| 激情五月天在线视频| 黄色高清无码| 日本在线视频播放91| 这里只有精品免费在线视频| 婷婷噜噜| 亚洲V国产V欧美V久久久久久| 九九九九九九九热| 九月丁香八月婷婷加勒比| 婷婷亚洲五月丁香综合在线| 婷婷黄色| 婷婷综合五月天| 无码激情AAAAA片-区区| 无码婷婷五月天| 成人综合网站| 日韩欧美骚货| 婷婷五月日本| 999热这里只有精品| 丁香五月综合高清在线| 91操片| 另类A片| 激情q青青草在线婷婷| 日韩在线看AV| 亚洲AV成人在线| 99热大全在线观看| 伊人九九热| 婷婷色中文字幕| 色爱99| 久久九九激情五月天 | 五月天色不卡| 婷婷五月天久久| 玖玖婷婷视频| 99精品偷自拍| 天天做天天爱天天综合| 欧美天天草人人草| 91午夜婷婷狠狠久久综合9色| 996er在线观看| 狼人久草| 噜噜色五月| 99色人| 激情综合五月婷婷丁香| 五月婷婷欧洲| 先锋av性爱成人电影| 九九丁香社区欧美激情| 99这里只有精品在线观看| 婷婷精品视频| 丁香六月啪啪啪| 99视频在线看| 色婷婷成人做爰A片免费看网站 | 五月开心网| 一本道综合网| 综合超碰熟| 天天干天天插| 99人人精品| 丁香婷婷浪潮AV久久综合| 色五月亚洲| 婷婷五月激情六月丁香 | 久99婷婷色综合| 色J香五月天| www久久99| 丁香五月婷婷网| 色婷婷在线视频久| 综合亚洲色色| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 91婷婷丁香五月亚洲| 六月婷婷天天操夜夜爽视频| 碰97 久| 99热97| 五月色丁香婷婷中文字幕| 伊人久久艹| 婷婷五月中文字幕| 91碰碰| 97狠狠色| 丁香六月狠狠| 九九九热精品| 深爱五月日韩| 婷婷97碰碰| 日日狠狠久久偷偷四色综合免费| 五月丁香啪啪啪| 久久九网| 久久性爱视频| 国产五月婷| 色综合婷婷| 黄色精品五月婷婷| 色九月综合| 九九久久99精品免费观看www| 99精品久久久久| 啪啪六月婷婷| 无码九九九九| 天天干com| 中文字幕在线视频播放| 岛国AAAV| www一起操在线观看| 狠狠综合色网| 啪啪五月婷婷| 色色综合网站| 午夜婷婷六月天| 婷婷激情鹿城五月天| 婷婷五月丁香高清无码| 婷婷色婷婷| 国产激情在线观看| 91男人资源站| 婷婷丁香五月91| 亚洲婷婷五月天激情综合| 伊人婷婷99热精品| 婷婷在线播放| 国产XXXX搡XXXXX搡麻豆| 丁香婷婷基地| 亚洲操b| 色婷婷丁香五月天激情综合网| 色婷九九九| 免费看片操逼| 久久五月网| 97香蕉久久超级碰碰高清版| 国产97在线日韩亚洲女人被黑人巨大| 91操熟女| 综合六月久久| 色五月在线播放| 丁香五月婷在线观看| 六月丁香婷婷亚洲中文玖玖| 亚洲日韩26uuu| 久久五月激情网| www.色擼擼.com| 婷婷爱爱蜜臀天天操| 欧美乱码国产一级A片| 神马欧美精| 婷婷五月天精品| 天天狠狠夜夜狠狠2023| 91人操| 婷婷五月天综合久久日美女| 国产成人精品一区二三区熟女在线| www.minyis.com【JT】实力收量可预付QQ2101460746 | 99思思热只有在这里看| 色婷婷久久综合| 99综合视频一体| AV五月丁香| 91丨九色丨熟女|新版| 综合网激情五月天| www.99热| 91色婷婷综合久久中文字幕二区| 国产性爱在线| 久久婷婷五月丁香网| 啪到高潮激情丁香五月| 五月天色视频| 婷婷五月香蕉| 97超级碰| 99成人网站| A A色色| 人人爱人人草| 91超碰人人操| 九九热这里只有精品6| 色色无码| 六月婷婷色综合| 99re熱| 中文av网| 成人五月天丁香婷| 色五月天堂| 99热这里只有精彩| 色色草97| 色色色婷婷五月天| 亚洲精品婷婷| 日韩丁香涩| 色婷婷网| 色五月综合| 99热在线观看| 久久精品无码一区| 日本久久99| 激情五月综合亚洲另类| 99色在线观看| 亚洲av免费在线| www.激情五月天.com| 先锋资源婷婷| 天天天综合网| 亚洲欧美综合7777色婷婷| 色婷婷综合网| 天天操天天干天天日| 五月丁香婷婷综合视频| 欧美一级色| 99热欧美| 色色色.COM| 亚洲色综合| 另类视屏| 伊人喵咪a V| 男人的天堂在线婷婷| 婷婷五月天,影院| 99热天堂| 婷婷综合性爱网| 久久久五月天婷婷| 五月天激情无码高清| 色色色无码| 在线视频另类| 欧洲电影在线观看免费版英语版 | 日本狠狠色| 五月丁香人妻| 黄色片精品| 99热这里有精品| 91Chinese在线| 五月丁香在线观看99| 99热色在线精品| 激情婷婷| aaaaa不卡| 996精品热视频| 亚洲精品操一操、噜一噜、摸一摸、爽 | 99这里只有| 九九热123| 提提热五月天婷婷| 国产 A片 自拍| 97色碰| 婷婷成人五月天成人文学| 国产偷人妻精品一区| 91碰超| 激情视频综合| 丁香五月综合在线| 偷拍五月丁香| 五月婷婷六月丁香| 青草网在线观看| 九月丁香婷婷基地| 偷拍99在线视频观看| 久久激情天堂| 久久婷婷五月天| 99精品亚洲| 碰超亚洲| 天天插天天爱| 超级碰碰碰碰视频| 丁香六月婷婷开心婷婷网| 深爱五月天天| 欧美情月伍月天| 色情五月丁香婷婷网| 欧美精品XXXXBBBB| 久热精品免费视频4| 婷婷亚洲五月色综合| 国产高潮A片羞羞视频涩涩| 五月天综合色| 五月天另类综合网| 婷婷六月激情综合| 91人妻视频| 五月丁香六月色情网欧美| 丁香六月综合激情| 色五月婷婷久久爱| 97在线99| 人人做天天爱| 成人五月天综合网| 五月天综合区| 色噜噜狠狠色综合网| 亚洲精品又粗又大又爽A片| 亚洲AV免费国产电影| www.天天干| 色五月综合激情| 五月丁香黄色视频| 色六月丁香婷婷啪啪啪| 狠狠色色| AAAA亚洲| 亚洲精品**不卡在线播he| 亚洲99精品欧美一区| 色综合偷拍| www.99久| 日操五月婷| 31色区视频免费看| 婷婷五月天在线综合| 伊人玖玖婷婷| 亚洲综合在线视频| 激情五月婷婷综合网| 99九九这里有免费视频| 日本久久婷婷| 亚洲色情激情丁香五月| 屁股翘好撅高迎合跪趴| 99视频网| 97香蕉碰碰人妻国产欧美| 激情五月婷婷五月| www,欧美干干干干干干| 99九九热视频| 黄桃AV无码免费一区二区三区| 色婷婷在线视频综合| 综合久久97| 亚洲va综合va国产va中文| 五月天停停日日| 天天干夜夜谢| 色狠狠综合入口| 亚洲av免费在线| 色色色色色色综合网| 丁香五月天婷婷中文字幕| 久热这里只有精品在线观看| 中文字幕高清av| 五月丁香色播| 久久永久视频| 久久精品凹凸分类| 天天综合色丁香| 《诡秘之主》在线观看| 99久久色| 色色五月婷婷| 五月人妻婷婷视频| 天天摸人人摸| 丁香婷五月天| 成人短视频在线| 操碰99在线视频观看| 国产激情在线| 国产精品五月丁香| 免費亭亭成人| 9久国产精品| 免费观看全黄做爰的视频| 色色色成人网| 色六月天天激情综合网| 99国产在线精品视频| 五月丁香六月激情欧美综合| 婷婷五月天视| 六月丁香成人| 丁香五月综合| 久热网站| 伦乱天堂| 玖玖九九9999在线观看视频精品| 亚洲av成人在线| 久久这里只| 新激情五月开心五月婷婷五月丁香五月| 这里只有精彩视频| 九九热视频免费的| 玖玖在线资源视频| 开心深爱五月天| 亚洲欧洲另类| 亚洲色碰| 激情综合五| 热99免费在线| 婷婷射图五月天| chaopeng在线人人| 97婷婷五月| 激情综合网激情五月俺也去| 国产欧洲欧洲精品久久| aa久久| 五月天国产| 永久AⅤ1| 亚洲性爱99| 99在线观看亚洲| 婷婷色婷婷| 九九久久免费视频44| 色综啪啪网| 激情五月婷婷色综合| 丁香av网| 97丁香视频| 丁香五月玖玖| 五月刺激丁香月综合| 99这里只有精品|v| 婷婷娌伦网| 五月婷婷久久综合| 中文资源在线a| 婷婷狠狠综合网入口| 色婷婷久久9.com| 色综合色综合色综合| 被男人添B超爽视频| 婷婷久久综合| 丁香婷婷大香蕉| 99热青青草| 六月色播| 乱精品一区字幕二区| 亚洲精品又粗又大又爽A片| 无码人妻AV久久久一区二区三区| 免费无码毛片一区二区A片| 乱精品一区字幕二区| 国产精品久久久爽爽爽麻豆色哟哟| 人人干av| 无码激情AAAAA片-区区| Aα在线免费观看| 亚洲成人另类| 婷婷热婷婷色| 中文网av| 99热综合色图| 乱精品一区字幕二区| www.久久爱| 懂色av粉嫩av蜜臀av| 9|在线观看视频| 激情综合五月| 丁香五月天论坛| 久久婷婷五月丁香网| 九九热超碰| 激情综合网激情五月婷婷| Y11111111111少妇电影院| www.日本91| 99精品在线| 五月天色婷婷图片| 97人人操在线| 九九亚洲天堂| 激情综合网五月| 丁香五月婷婷啪| 26uuu欧美激情另类| 国产毛片精品一区二区色欲黄A片| 丰满人妻一区二区三区| 日本V在线观看不卡视频网站| 91成人视频| 婷婷五月开心中文字幕色| 99热色精品| 国产毛多水多女人A片| 日本偷拍九九九| AV在线资源| 五月天激情美女久久| 五月开心激情| www.夜夜操.com| 亚洲综合无码| 亚洲欧洲另类| 九九热内射| 五月婷色| 九九久久99| 久久激丁香| 亚洲精品又粗又大又爽A片 | 97在线/亚洲| 丁香五月天激情网| 日日做A爰片久久毛片A片英语| 久久全色| 天天噪夜夜爽| 99综合网| 大香蕉婷婷久久| 停停五月丁香| 96精品国产综合久久久久久| 99综合视频一体| 五月天综合在线观看| 激情又色又爽又黄的A片| 少妇激情基地| 色婷婷五月在线| 9久热精品在线视频| 开心婷婷五月天综合| 五月婷婷日| www.久操| 99视频精品全部观看10| 91久久九色| 婷婷精品综合| www.91九色| 欧美精品狠狠色丁香婷婷| 色丁香五月天婷婷| 先锋资源婷婷| 精品影院| 玖玖国产视频一区| 亚洲情色一区| 久久东京热婷婷五月| 色五月av| 综合色网站| 99视频网址| 天天操天天国产三级片处女学生妹| 在线中文av| 婷婷色无码| 思思热精品在线| 99自拍视频在线| 9热在线观看| 一区操| 99热最新网址| 日本精品人妻无码77777| 色综合网上班开心婷婷久久| 99成人| 丁香五月伊人| 丁香婷婷色五月天| 97AV在线视频| 51XX午夜影福利| 91se在线观看| 激情av在线| 久久免片| 五月丁香啪啪综合| 五月丁香啪| 激情九月丁香婷婷| 丁香五月综合在线播放| Www.se.久久| 开心婷婷中文字幕| 婷婷香蕉| 爱爱网址9| 美国天天日天天操| 超碰免费电影| 玖玖热视频| 99精品国产在热久久婷婷| 精品久久99码| 色婷婷狠狠| 婷婷丁香六月| 99色看这里只有精品| 超碰天堂网| 丁香六月婷婷综合啪啪| 婷婷爱爱蜜臀天天操| 日韩欧洲亚洲| 久久视这里只有精品| 狠狠狠狠狠干| 丁香婷婷久久 | 丁香六月婷| 在线五月色播| 国产亚洲精品久久久久久久久动漫| 五月香蕉婷婷| 丁香五月黄色| 99久re热视频精品98| 六月婷婷日| 一起操 91N.com| 亚洲情欲| 日日爽日日爽| 五月丁香91| 97超碰,人人舔,人人操,人人摸 | 久久六月天| 99精品视频在线6| 国产毛片精品一区二区色欲黄A片| 天天爱夜夜爽| 五月丁香网av| 久久涩视频| 五月综合丁香婷婷| 婷婷丁香五月六月激情| 五月婷婷亚洲| 激情综合五月| 日本熟女二区| 香蕉综合网| 色噜噜狠狠色综无码久久合欧美| 激情久久久久| 亚洲乱码日产精品BD| 日韩aaa| 啪啪婷婷五月天激情| 色原狠狠综合| 超碰9799| 色播五月网| 亚洲这里只有精品| 激情婷婷五月| 亚洲乱码日产精品BD| 色五月天成人| 久久sp免费视频| 丁香五月激情网| 69激情小说| 伊人久久中文网| 天堂成人A片永久免费网站| 另类小说婷婷色| 久久婷婷网| 26uuu成人网| 丁香六月激情综合| 天天射天天射一道本日本社区| 五月综合丁| 99视频热99| 噼里啪啦在线观看免费完整版视频| 五月丁香婷婷久久| 丁香密臀AV激情网| 爱狠射| 五月丁香五月天现场视频| 五月婷婷色播视频| 啪啪91| 狠狠爱五月婷婷| 中文字幕天天干| 久久久久视剧HD| 99ri视频在线播放| tingting五月天亚洲| 五月香婷婷| 丁香五月婷婷综合网| 色婷操逼| 欧美色99| 99福利导航| 伊人久久综合| 91性人人| 久久午夜丁香| 9久9久9久女女女九九九一九| yazhoujiqingav| 久热这里| 色色色色色日韩午夜激情 | www免费在线视频| 高清无码网址| 久综合九综合99| 亚洲精品一区无码A片| 色色色色网站| 5月婷婷五月天| 91黄址| 性色av大香综合| 色五月色情| 激情婷婷五月天| 97碰成超视频免费视频| 91碰九色| 日日操夜夜擼| 亚洲av网站| 夜色综合网| 久综合4| 日韩成人网址| 狼人婷婷久久| 中文字幕成人| 91狠狠综合久久| 久久99久久99久久99人受| 99热综合在线| 丁香五月激情综合| 日本色婷婷| 婷婷九月色| 中文毛片无遮挡高潮免费| 五月天婷婷色播综合在线| 大学生高潮无套内谢视频| 国产黄色在线观看| 六月色婷婷综合影视| 日本性视频| 久久九九99视频| 久久九精品| 色婷婷操逼| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 五月丁香久久激情网| 婷婷五月天激情综合深爱激情| 天天操夜夜爱| 精品色| 激情丁香五月婷婷| 五月丁香婷中文| 91丨九色丨熟女丰满| 色吧五月婷婷| 99爱视频在线观看| 五月天激情网图片| 大香蕉九九| 精品99在线| 丁香五月香蕉| 成人片黄网站色大片免费毛片| 偷偷操九九| 天天射影| 九九在线这里只有精品视频| 思思热精品在线视频| 婷婷大香蕉| 成人综合网站| 伊人网啪啪| 婷婷五月天色综合翘| 婷婷亚洲五月| 激情五月五月婷婷| 99久久国产宗和精品1上映| 97干在线看| 人妻丰满精品一区二区A片| 4438亚洲欧美| 五月天色色网站| 99热最新网址| 九九久久综合| 国产亚洲精品久久久久苍井松| 丁香五月婷婷亚洲天堂| 丁香五月婷婷五月天在线| 99视频在线观看视频| 激情合网婷婷| 天天久久狠狠色综合| 一区二区无码视频| 国产精品视频免费看| 久久五月天激情婷婷| 激情婷婷五月久久| 亚洲精品操一操、噜一噜、摸一摸、爽 | 五月婷精品| 丁香五月天无码AV| 91免费看片| 免费看欧美成人A片无码| 伊人超碰在线| 国产五月婷| 亚洲激情av| 91嫩草久久| 六月婷婷国产| 丁香五月成人| 97碰在线| 99久热| 一操久久| 久久久99久久| 婷婷五月色網站| 国产激情AV| 色九月国产| 五月激情婷婷女| 亚洲热久久| 99在线视频女女视频| 天天综合亚洲综合| 综合激情五月丁香| 99 福利 导航| 伊人五月网| 精品一二三区久久AAA片| 亚洲性受XXXX五月丁香| 9 1超碰九色| 五月丁香婷草| 日韩色五月| 麻豆忘忧草午夜| www,av好吊操| 欧洲色区| 国产在线6| 日本99视频| 国庆精品久久| 97碰在线视频| www亚洲无码| 色色网站在线| 五月婷婷综合影院| 丁香五月色| 五月激情婷婷国产精品久久久久久| 99精品视频网站| 婷婷丁香综合色AV| 色色色免费视频| 婷婷激情五月天激情小说| 亚洲色9| 激情综合一| 2015WWW永久免费观看播放| 天天操天天干天天日| 奇米四色五月天| 五月婷婷之婷婷| 超碰猛烈的性猛交| 亚洲av骚货| 99九九在线视频| 日本色婷婷| 97艹| 久热黄色| 任我肏| 中文字幕在线免费观看视频| 色~性~乱~伦~噜| 大香蕉网站,大香蕉综合| 色爱综合网| 九九热精品| 先锋av性爱成人电影| 9999热在线| 色色欧美色色| 婷婷五月在线免费| 韩日另类| 秋霞电影理论| 99资源人人| 九九自拍网| 无码se| 91操人人操| 激情综合色婷婷啪啪六月天| wwww.色婷婷| 99这里热| 日本三级日本三级99| 超碰碰碰碰| 天天综合天天玩夜夜玩天天玩夜夜玩| 色色综合网。| 伊人激情啪啪| 五月丁香va| 久久久久九九九九视屏小说88| 婷婷五月,偷窥偷拍网| 久婷五月| 日韩黄在免| 激情网综合| 4399在线观看免费高清黄色视频| 亚洲第一综合| 99re在线观看| 色色欧美。| 色偷偷狠狠| 大香蕉AV电影在线| www.亭亭五月天| www.久久久久久久| 欧美叉叉叉BBB网站| 拳交大逼| 啪啪婷婷五月天激情| 国产亚洲色婷婷久久99精品91| 激情宗合网激情五月天| 九九久久玖玖爱| www狠狠| 开心五月丁香啪| 亚洲无码影片| 99久视频| 开心五月婷婷99| 美国少妇性做爰| 五月丁香淫淫婷婷婷| 久久99久久99精品免观看粉嫩| 五月天婷婷久久| 99精在线| 五月天社区| 人妻人人操| 九九视频这里只有精品| 婷婷色丁香五月| 91人久| 欧美精产国品一二三区| 久久五月天综合视频网站| 婷婷精品在线| 色婷婷偷拍| 久色资源| 丁香婷婷色情社区成人小说| www.色五月| 亚洲第一综合| 99久久精品网| 日韩999| 任你操精品免费| 久久香蕉网| 五月天播播综合| 大香蕉狼人久久| 中文字幕网伦射乱中文| 久久久久久五月天| 99久久婷婷国产综合精品草原| 精品人妻一区二区三区在| 久久婷婷综合网| 人人操av| 日韩综合网络男女香蕉a片| 综合AV在线| 丁香五月第九色| 欲求不满的人妻| 久久总和99| 久久九九激情五月天| 99这里有精品免费| 99∨VTV| 99成人在线观看| 人妻VideOssS人妻| 啪啪干伊人婷婷| 五月丁香六月婷婷色日| www.五月丁香| 色色国产| 中文字幕操比影片| 综合婷婷| enecarbon-materials.com污K127封锁请涟系@wip1688 | 亚洲亚洲人成综合网络| 国产午夜精品一区二区| 日韩五月天婷婷| 欧洲亚洲激情五月天在线| 亚欧州精品视频| 91麻豆国产三级精品福利在线观看 | 99综合一区| 99只有这里是精品| 色婷久| 婷婷激情社区| 一起操最新网址| 婷婷开心深爱五月天| 婷婷五月深深爱| 玖玖热视频| 欧美槡BBBB槡BBB少妇| 亚洲成人在线观看网址| 久er免费视频| 久久综合九九| 五月丁香啪啪| 色情五月婷婷| 日日天天干| 伊人午夜综合色啪| 思思热久久爱| 亚洲天堂啪啪| 婷婷精品在线| 五月天激情啪啪| www.26uuu.com亚洲电影| 婷婷五月免费视频| 综合aV在线| 六月丁香婷婷综合影院| 久久五月天精品视频| www.色婷婷| 婷婷五月五月丁香| 亚洲AV人人操| 九九精品片一| 婷婷久久丁香| 成人无码免费一区二区中文| 国产免费一区二区三区三州老师F1F1.CC| 麻豆123区| 丁香五月婷婷偷拍| 丰满少妇猛烈A片免费看观看| 伦99热| 五月婷婷激情中心| 在线播放成人网站| 丁香色综合| 日韩精品二三区| 亚洲亚洲人成综合网络 | 天天插天天干| 久久综合26p| 大香蕉520| 可似看的AV| 欧美人妻一区二区| 日本一区二区三区精品视频| 天天爽夜夜爽夜夜爽精品| 超碰99资源站| 天天射天天操天天干| 9er热在线精品视频| 99丁香五月婷| 久久99最新地址| 99久久综合狠狠综合久久| 无码激情AAAAA片-区区| 久久五月天免费网站| 超碰人人干| 99爱最新免费视频在线观看| 在线成人网址| 九月婷婷久久| 久久五月天激情| 激情综合在线播放| 激情丁香婷婷六月天| 五月久久婷婷成人网| 婷婷色播综合五月| 激情综合激情综合| 99热99干| 99思思热只有在这里看| 成人丁香五月| 99热只有| 一级韩国产精品毛| 日本nghangse中文字幕| 婷婷丁香视频在线观看免费 | 五月丁香婷婷爱激情综合网| 六九色综合婷婷五月天| 欧美内射AA| 99久热这里只有精品视频删减版| 九九热这里只有精品556| 六月婷婷激情小说网| 99热在线观看免费精品| 久久精品人妻| 天堂久久久久天堂网| 欧美色五月| 色婷婷99| 五月色综合| 亚洲99热| 香蕉久久国产AV一区二区| 国产97色在线| 黄网在线免费播放| 超碰在线成人| 天天天天天日| 亚洲免费看片| 天天舔天天摸天天透| 国产三级秋霞| 91九色超碰| 天天擼久久擼在线| 99无码| 91色综合久久| 丁香六月 婷婷六月| 丁香五月自拍| 9l久久久视频| 日日激情网| 五月天开心色色网| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 99色视频在线| 丁香五月1页| 婷婷五月丁香六月天亚洲综合| 激情综合五月| 成人永久免费视频在线观看| jiqingliuyuetian| 强壮公让我夜夜高潮A片视频| 国产乱子轮XXX农村| www999日韩精品| 色婷五月天激情| 九色综合五月天婷五月| 色五月天丁香| 激情五月天com| 色婷婷成人做爰A片免费看网站| 国产性av| 99热这是里只有精品| 夜夜爱网站| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 久久精品噜噜噜成人A∨色欲| 懂色av蜜臀av粉嫩av永陈冠希| 狠狠va| 亚州激情在线视频| 婷婷激情五月综合在线视频| 曰曰久久| 亚洲一区二区 成人网站戴套| 婷婷十月激情综合网| 高清免费在线视频| 99热这里只有精品98| 91色久| 六月婷婷日| 色婷婷五月天在线观看| 日本色99| 日日干夜夜干| ww亚洲ww在线观看| av九九| 26uuu亚洲欧美另类| 婷婷婷五月香蕉| 人人爽在线视频综合网| 69色色视频| 日本不卡高字幕在线2019| 另类小说五月天综合网| 五月天综合在线| 精热在线综合网| 91九色精品熟女内射| 五月婷婷偷拍| 色五月婷婷久久| 996热re视频在线观看视频| 日日夜夜天天爽| 99久99久| 伊人五月人妻精品| 精品无码久久久久久久久| 久久视频66| 五月丁香操亭亭网| 色婷婷精品| 91九色 熟| 色啪影院| 亚洲AV免费在线| 亚洲激情综| 26uuu欧美| 久久xxxx| 99热亚洲精品| 五月婷六月综合在线观看| 成人片在线播放| 激情综合色| 五月天婷婷激情网| 99爱视频在线观看| 丁香婷婷网| 婷婷丁香激情综合色情| 激情亚洲五月| 婷婷六月丁| 色色吧综合| 婷婷五月成人| 99自拍视频在线| 超碰成人黄色网| 色情五月丁香婷婷网| 在线播放成人网站| 九九操综合网| 丁香五月婷婷色综合| 欧美性丁香色色五月天| 久久婷婷资源| 99re热在线视频| 久久狠狠色| 青青久在线视频免费观看| 五月天天天色| 激情六月婷婷啪啪| 久久色五月天综合网| 图片区 小说区 区 亚洲五月| 日韩AAAAAAAAAAA片| 色欲婷婷五月天| 五月激情小说| 亚洲日日操| 99视频色在线观看| 色啦啦视频| 国产欧美va| 九九热内射| 在线只有精品| 色综合爱综合| 99热亚洲| 色五月在线观看| 色999五月色| 久久人妻少妇嫩草AV| 天天干夜夜b| 久9无码视频| 高清一区二区三区日本久| 26uuu欧美日本| 麻豆精品| 天堂无码人妻精品AV一区| 97五月天婷婷| 丁香五月婷婷社区| 久热大香蕉| 色99热| 欧洲亚洲免费视频9| 大香蕉综合在线| 夜夜夜夜夜骑撸| 成人天天爽| 国产婷伊人| 精品久久人妻| 国产成人高清| WWW.亚洲无码| 久九色| 丁香色啪综合| 99在线一区| 成人精品视频99在线观看免费| 丁香五月天激情综合网| 大香蕉啪啪| 97色综合| 婷婷伊人网| 99re思思| 国内久久亭亭| 一级片操逼视频| 久8色色| 99玖玖免费视频| 色情激情五月婷婷| 狠狠精品干练久久久无码中文字幕| 操操操av| 99黄色在线视频精品熟女| 激情五月天。| 久久五月天婷婷| 五月丁香激情综合网| 青青草六月丁香| 激情图片亚洲| 婷婷五月影院| 色操b| 国产精品噜噜在线视频| 夜夜 操无码| 欧美性生交XXXXX无码小说| 丁香五月在线观看综合| www.五月天色色.com| 日韩av高清| 国产精品第一国产精品| 色五月婷婷综合| 天天日人人爽| www.五月天色色.com| 亚州美女| 色天天综合色| 婷婷综合亚洲| 欧美大肥婆大肥BBBBB| 色婷婷小说网| 超碰在线免费| 99精品丁香五月| 九九碰九九爱97超碰| 五月天综合激情网| 色爱99| 婷婷娌伦网| 99热这里只有精品在线观看| 丁香六月欧美| 99re热精品视频国| 九九色色| 久99在线视频| 婷婷操婷婷干婷婷射| 色五月婷婷在线| 永久天堂日本| 91色色五月天| 狠狠干,狠狠操| 五月天另类小说| 久久天天天| 丁香婷婷五月综合影院| 九九中文字幕九| 人人操人人妻| 色婷婷狠狠| 五月天激情视频| 五月激情五月婷婷五月天在线| 综合五月草 | 五月婷婷丁香综合| 婷婷色色欧美| 人妻丰满精品一区二区A片| 丁香五月五月婷婷| 色五月综合激情| 求可以看的AV网址| 色色综合成人网| 99久久精品色老| 久99在线视频| 99人人操人人操人人精| 婷婷激情久久| 成人综合网站| 天天草天天爽| 啪啪六月婷婷| 超碰AV在线| 综合在线网| 婷婷五月深情丁香深爱日韩| 任你日视频| 色色色色色色色色色999| 91大操| 日日做A爰片久久毛片A片英语| 99在线免费观看| 99视频只有精品| 亚洲综合丁香五月| 99热在线观看免费中文| 99操视频| 五月丁香婷婷色播无码| 91久久精品视频| 五月天婷婷婷| 2050人人操免费工开爱| 中文字幕人妻熟女在线| 成人在线日韩| 日日夜夜爽| 六月丁香社区| 思思热AV| 色噜噜狠狠色综合伊人| 婷婷丁香视频在线观看免费| 99re免费在线视频| 操日本三片99| 色五月欧美| 二区成人视频| 91碰碰视频在线观看| 九九热精品视频| 天天干,夜夜爽| 超碰在线99| 婷婷激情图片| 噜噜国产| 五月婷婷六月丁香在线视频免费在线观看| 舔色婷婷| 九色啦蜜臀| 色婷婷五月天堂资源| 五月停停丁香| 五月天成人手机在线视频| 99性感视频| 五月丁香亚洲综合网| 丁香五月天导航| 久久五月天婷婷视频| 丁香五月婷婷啪| 激情网五夜婷婷| 青娱乐美女福利视频美臀| 欧美天天爽| 99亚洲综合| caopeng超碰| 婷婷五月丁香五月天| 丁香五月亚洲综合| 婷丁香五月天| 日本婷婷综合精品| 99视频这里只有久久精品 | 影音先锋日本三级资源| 天天插天天射| 熟女人妻一区二区三区免费看| 激情五月激情综合网| 99热欧美| 超碰成人免费| 日本色99| 91超级碰| 少妇性按摩无码中文A片| 99热伊人| 久久人人妻| 狠狠CAO日日穞夜夜穞AV| 五月天婷婷色播综合在线| 强辱丰满人妻HD中文字幕| 免费视频WWW在线观看网站| 天天综合精品| 91久女| 99.N在线视频| 六月色播| 在线视频另类| 五月丁香亭亭成人电影| 婷婷丁香综合成人| 日日夜夜爽| 日韩色五月| 无码99| 婷婷色综合中心站| 人妻中文字幕网| 97碰91| 草草影院爱爱| 丁香五月天天哦| 五月天色婷婷视频| 丁香五月婷婷色情综合| 影视av久久久噜噜噜噜噜三级| 五月天久久久| 久久婷婷五月天丁香| 非洲一级AV| 色九九九综合| 日本久久天堂| 人妻久久久久久久久| 色香欲综合|