应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

Jaeger的客户端采样配置(Java版)

  欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https:github。comzq2599blogdemos关于采样(Sampling)采样很好理解:使用Jaeger时,未必需要将所有请求都上报到Jaeger,有时候只要抽取其中一部分观察即可,这就是按照一定策略进行采样;JaegerSDK是支持多种采样配置的,在分布式系统中,他们遵循的原则是前置判定(consistentupfront或者headbased),简单来说,假如consumer服务调用provider服务,那么某一次请求只要consumer决定不采样,那么provider在处理这个请求的时候也不会采样,也就是说对于一次完整的trace,只要最前面的服务不上报到jaeger,那么整个trace后面涉及的服务都不会上报到jaegerJaeger采样配置分为客户端和服务端两种配置,默认用的是服务端配置本文咱们来了解如何在客户端(也就是接入Jaeger的应用)配置采样,并且动手验证效果,常用的客户端采样策略有以下三种:固定:要么全部采样,要门全部不采样比例:按照指定比例采样限速:固定时间周期内采样固定数量,例如每秒一个接下来,逐个配置和体验这三种采样的效果关于实战用的工程采样配置实战不涉及编码,只需要改一些配置,所以没必要大张旗鼓的新建工程写代码,用《Jaeger开发入门(java版)》一文中的两个maven子工程即可:服务提供方jaegerserviceprovider和服务调用方jaegerserviceconsumer,都做成docker镜像,用dockercompose启动,网络架构如下图:
  请确保项目的日志模板中已添加了traceId、spanId、sampled等变量,如下图红框所示,有了这些配置,咱们在日志中就能看到对应的trace是否被采样(这一步非常重要):
  为了方便修改代码后重新部署启动,我写了个名为full。sh的shell脚本文件,运行即可将修改后的代码制作成最新的镜像并用dockercompose运行起来:!binbashecho停止dockercomposecdjaegerserviceproviderdockercomposedowncd。。echo编译构建mvncleanpackageUDskipTestsecho创建provider镜像cdjaegerserviceproviderdockerbuildtbolingcavalryjaegerserviceprovider:0。0。1。cd。。echo创建consumer镜像cdjaegerserviceconsumerdockerbuildtbolingcavalryjaegerserviceconsumer:0。0。1。cd。。echo清理无效资源dockersystemprunevolumesfecho启动dockercomposecdjaegerserviceproviderdockercomposeupdcd。。如果您用的是IDEA,在下图红框位置添加一个自定义命令,选中上述shell文件,就可以在IDEA中用run命令来编译构建部署了:
  现在准备工作已经完成,开始实战吧,从最简单的固定采样开始;固定采样固定采样的逻辑很简单:要么全部上报,要么一个也不报固定采样的配置方式如下图红框所示:
  要注意的是:根据前置判定(consistentupfront或者headbased)原则,只要将上述配置写入jaegerserviceconsumer项目的配置文件即可,至于jaegerserviceprovider维持原状不做任何改动执行前面写的full。sh脚本,编译构建部署浏览器访问http:localhost:18080hello,产生一些web请求,多访问几次看jaegerserviceconsumer容器的日志,如下图,红框中的sampledfalse表示未采样,三此请求的日志都是如此:
  再看jaegerserviceprovider容器的日志,如下图红框,也全部都没有采样,这证明Jaeger的前置判定原则(consistentupfront或者headbased)是准确的,jaegerserviceconsumer是一次trace的源头,被它关闭了采样的trace,在后续的服务中也会自动关闭采样:
  去Jaeger的web页面看看,空空如也,连服务列表中都没有jaegerserviceconsumer和jaegerserviceprovider:
  试过了全部不采样,再来试试全部采样的配置,如下图红框:
  重新部署,再产生几次请求,去看jaegerserviceconsumer容器的日志,如下图红框,全部都被采样了:
  去看jaegerserviceprovider容器的日志,也是如此,所有trace都被采样
  打开Jaeger的web页面,可见jaegerserviceconsumer的三次请求对应的trace全部上报:
  至此,最简单的固定采样已完成,来看看更实用的比例采样比例采样顾名思义,就是按照一定的百分比采样,配置如下图所示:
  执行前面写的full。sh脚本,编译构建部署测试比例采样的方法就是发多个请求,检查采样的trace是否是总数的十分之一,我这里用jmeter来执行多次请求,您可以选择自己擅长的工具,或者写代码写脚本,甚至手动访问多次使用jmeter可以控制请求次数,用的是LoopController,如下图红框所示:
  向jaegerserviceconsumer的hello接口发送完一百次请求后,可以从docker容器日志中检查采样情况,这里使用grep和wc命令的组合来统计日志中出现sampledtrue和sampledfalse的行数,完整的命令如下dockerlogsjaegerserviceconsumergrepsampledtruewcl100个请求,采样率百分之十,但是用上述命令得到的结果并不是精确值10,而是8,再统计未采样的日志行数(把true改成false),得到的结果是92,总数对得上,但是采样数并非精确的百分之十,如下图:
  然后将请求总数增加到一千条,得到的采样比例接近百分之十,如下:
  打开Jaeger的web页面,可见果然只有106个trace:
  比例采样完成了,接下来是限速采样限速采样关于限速,似乎不够具体不便于理解,但是看看官方文档上的关键字leakybucket,如下图红框,聪明的您一定想到了其中的关键,漏桶限流算法(注意,是漏桶,不是令牌桶,漏桶算法的峰值和桶大小有关):
  配置如下图红框所示:
  执行前面写的full。sh脚本,编译构建部署咱们的配置是每秒钟一次采样,所以验证的时候要控制好发送请求的时长,我这里还是用jmeter来发请求的,如下图红框所示,jmeter有种RuntimeController类型的控制器,可以控制持续请求的时长,我这里设置为10秒
  用jmeter持续发送10秒的请求,从jmeter的汇总报告中可见一共发了70个请求:
  用命令dockerlogsjaegerserviceconsumergrep‘sampledtrue’wcl查看采样总数,10秒的预期是10个,结果如下,并不精确,只是接近而已:
  清掉所有数据,将时长改成100秒试试,一共发出次852请求:
  采样总数为96,接近预期:
  打开Jaeger的web页面也是96次trace:
  服务端配置一瞥还记得《分布式调用链跟踪工具Jaeger?两分钟极速体验》、《Jaeger开发入门(java版)》等文章中的操作吗?那时咱们并没有添加任何与采样有关的配置,但是每次请求都能在Jaeger的web页面上查到对应的trace,也就是说所有请求全部被采样了,这是为啥?如果配置文件中没有采样相关的内容,那么默认使用的就是远程配置,具体的信息就在jaeger的allinone容器中,执行下面这个命令,就能看到远程采样配置:dockerexecjaegercatetcjaegersamplingstrategies。json上述命令可以看到samplingstrategies。json的内容如下,原来服务端的配置是比例采样,不过比例是百分之百,这就能解释为何所有请求都能在Jaeger的web页面查到trace信息了:{defaultstrategy:{type:probabilistic,param:1}}至此,采样配置实战已经完成,希望能给您提供一些参考,辅助您针对实际情况定制更加合适的采样策略欢迎关注头条号:程序员欣宸学习路上,你不孤单,欣宸原创一路相伴。。。

