所以这个只有十分钟时间可能我有很多细节就忽略了然后大家如果Offline有什么问题的话可以问Open Telemetry可能大家都比较清楚它是这个CNCF里面非常HOT的一个project不责任的一个非常重要的一个标准然后我想很快的过一下Open Telemetry有一些要点给它提示一下细节就不说了这个是一个所谓就说明了这个现在Open Telemetry已经成为了在用户层面上最大的一个来源数据来源对吧它定的标准它是来源对吧在Open Telemetry有什么东西呢它现在大家看到上面列出了两个标准对吧 Open Tracing和Open Sensors这两个标准都归结于对吧它们不会再发展了归结于Open TelemetryOpen Telemetry的话它有什么东西就列到这几个对吧从横向上看这个TraceMatrix Laws对吧现在它还有一个Industry就说它要发展ProfilingProfiling可能是有可能是下一个对吧然后这个三个大家可能都很清楚然后它这个从它的Inverse Trouter就说它有哪些处呢或者有哪些规范呢大家看到了APIAPI就是规范它的这个调用对吧然后SDK这具体要每一种语言常用语言都有对吧Inverse Trouter这里看到我列车的两个就是相对比较常用对吧还看到就是这个CollectorCollector非常常用对吧有几种还有一种呢就是叫Agent或者说其他的类似的就是个名字对吧它做Auto Instrumentation各种语言自动诸入对吧这个也是常用的对吧比如说Agent可能做到Sidecar或者是什么这个就是具体的这个部署的形式再有就是一些这个常用的这个这个协议对吧OTLP对吧就是上报的协议对吧我又通过这个汇报给这个Vender对吧这个Observable VenderWNCTrace Contacts这个呢是什么这是交互的协议对吧比如说我调你A调BB调C、C调D这个之间他们的Contacts就是它这个是它为主的协议好哎这怎么这动了好的然后呢这个这个图呢是它的一个非常简单的一个架构对吧所以大家看到了这个Client还有CollectorClient里头是什么呢就是说无论你是Auto Instrum这些人自动输入还有这个通过Agent的不就是Agent是自动输入或者你Manual InstrumAgent通过Sdk调用来输入它都有这么一个小型框架你看里面它也有这个sporter对吧有API对吧然后就CollectorCollector的话呢粗的分的话就三个三个层面对吧ReceiverProcessorExporter每个都有很多种对吧后面我也没啥就时间短了所以这个ReceiverExporter这两个都是可以Share的对吧像Marticast也就是说在一个Pipeline里可以呢一个Receiver可以给一堆Processor用一个Exporter可以一堆这个Processor用它这是一个而这整个Collector可以是一个Chain对吧是一个无限的一个集连所以它是这么个结构当然后面的当然还会讲还有一个Connector还是新的一个ComponentConnector它兼顾什么呢兼顾它既是Receiver也是Exporter所以它的好处就是说它可以在一个Collector来建立一个非常复杂的Flow对吧这个是它的好处再往后呢就是这个就这些东西就是这个Winders我不责任去Winders然后大家来接受它底下这些细节大家自己看一下行然后呢再下面一个图呢这个大家看到就是三种Signal对吧这个Signal里面都有哪些东西我可能非常快地说一下这个Trace里面大三C Trace Contact这个最重要了对吧像老的那些呢像那个Yager里头或者是不是Zipkin里面那些B3呢或者Yager协议这些呢如果你还用也可以但是尽量你就用W3 Trace Contact对吧然后在后面这几个细节Trace里面包括的是Spanel这些就自己看一看对吧然后Mate TraceMate Trace里面的话呢有这种这个Type对吧它当然还有细节Native的Native Type是什么我就不介绍了但这个里头唯一提示一点就是说它是一个ProMuse的一个Super Sight就是一个超级对吧它兼容所有ProMuse的这个Type然后它多了一点还多了一点ProMuse将来也会提高对吧然后再往下的话Logs的话呢然后我就歧视一点吧就Logs的话呢它现在比如说我现在已经有很多Log系统怎么办呢它一般比如说你可以用现在你用Log4这样或者什么它提供一些新的Appender或者说它有很多刚才讲过CollectorCollector里有很多Receiver可以从文件里直接获取或者各种协议获取对吧再有你就直接IC可以自己写也行对吧就是Log现在呢还没有到Matern的这个级别Trace和Matrice已经到了然后Resource是什么意思呢Resource不是Signal它是描述你这个你这个Object Instance对吧你无论你是TraceMatriceLog总得有个东西吧这就是Resource所有这些的话呢后面会讲到一个Convince这个非常重要ConvinceConvince意思就是语意对吧我定义你这个Type是什么对吧然后你的这个名字是什么对吧等等这比如都哪些对吧这个呢就是包括刚才讲的三种Signal对吧TraceLog还有就是它总共描述的这个Resource对吧都有Convince你有了Convince大家就用一种语言说话对吧比如说我叫它我不能说每个人叫这个屏幕都有不同的语言对吧用一种语言然后这样的话就有可能另外呢就是ECS就是这个已经被接受对吧接受进入了一个没有可能名单写错了不是ECS不是这个ECS是那个Elixir吃的那个一个它的一个Bunch对吧它的Convince它的Convince已经被接入对吧我刚才这上写错了然后呢这个PattuPattu的话呢这个里面我就提示一些要点这个不是所有的语言的这些都支持对吧但是这里面的话呢就是Auto Instamattation我提示一下对吧就是你刚才看到的Java Python.NET对吧然后呢包括那个JavaScript都类似对吧就是比如说类似在名堂里或者Pager里插一个Agent这样的话呢就自动注入对吧就不用你改它所谓的这个Auto Instamattation什么意思呢就是不用那个改你的原代码对吧就自动注入当然任何人都支持所有语言都支持Manual Instamattation你自己API编进去就像Open Tracing或者Zipping那么做都可以对吧然后但这个像Ruby的话稍微的改Global CodeC++这个呢其实也挺常用但是它只能Manual Instamattation对吧这里提示就是要用那个VC Package你要是你要做过的话你不用它你好多你编进来回进对吧因为它VC++控制那个版本你兼容性还是挺麻烦对吧然后在这个里面的话还有一个提示就是OpenTermiTree operator这个operator的话呢是在K8s里的一个东西就是operator它这个框架的好处是什么呢你像这些吧它虽然说是automated但是你应该把那个你当然也有纯自动的技术但是一般来说你得把命令行载加上配置文像写上再重启一下对吧operator就不用了对吧它自动的给你注入一个塞尔卡然后它一看给你重启所以它就看起来像真的全自动是吧就是全自动的insubstitution然后再下一个下一个呢就是一个大家看的意思对吧就是所有语言其实都一样对吧就是配一些这个环境配量然后呢automated就能用了你看对家伙来说家伙来说特别简单对吧它就是一个命令行参数其实这个命这个这一准其实也可以自动注进去对吧然后这个呢你可配什么就刚才我讲了receiverreceiver包括它协议啊这些东西对吧然后呢比如说OTLPOTLP它连接那个OTLP是这个上报的一个协议吧从这个collecter之间上报或者pump上报给这个最终的backend对吧它有两种OTLP是一个总的协议它两种的那个就是相当于transporter的协议对吧JRPC或者Http对吧JRPC就是V2然后所以这个呢就是这些所有都可以通过环境配量都可以然后我这个细节就不说了然后这个menu information我就更不弄讲了对吧这个体积太多了说这些左边就是出租化出化resource啊出租化这个pipeline然后讲了对吧那个pipeline咱们把connectreceiver和reporterprocedure配起来右边的话是什么你就是有如此吧有这个有这个chels吧你给它对吧能见就完了对吧所以这是menu你要自己做就这么做所有语言都差不多要类似这么多对吧然后呢有一个东西就是collector刚才讲了这个这个Open telemetry最popular的就常用那些tool就是小工具里面一个是collector一个就是那些自动注入的agent对吧collector非常地非常强对吧它的功能虽然不大但是它那个能力很强对吧它有receiverreceiver就是获取各种数据几百种几千种各种数据processor就是来操纵它把数据中间给你改一改做安全性增强屏蔽一些东西然后做一些或者是优化exporter就是输出给无数种东西然后这里面有对刚才提示过就是connector的好处它既是receiver又是exporter所以过去没有connector的时候你拿collector做一个chain然后你自己做一个相对复杂的一个流程但是有了connector以后就这个connector以后就算只有一个collector你也可以做一个很复杂的一个flow对吧所以因为它是它跨了receiver和exporter这个细节我就不说了因为它这个细节得讲好长时间然后collector本身的话有这几种core collector它就是核心的几个东西对吧contribute的就特别多了它那个各种computerreceiver就后边很多很多几十上百种然后processor也是做的cance them的时候它是怎么做的呢这个就是说你要是真是一个系统非常需要优化你就做个压某和配置文件然后必有出自己的collector你不需要的你肯定就不要了对吧然后在里头说发布depotmen有两种对吧有binary的有container basecontainer base你的步骤k8s或者dalkercompose这些都好办binary的话有时也需要对吧有时候你比如说你要测这个house的本身的一些东西你各在肯定那里有时候测的不对对吧然后有一些情况你也需要binary这个就是一个最简单的一个collector一个配置对吧你看看这个它有个pipeline它有receiverprocessorisoder这三个将来还有不是将来就是你还可以用高级的connector然后它做一个pipeline然后这个这就是最简单的对吧所以它的灵活性是非常强的所以这个也是一个稍微复杂一点配置这里用了一些稍微复杂的receiver然后能测试环境processorsurvise包括还有一种ascension这个ascension的话就是为了让你得到它这个什么哎呀这个怎么又坏了然后再帮我调一下这怎么老坏Best practice的话没有时间讲太多就是说这个刚才讲了几个要点collector可以做一个可以练对吧串很多collector无数个都可以receiver和isoder是可以share的它是multicastprocessor是不行不许share然后呢用connector可以bill的一个非常复杂的一个流程再一个connector就行再一个collector就行再有的话呢就是后面讲的这几个就是这个Oblier这个这些这些我就无细本来一直有实现每一个其实我练这几个只是我们特常用其实还有好多常用的对吧你自己看那个contribute的collector的那个文档对吧你可以有现成的东西都可以用再有一点呢就是dipomendipomen的话大家看到了说binary它的好处是什么呢有一些receiver是测那个house的信息所以呢部分情况下你还可以用binary对吧container base的话呢你用在dokert或者dokert compose或者什么这些部署它比较容易在k5scubernetes部署也不容易还有一个open termitics in Kubernetes对吧这个呢其实有标准的部署对吧你在标准的那个open termitics的比如go-line或者是java里面都可以看到对吧就是你用dipomen的这个dimenside什么之类的部署还有一种的就是刚刚提过的就是这个obraterobrater的话它有两个好处它两个好处一个好处就是beauty对吧它是有一个内置的collector是吧你用它的那个crd啊这个pay就完了还有一个呢就是auto-insert meditation它更auto了对吧比如说我比如说那k8s里你怎么加那命令行呢你不太好加对吧它给你直接那个诸入进一个sidecard然后把它重启然后呢当然这也都是自动的对吧相当于就是诸入是在k8s里面的这个auto-insert meditation成为可能然后呢这个是一个一个example对吧大家如果看也看一下大家只做一个参考对吧obrater的一个参考行我这个内容就这些对吧用十分钟大家还有什么问题