PageSourceSearch

https://atframe.work/assets/js/ead3885b.047df323.js

js atframe.work collected 2026-09-25 22:30:04 UTC 5,823 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkatsf4g_co_docs||=[]).push([[3871],{8957(e,r,c){c.r(r),c.d(r,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>n,metadata:()=>t,toc:()=>o});const t=JSON.parse('{"id":"architecture/telemetry","title":"\u53ef\u89c2\u6d4b\u6027","description":"OpenTelemetry \u5c01\u88c5","source":"@site/docs/architecture/telemetry.md","sourceDirName":"architecture","slug":"/architecture/telemetry","permalink":"/architecture/telemetry","draft":false,"unlisted":false,"editUrl":"https://github.com/atframework/atsf4g-co/edit/main/doc/docs/architecture/telemetry.md","tags":[],"version":"current","frontMatter":{"title":"\u53ef\u89c2\u6d4b\u6027"},"sidebar":"docs","previous":{"title":"\u914d\u7f6e\u7cfb\u7edf","permalink":"/architecture/configuration"},"next":{"title":"\u7ec4\u4ef6\u603b\u89c8","permalink":"/components/overview"}}');var l=c(6070),s=c(3797);const n={title:"\u53ef\u89c2\u6d4b\u6027"},i="\u53ef\u89c2\u6d4b\u6027\uff08Telemetry / HPA\uff09",d={},o=[{value:"OpenTelemetry \u5c01\u88c5",id:"opentelemetry-\u5c01\u88c5",level:2},{value:"Trace \u4f20\u64ad",id:"trace-\u4f20\u64ad",level:2},{value:"Metrics \u4e0e HPA",id:"metrics-\u4e0e-hpa",level:2},{value:"\u65e5\u5fd7",id:"\u65e5\u5fd7",level:2}];function a(e){const r={code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(r.header,{children:(0,l.jsx)(r.h1,{id:"\u53ef\u89c2\u6d4b\u6027telemetry--hpa",children:"\u53ef\u89c2\u6d4b\u6027\uff08Telemetry / HPA\uff09"})}),"\n",(0,l.jsx)(r.h2,{id:"opentelemetry-\u5c01\u88c5",children:"OpenTelemetry \u5c01\u88c5"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"src/server_frame/rpc/telemetry/"})," \u63d0\u4f9b OpenTelemetry \u5c01\u88c5\uff1a"]}),"\n",(0,l.jsxs)(r.ul,{children:["\n",(0,l.jsxs)(r.li,{children:[(0,l.jsx)(r.code,{children:"rpc_trace"}),"\uff1atracer/span \u7ba1\u7406\uff0ctask action \u81ea\u52a8\u6302\u8f7d trace\uff08",(0,l.jsx)(r.code,{children:"task_action_base"})," \u96c6\u6210\uff09\uff1b"]}),"\n",(0,l.jsxs)(r.li,{children:[(0,l.jsx)(r.code,{children:"rpc_global_service"}),"\u3001",(0,l.jsx)(r.code,{children:"opentelemetry_utility"}),"\uff1a\u5168\u5c40 meter/tracer provider\uff1b"]}),"\n",(0,l.jsxs)(r.li,{children:[(0,l.jsx)(r.code,{children:"exporter/"}),"\uff1aPrometheus \u5bfc\u51fa\u5668\uff08file / push \u4e24\u79cd\uff09\uff1bOTLP \u5bfc\u51fa\u7531 opentelemetry-cpp \u81ea\u5e26\u5bfc\u51fa\u5668\u5728\r\n",(0,l.jsx)(r.code,{children:"rpc_global_service"})," \u4e2d\u63a5\u5165\u3002"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["\u914d\u7f6e\u7531 ",(0,l.jsx)(r.code,{children:"svr.telemetry.config.proto"})," \u5b9a\u4e49\uff0c\u5b9e\u4f8b\u914d\u7f6e\u5728 ",(0,l.jsx)(r.code,{children:"logic.telemetry"})," \u6bb5\uff1b\u90e8\u7f72\u4fa7\u89c1\r\n",(0,l.jsx)(r.code,{children:"install/cloud-native/values/default/modules/telemetry.yaml"})," \u4e0e ",(0,l.jsx)(r.code,{children:"install/otelcol/"}),"\uff08Collector \u542f\u52a8\u811a\u672c\uff0c\r\ndaemon / systemd \u4e24\u79cd\u6a21\u5f0f\uff09\u3002"]}),"\n",(0,l.jsx)(r.h2,{id:"trace-\u4f20\u64ad",children:"Trace \u4f20\u64ad"}),"\n",(0,l.jsxs)(r.ul,{children:["\n",(0,l.jsx)(r.li,{children:"CS \u94fe\u8def\uff1aatgateway \u4e0a\u884c\u4e0d\u5e26 trace\uff0c\u670d\u52a1\u4fa7\u4ee5 task action \u4e3a span \u6839\uff1b"}),"\n",(0,l.jsxs)(r.li,{children:["SS \u94fe\u8def\uff1a",(0,l.jsx)(r.code,{children:"rpc_context"}),"\uff08",(0,l.jsx)(r.code,{children:"src/server_frame/rpc/rpc_context.{h,cpp}"}),"\uff09\u968f ",(0,l.jsx)(r.code,{children:"SSMsg"})," \u4f20\u64ad trace \u4e0a\u4e0b\u6587\uff0c\r\n\u8de8\u670d\u52a1\u4e32\u8054 span\uff1b"]}),"\n",(0,l.jsx)(r.li,{children:"DB \u8c03\u7528\uff1aRedis \u547d\u4ee4\u4f5c\u4e3a\u5b50 span\u3002"}),"\n"]}),"\n",(0,l.jsx)(r.h2,{id:"metrics-\u4e0e-hpa",children:"Metrics \u4e0e HPA"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"src/server_frame/logic/hpa/"})," \u5b9e\u73b0 HPA \u81ea\u52a8\u4f38\u7f29\u652f\u6301\uff1a"]}),"\n",(0,l.jsxs)(r.ul,{children:["\n",(0,l.jsxs)(r.li,{children:[(0,l.jsx)(r.code,{children:"pull/prometheus/"}),"\uff1a\u4ece Prometheus \u62c9\u53d6\u6307\u6807\uff1b"]}),"\n",(0,l.jsxs)(r.li,{children:["discovery provider\uff1a\u5411 atproxy/etcd \u6c47\u62a5\u5c31\u7eea\u72b6\u6001\uff0c\u4f9b ",(0,l.jsx)(r.code,{children:"logic_hpa_discovery_select_mode"}),"\uff08\u5982 ",(0,l.jsx)(r.code,{children:"kReady"}),"\uff09\r\n\u9009\u62e9\u76ee\u6807\u8282\u70b9\uff08dtmq \u7b49\u7ec4\u4ef6\u6309\u
16b64\u9009\u62e9\u526f\u672c\u8282\u70b9\uff09\u3002"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"router_manager_set"}),"\u3001dispatcher \u7b49\u4e5f\u66b4\u9732\u5185\u7f6e metrics\uff08\u5bf9\u8c61\u6570\u3001task \u6570\u3001RPC \u5ef6\u8fdf\uff09\u3002"]}),"\n",(0,l.jsx)(r.h2,{id:"\u65e5\u5fd7",children:"\u65e5\u5fd7"}),"\n",(0,l.jsxs)(r.ul,{children:["\n",(0,l.jsxs)(r.li,{children:["\u6846\u67b6\u65e5\u5fd7\u8d70 ",(0,l.jsx)(r.code,{children:"atframe_utils"})," \u65e5\u5fd7\u6a21\u5757\uff08libatapp \u65e5\u5fd7 sink \u914d\u7f6e\u5728 atapp YAML\uff09\uff1b"]}),"\n",(0,l.jsxs)(r.li,{children:["\u7ed3\u6784\u5316\u65e5\u5fd7\u534f\u8bae\uff1a",(0,l.jsx)(r.code,{children:"protocol/private/protocol/log/"}),"\uff08",(0,l.jsx)(r.code,{children:"svr.mon.log.proto"})," \u76d1\u63a7\u65e5\u5fd7\u3001",(0,l.jsx)(r.code,{children:"svr.oss.log.proto"}),"\r\nOSS \u65e5\u5fd7\uff09\uff1b"]}),"\n",(0,l.jsxs)(r.li,{children:["\u90e8\u7f72\u4fa7\u7531 vector\uff08K8s\uff09\u6216\u672c\u5730\u6587\u4ef6\u91c7\u96c6\uff0c",(0,l.jsx)(r.code,{children:"modules/vector.yaml"})," \u914d\u7f6e\u3002"]}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,l.jsx)(r,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.