LPL首周只看两场半,半场揭幕战,一场试金石,一场强强对决大家好,我就是那个每天算得比谁都精,输得比谁都惨的OV说游戏。距离1月10日LPL新赛季开打还有不到一周的时间,各战队也基本停下了各种活动,进入到全力备战的阶段。不过第一周值得……五星级厨师长推荐地道的10道粤菜,做法简单又下饭,上桌就光盘平时你在家里做什么家常菜小鹏这次给大家分享的是超级经典的粤菜合集,喜欢吃粤菜的朋友有福了,做法简单上手快。10道粤菜一、广式烧鸭腿广式烧鸭腿1、将……宝马iX3续航535KM运动造型,售43。99万!值不值得入随着时间的推移,新能源车型已变成未来的发展趋势,因此各大汽车品牌纷纷推出新品来满足市场的需求,豪华品牌也不例外,今天我们带给大家的是宝马iX3,这款车定位于纯电动中型SUV,目……地球自转速度加快,造成了近代历史上最短的一天有理论认为,钱德勒摆动可能是地球自转加速的原因,这可能导致有史以来第一个负闰秒。你有没有觉得日子过得很快?最近的研究表明,这种观点在科学上是正确的。有新的证据表明,……全世界都是他的韩国,造了一辆对开门的路虎,韩已准备申遗SEVEN这款车是韩国现代公司发布的一款纯电新能源SUV,这些年韩系车被国产车打得有点摸不着北了,虽然在中国卖得不好,但是人家实力还是有的,这不现代版的路虎不就来了吗。……建议三伏天没精神的这三高菜要吃!营养补钾,助你顺利度夏论语有云:不时不食,意思是到了对应的季节就要吃对季节的食物,一点也不能乱,如此才能健康身体,顺应天时,这绝对是我们饮食文化中的精髓之处。既然到了三伏天,就要多吃一些三伏天……中石油为什么会亏损?权威解读中石油核心业务在原油开采领域,中石化核心业务在石油炼化领域。因此油价高时中石油盈利,中石化哭穷,油价低时中石化盈利,中石油哭穷。油价包含有以下几个主要的部分:原油开……终极性能旗舰OPPOReno8表现亮眼,前辈旗舰闻声价崩,低OPPOReno8现在有鸢尾紫配色可选。这种新的配色方案的灵感来自吹过鸢尾花海的微风。通过LDI光刻工艺和多层纹理的结合,在机身后盖上描绘出花瓣图案。同时采用了多层纹理技术,使……这才是50岁女人该有的状态,自信优雅不做作,简约的穿搭就很美上了年纪的女人,穿衣打扮有气质比扮嫩更重要,看她就知道了!岁月不败美人,女人的美可以在任何时候,它并不独属于年轻人,即使满脸皱纹,也能以其它形式展现不一样的美。很多……广东人饮早茶一不小心血糖飙升?在线教你如何科学点餐广式早茶是一种岭南民间饮食风俗广东人饮早茶有的当作早餐的有的则以此消闲请早茶也是广东人普遍的社交方式但是,饮早茶也有弊端那就是容易吃多……湖人17分大逆转!蒙克414,里夫斯311610,赛后浓眉冲北京时间4月11日,NBA常规赛湖人客场挑战掘金,湖人今天的首发是塔克、里夫斯、蒙克、加布里埃尔、约翰逊,掘金的首发是海兰德、福布斯、考幸斯、格林、里弗斯。这是两队常规赛最后一……李咏去世一年多,他的妻子哈文竟成了这个样子今年也是知名主持人李咏,咏哥离开我们的第三个年头,而下半年也是即将面临咏哥的三周年祭祀,不过看到咏哥的家人,很多网友也是相当的愤怒首先就是咏哥墓地的工作人员和粉丝,都发现……
超神也无奈!加兰末节27分6记三分全场狂轰51分创本季单场纪直播吧11月14日讯今日NBA常规赛骑士主场惜败森林狼。此役骑士球员加兰末节神勇砍下27分(6记三分)带队吹响反击号角,无奈时间不够惜败。全场比赛加兰出战40分钟,……为什么我会推荐TCL新品T7G?呵护孩子健康成长我和TCL的故事双11热门电视推荐前段时间家里的电视机坏了趁着双十一我对电视机进行了一系列的筛选最后选择了这款TCL新品T7G屏幕刷新率T7G拥有144Hz的……最终幻想16总监高井宏游戏主线流程约40小时近日在接受意大利游戏网站EveryEye采访时,《最终幻想16》的总监高井宏透露,游戏的主线剧情流程大约为40个小时,而要达到100完成则需要70多个小时。高井宏说道:如……柳岩是怎么火起来的?感觉柳岩没啥演技,也不会其他特长身材好的人有的是,她怎么就红了呢?最近娱乐圈曝光的恋情很多嘛,继魏大勋秦岚、许凯赵晴之后,柳岩也被拍到恋爱了。前两天,狗仔曝光了柳岩……建设工业过好紧日子赢得高分卷管理对标世界一流ampamplt今年以来面对复杂严峻的内外部形势及挑战建设工业积极响应党中央过紧日子号召以当好铁公鸡,打好铁算盘为主题念好紧箍咒,舞好指挥棒做好加减法,答好创新题……东道主出征!卡塔尔公布26人世界杯名单萨德队13人11月12日讯东道主卡塔尔公布26人世界杯名单,阿尔萨德13人入选,杜海勒6人。卡塔尔26人名单:守门员(3人)萨德谢布(32岁阿尔萨德)、马沙尔巴尔沙姆(2……真没想到,一场中秋晚会,让湖南卫视一哥之争没了悬念小孩子的世界才分输赢,而成年人的世界只看利弊。但,有时候,成年人会像小孩子一样较真,也会讲究个输赢。先讲个真实的段子。有一次,汪涵和何炅各自带着自己的小弟同台……(体育)体操全国锦标赛女子平衡木决赛赛况(2)当日,在浙江杭州举行的韵味杭州2022年全国体操锦标赛女子平衡木决赛中,福建队选手邱祺缘获得冠军,广东队选手孙欣怡获得亚军,广东队选手欧钰珊获得季军。9月9日,孙欣怡在比……南京老下关的味道,都在热河南路头号有新人记忆的潆洄往往会从味觉先开始。食物与地点在脑海中交叉锁定的,是一个人对于过往经历的具象认知。就像对于老下关人来说,提起热河二字,最先想起的或许未必是……76人114109公牛!可怕的不是赢球,而是哈登赛后这番话今日NBA常规赛,76人以114109力克公牛,此役两队打得很激烈,首节76人领先15分,但次节公牛占据上风,第三节公牛继续压着76人打,末节两队陷入了僵持阶段,关键时刻哈登连……朱易退赛后回国晒近照,训练受伤后瘦了不少,20岁重返北大读书朱易是很多人心目中的花滑女神,由于我国花滑实力不是很强,因此朱易是我国唯一一名能够参加花滑女单奥运比赛的选手,很多人都对朱易的期望值很高,但是如今朱易的发展并不是很顺利。近期,……科技巨头裁员潮,成就了Web3人才阵营今年以来通货膨胀的持续增长,加上经济衰退的压力,许多科技公司因形势不妙纷纷裁员。全球至少有93,519名工作者受到这波裁员潮的影响。据报道就连谷歌、Netflix和苹果等科技巨……
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网