From 00a7ba773863182b45ffd8e73d0568db44fd1040 Mon Sep 17 00:00:00 2001 From: Simon Stewart Date: Sat, 10 Nov 2018 23:25:07 +0000 Subject: [PATCH] Add the ability to autodetect opentracing implementations --- .idea/libraries/opentracing.xml | 4 ++++ java/client/src/org/openqa/selenium/remote/BUCK | 1 + .../remote/tracing/DistributedTracer.java | 14 +++++++++++++- third_party/java/contrib/BUCK | 13 +++++++++++++ ...opentracing-tracerresolver-0.1.5-sources.jar | Bin 0 -> 8968 bytes .../opentracing-tracerresolver-0.1.5.jar | Bin 0 -> 7549 bytes third_party/java/opentracing/BUCK | 16 ++++++++++++++-- .../opentracing-util-0.31.0-sources.jar | Bin 0 -> 8179 bytes .../opentracing/opentracing-util-0.31.0.jar | Bin 0 -> 8029 bytes 9 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 third_party/java/contrib/opentracing-tracerresolver-0.1.5-sources.jar create mode 100644 third_party/java/contrib/opentracing-tracerresolver-0.1.5.jar create mode 100644 third_party/java/opentracing/opentracing-util-0.31.0-sources.jar create mode 100644 third_party/java/opentracing/opentracing-util-0.31.0.jar diff --git a/.idea/libraries/opentracing.xml b/.idea/libraries/opentracing.xml index e16909883a615..9afc5226d648d 100644 --- a/.idea/libraries/opentracing.xml +++ b/.idea/libraries/opentracing.xml @@ -5,6 +5,8 @@ + + @@ -12,6 +14,8 @@ + + \ No newline at end of file diff --git a/java/client/src/org/openqa/selenium/remote/BUCK b/java/client/src/org/openqa/selenium/remote/BUCK index 9971aab48072b..5352e95bc50c7 100644 --- a/java/client/src/org/openqa/selenium/remote/BUCK +++ b/java/client/src/org/openqa/selenium/remote/BUCK @@ -138,6 +138,7 @@ java_library(name = 'remote-lib', deps = [ ':http-session-id', '//java/client/src/org/openqa/selenium:selenium', + '//third_party/java/contrib:opentracing-tracerresolver', '//third_party/java/opencensus:opencensus-api', '//third_party/java/opentracing:opentracing-noop', '//third_party/java/guava:guava', diff --git a/java/client/src/org/openqa/selenium/remote/tracing/DistributedTracer.java b/java/client/src/org/openqa/selenium/remote/tracing/DistributedTracer.java index 25f32a76c31e3..d1117307f19ae 100644 --- a/java/client/src/org/openqa/selenium/remote/tracing/DistributedTracer.java +++ b/java/client/src/org/openqa/selenium/remote/tracing/DistributedTracer.java @@ -21,6 +21,7 @@ import org.openqa.selenium.BuildInfo; +import io.opentracing.contrib.tracerresolver.TracerResolver; import io.opentracing.noop.NoopTracerFactory; import java.util.LinkedList; @@ -31,7 +32,9 @@ */ public class DistributedTracer { - private static volatile DistributedTracer INSTANCE = DistributedTracer.builder().build(); + private static volatile DistributedTracer INSTANCE = DistributedTracer.builder() + .registerDetectedTracers() + .build(); private static final ThreadLocal> ACTIVE_SPANS = ThreadLocal.withInitial(LinkedList::new); private final ImmutableSet ocTracers; @@ -125,6 +128,15 @@ private Builder() { register(NoopTracerFactory.create()); } + public Builder registerDetectedTracers() { + io.opentracing.Tracer tracer = TracerResolver.resolveTracer(); + if (tracer != null) { + register(tracer); + } + + return this; + } + public Builder register(io.opentracing.Tracer openTracingTracer) { otTracers.add(Objects.requireNonNull(openTracingTracer, "Tracer must be set.")); return this; diff --git a/third_party/java/contrib/BUCK b/third_party/java/contrib/BUCK index 91641aebbd145..6afacefc97fc6 100644 --- a/third_party/java/contrib/BUCK +++ b/third_party/java/contrib/BUCK @@ -22,3 +22,16 @@ prebuilt_jar( ], ) +prebuilt_jar( + name = 'opentracing-tracerresolver', + maven_coords = 'io.opentracing.contrib:opentracing-tracerresolver:jar:0.1.5', + binary_jar = 'opentracing-tracerresolver-0.1.5.jar', + source_jar = 'opentracing-tracerresolver-0.1.5-sources.jar', + deps = [ + '//third_party/java/opentracing:opentracing-api', + '//third_party/java/opentracing:opentracing-util' + ], + visibility = [ + '//java/client/src/org/openqa/selenium/remote:', + ], +) diff --git a/third_party/java/contrib/opentracing-tracerresolver-0.1.5-sources.jar b/third_party/java/contrib/opentracing-tracerresolver-0.1.5-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..7fde8dba9b306525fe2db0eb86d9bc072dce6094 GIT binary patch literal 8968 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 RF4Wu4!`uHPED+uO`aeEr3O4`% literal 0 HcmV?d00001 diff --git a/third_party/java/contrib/opentracing-tracerresolver-0.1.5.jar b/third_party/java/contrib/opentracing-tracerresolver-0.1.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..32bf7f6563479921eb87285d18cbbf7535d1d024 GIT binary patch literal 7549 zcmb_h1yqz<*QPrpm2O44rMWcB&@D&|JwpyNq=XJs>s?5yn|N2P4(~()s&Ei2l}AHB#i) z)KL@E`&*0vgB&d;>vCG|f&M!j{ZRibrmd)>sitaZB%rOfquuvH3&<}pObX=Z8R#3V zHV_&Woqy}a2N>w#1M({o;4c-JB-8Rf<@9UF1c<@_@cTUF)PQKp7a}qK4Vf_pR6qm6 zr?&C9w|nVIh@RYbDDfxi4k%((R+Kh?w-{6@rkcH@>tsl$|KPRlg^BTPfEZr}h#u4T zhK=rlJ-&PJy8!uD0S`|HceoeG4(#sqUxd&9E^Oz4)&txA7p04TRysp;@bYqidARyG zczw6=b)Kt6S2q&Tx^3u3>R;P1`eITIWC!=~@)xjk1;JpJF-W3zp$p+#6}3p6g=L1x zt{d^2_i^xpLdA}glZP~7ajpB?@KL#)ojL&>(AP5u0SZ|db=!&t9eM1PxgY+qccyuH%IqTFvqlqX$&fiXL@#`XrPMOE2=V4@Wr56XOXa}dzkIetmQDqNz^vuB> zyuP|Bv*$4(kB5iHfv4kx=i`G%riQn_blhAunn$UIhfSK@7kF|UHrkw+*SXZ!3_m%? zdf(i>{I+r?B9vFMwT4@2j9>Ip3PKTweVs&DuvSBm7s-b}v{7q|4n0ZC>*GA3tX$0- zT{vdU2?!GFk0rrk-S{MR`!D`e&8sE7T&}Ssu_Rg~tWSH|d!F_^#j+Ky#L~QoC-HrI zes#C3Ah2Q>7X#xuF$RYGzjjy83+&+qhWjgfxOsxSKhXP(HA5;>>d*XFC(orG zD2Gm&KNQE|Oj*EIrckLIK3B|Y;^vZ8`4rMqlo1hDSG#}W-a56d{J{FK9bPuTI({#H z17BuDp)f?riSJ}4;}Ycq(fhrdQU_Tpax1=@%Yz}oA8GzN|765-_7+pUUOc3^=#4jv z(Y4~I4E1KAS3pq{$&)dJ5nvXrzQdmW=!r~nS^;qVdP5x&nad_1+wY=rs7Ks{wWmR} z$uG#LXh?sJl(^kXzgfW9&!QtStWk7$QMu#IyP@qEy9XWl4?3t;sJTJ7DK~xC-_jHM zzKjyQYt$DlNTx*=&Vl`mUD-&s;weLXye^3feuFF}ay{q17}X=Y&azHdA;+ZJqA*)G z>G*q9i!nu1j4-}wYiXv9^cwF< zIfnYdR}<-Amv_zSRB=hW`p4>1ylBLV3W*=lkdsNqBN^XFbZKY6taKcA_O-P1USI13 z3vvY|*HXjo(U`&qJ&fEpr%afqOs#0vJwNTZL zXs3X89*Y->k)0&xo0t!%YiB^$*@We4s6~_76W;*BU+rUQhaFc5yO2qdsk6zI_C2{m zI~c37l~l?PLa^ks2jqD?fnIOBeXk=ms>y9_*PDnpwK8Xia3WKjiD}TTBHq$ZM=^+k z5mKMG$TQ2f4sVXpXWDv`9)AF}eCEDBj0%k>-$ulT=VL!7Mk7y=*Ktb}+YL@k?xr1LHq>+Se)5LDSR zEyg9yrS6ziHh>ALClZpce4J*t*yxNJpereE==6jrCE|rxAbI=kv~(3fMFh*;?M91G z_nn?*>#^jGA*YO1*81j!=saQ0&F#{_8x$S)sSppsFSTa+ZI!)$jzwjiLD?Vg$wl+Q z@IlUWt7^$mSQ+5m0rSa-zQAPZm7ihr~2sTPD8PTg&C&O$*krd!0@SM zNy*JoBtD5DsVqB`qn`c3Y;)`hx~0&x5oJ;ZQ^7=@g2K=y?vGc~YqmEya6?PjqcEi8 z%ENu$x5tpJ=SO;?WJ&;2FovwH_sio!#Veb6VwCl_L~uEn4stHnhX#mP;STQyxo|5q zRc)IdxgCz{4+qC|my%3%Vl0qHrClA%$#@`rLs^oWYO*(JLzT{uDA7(5aF8@UR0Yh+ zyPh;2nmOK>k@^Dqx$ZASkNE=GK+^4xoa6aHjdY4Rot@v91 z*aNL`j%1*=5w|5n8lPd&55M_KYjG@8DQD9?m!yq!z<`@j&2LC0gBk z++#fW;wsD_hB7=D?LKtmHTY z5jD(n1A40K~e+T)TNu4wQJ5T*n>ev zFs!Ub?CcBNg*G`@I6C+ZV)FwF#+rjC#Q%9W@*rKM-x6S8Jfy_Hkp9<~#n&Xj;P1TR z?~B6p<8`VD8aX?{JACAL)cfULlu>*hcU%6t+)eDwPt4OmmQV-hyR(6LH9ywAI;D)$ zjj{@^X{b>x=C&xn=~{Bm9-LlOpnVYJ(Rlo_A_R-Y`n`X3PZi?w{M-JFD+e>agAFS) zS9Uf-23s+0q)y+ei<2n4tTz-ZVtJT=K$OpWPu`+X*tgBT@LDh(J5P!`UDtU2+~$Wj z?jX-QiQ z7Rq^mN6*m=Sq?CF8!`;=$;Z(xE>aJB-1TmRQ!D1(WqxVd(TDeDARdVvp-~9EB)QU( znCnhM8BC+1lqTx%{9z53lCqME;RoSuk7lR2H^oOrMbx}hL>ZdOr|-gEbUCab!u@m8 zZ|k_an18gWttsIeEgM(wnDpd%NDh_@P;(;bFG)riS2rST8LQoLG*hadEe~}VIWbLh z(a~wpw?JM#iKBlNZv-^xw|@!o(Nn7I0ghHO*Fa7-x;;xP`o&0NYRVR!2MQE*dlGRqtO2ecC9i6cmZd?XuOW=8Qd27V z#Cl7U49(tX)tM}+wzuawFaoCcxoT>1s{F7NA2mGMt*fVc-?bvUmIO_|9$uQJr%5PH zX(MF(C?X@h6qA42onCnZ!tQeS=yucGMtS2SNk)85kK_QK=Ef-o;{GMPM4=IX=7~NE zxm?w|950-e+26a8hrGTZL1o?~01p}Q;E<`0B3dANa#I4gWl{jNJ@&T1 zMovPbc*cOUHz$kGV4^J;L?dRI_MtJ$WFqYEm89ylu0Rz?jT!h zeIKXx5WQ{%5#GIaN)*g1J9w|2{0jM+CXiONtP}S>KRc}vO6J%~EM%UUd~>Y&rXr!k zn&heav1VJg>JI%WJ1CX+B&WYanxZx(rWIfY#r|Z1x>BQQW^+r0&SHB~lu?4StQqmC zEXUZ-%Kmy?9N;j^xN5n_Pq%FjcRgf2d$Gy})+>F*hud3do2RXEU&qr?PGFXfl3I>x z1aFsQ#cV7#fvfNSdbpkRC;wyzXHj0bg9DBFY$heFmV*B>2yk89h%sjez?9P-&Na}1 zNl2QjsSOY`*XjwjrL)aZ$tzUjuojBV#mBG`RDx^ zRRW^Q;-&_G?ueR&8Ornubt&KE9L<>?oVIU7#X#g>d}_Ndk^CrptC zh5?r57xT%Ssf1~b-oBvUbo6LoPFCfZxmkpq(4mI9H!2FM8W{_@KTg!jU{$8w#qtC`IUTgF+O$`Gj%+eG!8fiM(5yq49RZKNFXC!z;Z7Pk z)MtVut)%0>F~Q3tTt3AXTqjw_vQUe~6lmKdr%NoncH*DR6rn(_%RHNuuP3dWFUz_z zpCr9gEE(zVe<)Lkib>chhRXn)4hzIB+u#E0NG0>Q64%FG4Q}h+JDMb-=bp*#+F+8u zfw->VKPL-EQjs1?n#@y~bv$Oq1W9zuzd!$Vi*U2Eh!n zW;HvNF7@?m-)5R^JdD4*x6SDOXp6B6GCeCyfr0(0gByWS`x*&8b z?qO=UK-x4IZkjPCiZZq5!u)`~U|zSQXXTBfIkL?sPfHEz^944IDcG-`gy>Z?(63UF ztzM*U+%CQY+jYp3R4mUdP_xSI0;eKGC%Xjmtb%Lmi(QC{P0#1f65OZRA{u?%Gbu;5 zmxZ<3(M;q}MpDKf5rB*da4Sen;HVA1=A!uII164?`F5o`>;{YYSk1NPTj@fxwzIPr z!-#QfjSbz{ZDpiYlQAeP^;DMZRJ~ptm8Xh;Da=x+y8LG7lJATOHa(xHWU8vU|B2;W z^7K2Qb;k32C$!u^J`V2R>6YJx&nTN;guxyHKXF6?ztcXyGH8nb+Qv_I`TxiW;h>qf zHyWoS_Gm_n8_gVO{4dOVdbkPrxw*C&&v{HsoC`j%hEnZUVj`C88O-gYi3GKUK_!-* z15@%ZN3S~aAm}we;zyor$soMg1@~;JHFj+lQwHIayz9%qi^clr2!aN zJozO7H>Jcx)Jan-^V6Z9)^v2{bwlJbRh18OadBq!QHvD<&rHPiko+1BxxyNn;h_=S z6rLT(I#y0kV!0yNCPGcRy0oxm zyxm|>=V@_-rD&Xhu0ZUV?d)XBlMM}n?H~;AcufK|!=56{V~KRf5vsJeb`nQHUNSfD z2X9&IcSjf$?zzk9T=O>v;X zmwd?qvSiC9X?!Url7=9HU9Q)JKztQ&*QYL$ds#sDG7spU_Y?I()tibJ5?@2gHxn#a zp#T^K+^%?%$RXq$%f+q5?0gWf`7PPG3(!06x9U!N-wZ@{j2w;}tzE`7;iG;zX~IqI z(AfYTaOq+y;Sji~92M8wA_}jMT4&vB*WgL9dqpVc{Y= zhR0wx`s(Ls)oZ;zr<%<&AyGC{(YTALnJrP3C+gby#$0iicF%J`$xjmUrt#kkNyi0i zE{rjE`8^xXsG+kN<-$aaXgt3?a z7tcg^Tg4eS-O8V)<@0dnumPp?$?2AkE26^17e(Ix;LbG79Ppi`l!2u~Yr%EidqVsI)8D{4smzlIHqGP;9A1Z>30WV;kp_ zE96E#fgoSkE(waH-EGfO*}R(1k&NyKu#^LXn-8f!f3SC;jSDgwdmO(gqoS6TY-{I|$N@P%p@apjKkL!aOX^rQQ~I?0}1=t$xP2RpzFeRTVQ`~W^p zZGDYWBa}8Duz%5DzkkrslTX`JNX$e?3@IXl6p=6@AcdL;i3ruq^Zd=ziw}v8ioOL1 zJ{ROiX(9XjCSC|?^z&W@XbtoMCx8R^BBDw4lraF25y~Xs4W5JoZ$&snUmpSuCL59z zKogyqSk%~mt|*{AMYnSp8)w1sM}+;M_RkfDGvTvV5PAvy{vMcrsyFyF{r!?Q- z2r&LBsrfO_x&I5ezf+tav;NNk_y?*B`UL+n>;Hcz&rpAaV?7`)-WdQn`g0y#`O&*@ H_Ur!uVmU_? literal 0 HcmV?d00001 diff --git a/third_party/java/opentracing/BUCK b/third_party/java/opentracing/BUCK index 3b54efe758875..2cecccdb54297 100644 --- a/third_party/java/opentracing/BUCK +++ b/third_party/java/opentracing/BUCK @@ -4,8 +4,7 @@ prebuilt_jar( binary_jar = 'opentracing-api-0.31.0.jar', source_jar = 'opentracing-api-0.31.0-sources.jar', visibility = [ - '//third_party/java/contrib:opentracing-concurrent', - '//third_party/java/contrib:opentracing-okhttp3', + '//third_party/java/contrib:', '//java/client/src/org/openqa/selenium/remote:', ], ) @@ -25,3 +24,16 @@ prebuilt_jar( ], ) +prebuilt_jar( + name = 'opentracing-util', + maven_coords = 'io.opentracing:opentracing-util:jar:0.31.0', + binary_jar = 'opentracing-util-0.31.0.jar', + source_jar = 'opentracing-util-0.31.0-sources.jar', + deps = [ + ':opentracing-api', + ':opentracing-noop' + ], + visibility = [ + '//third_party/java/contrib:opentracing-tracerresolver', + ], +) diff --git a/third_party/java/opentracing/opentracing-util-0.31.0-sources.jar b/third_party/java/opentracing/opentracing-util-0.31.0-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..61a8c63454d5c2f79a20889685ca2e2fa72fd27b GIT binary patch literal 8179 zcmbVR1ys~))2Cwz2|-FyxwVw%e6#0&_P^)M{AQkKXP%j7MjiwU2Y^CCLW0^)W02A0;I37Nf`Zb6JP#p{thll; zBT!C)SyosMC?T$-%p@yuB0D%B17c(vLjy6=4G)e~DY8tkFR$Ct4Gq$cITlwd($GpX z3@~i0+c8PYG5}?vLwRtYP#NdaT~HfpzP2Ch_*oJ2 zf0ez5!+6i?yTAQz*S_3pWbD8|LCGURLD4|Kezi_vM+a*OQ!7(@6D0!(9Fv)zlU}&e zlJzVLhUbWm?dls<4hN67`DD39)eG5{q?nDxk-ZIY)*ZtZ1+>XmZ3h-GPvYbTU=`{| zoR=a`4*9(8-xk{Ch__bSI9{GDz<+BF>H+AfW^0-B1`LuF?@F7B+BknsS*AhDm+yc0 zR2@c=a`n`V4)(%l7Kw6&uGzm8_B2`Xzygj?r6bu=hz=!Q*o+j_Fk7gdIwH@J-5;)O z%82ak8d6O;y;sdt6f^ZYbM47w*(>2XPuzvRlLCqbG`mzXuSBDWK(}- zymvj7m5&PutX}49>-I5GWj&(Apyt1LNNLOFeeH5&>7mXt;9IP(2>_dCUB^PJoOH)P^rQ}9RfEMtjscd_cMhz}s*bRLGuKk2VZb?EM;i0cWW_8~eRVh7H z&*XE2X@}YNvq(Yc(OBgE5Q9T!Dqu{0&B=iR;Y>R4MXancQujg z;Zpe-O>xQ5r3oJzSgkxtsAuP-K~d^$eRd?XWck`6dt=N`ohR&6$Nl%0r$)=pBK$~< z9d>G@Di*F4-o(kMjtV{|YR10~dyXQwon>BI$KOLSr^gpKuxb^~s<-jYjWPwC zQuU(c7URJBO;(1Il@sSRj|=*5Fn6cZ{V@3+jeiDEvkkGb5#*#A$AyBT{FeZdw6NCK zvrvW{G)8v6M^C)Ew*4F@uE+U%p%(V=RFy(25+|oAx!#af!^xqKk3lmsOMqyMfIzr< zC>rshi?(wucd1;4*V;p$o`^4drn~J2NHC9l0y*WRlt!KF{6-jeS-Ljru!)-rKIvwq5pGpHs-L-?ONi^>_|?>cVQ;5bLDr zXjPV4X$;lLn10ZtCl%7Hjf>a)Y|ca=`7Bqzp)5t(E*_;e+G_o)7%l!a<;PK!4;2Xp zj(!D3&N!<~n$31)mzyTlGZt+7j6>D5k}B%2BuS{b>cBI5^y-9M?uzl{3HV2Csst{L zpV$`LlT(>>U-fXw5cYy74u?%EoeXkC3j+tgFoXKUYr!MAYGn2L`p7|`A+4gx&B>n2gDdIze!h$ANH19DQyVqd zS(FNcdJ9vB5cUL!I2iX(Lc!32N{pEg^jM}cyl-7`;}8_j$P7>aRTED<$=bgtFHcKT zU9DVtYTR}+qeUq%sM+ zr)X*gi?pRF79n16vtV-cgqF<)@T=>%PQudEi!XAFuQjy|9J)Xx<-0AMPo1x!ZhEKZ zKRkKopfUa>QlGJSfO>INx^Y;7nO{aw*|mdyqZwHW);Uf&^Sw}QamXZ$W2l=@T+S>K z;X)11VeO&(V2$R-%5eFSio}@PJ%U8$U1o{6_97O)<((c;+<~>?*P@TIL(6N63JFLo zb+i~yy}6je;05hAtSPP z3*?pe0|;}C`Re)FlO;5lY5_WkSsqlwm#7eRFSGm7tLG@tX9j0cbG|dzF?x!rL~Tp zra)PF9D{eXfI7Jj8B%TSqVL;^xKfOctn;^B{+!*eDH!!nrXQ6PEK``;x)qktJTb7Y z^Z8a!i#cOu&W9?30g7>{S$Uxo!wkFAFL!OMk-i5RULDk&yS+EAh(d}!S; zQt$aVoZp$eB$ZI$(8Ybz`lgOmfOS5zB>1g4HBXQi#t&9fA&}tRN25@0s>J{kZ;eIKFV{B2A5A{&5Vc z0u>obc;oE8j&BAGE5f#cU0y;+7!3f(%d@SdPdiqX`koQQMb8llHL8`|T=jTYf9knCRB>{T#rnh2UwoFJT#gFC)NT;AV9+RV^f6Y7rb{J$*UjYs?2vAJ+ z;k^1<2ZQ9+cgIgp<(;w@Txo%yYL3W`X=vRHvw(Ilh)8FTG@tvS1q**WJE*jsBvy5XS$qz)#P803mUt+ zrRYTGNcqRlDU_|GLk@D8hP{Nvb7kMW0v9w(N}06xI4Z`_vE%uCJeVo};Qs=@rD9jW z#VsY3avUiKFQ8fk^U*}MLB$hFH_q2E;!f}EXcWYHbpnUw2A6|UD5 za@pYzl{-2!mL22brAFA~%DScu@E~p_e`C!?)Z@%X60t4kfeW>_FIY|K;PNa7 z_2!b&O)zN@-8Kqs6eX;x%3pV^3W0Xk{xas6vDj#&-eXU@attZ;H)$?vhQu?^L;~fp z^QEc-*EIfYs1L3$XSOzbwwLAT*h-Sgva+!kE=|3~s)ruf+L6ynhKX|79!b4U)uG}R z<4z{xqF;%0h;%{NBp1B!epw=@bGhPW{4v@!9V{RF9%5dD5a0c* z+viQt2KtIuR)FdW zrAp-gTZ2W#XfnF-F4SmY+-1KjI@ z^sJnfFP8N5$*hkY@|Y3WA4#lD)NNtdXl{Dycy--Qdpe#_vDk9^Ja{H}u*_H6L{fRE zgvO|I)kM}LeB$3M@J-w=yE@&!nt9JP-B#Q05b?g4Zr%gcuD z8Dz*ki5^n;)Ba1{qHJPkq-Q8&ZJ=jyuku$`cs>WI{14vOe+}@J?mT0W6_xVuthOkL zPiE`RNzuYanTAyUSt8#Kc&SZ+(!v*H@opJy*ZWOX-(rbV+ojgchrolKiB%&y&$my| zUg38>k>mk0Y_J7nmM4t|F7J0UMk)}PkbrEZ*Gz!f;zNfHn{a(^HuJ*bk_*wAg0sJisF!xGUX81|PHMI(21~YtOBu77i zhTS`TD!Pbp`!pZh{AJwg@cP>XG4)AF6;=?o&?5eHijGB3gp79CDj!b7!!VWE_+;}< zR2>y`?uk6IrnyFQ;}9NM%x>Q?m%UIo1>G;Phx4$S-7WeF1ih3-^MaG3e%mgmSE(mK zy>T0Ov7$!}iZI9`yjGQOh>(pAF%IJ`-sNw(lRCgJA)*S9zy5^D&Bw4=Z`;jyZsB5y zP|v;Gfj)zQUAWr8wAe3N2+O%!-sF3(=&Jg*ScqAim)n!a5zi25?Sf!A-|4_kB=PwP zocYd4X zL2ATPfBs~njGLbxPmMV~KlGpjXB9?SuLZqM;)ThjqN~!R>R!s8!@F%6aA>U$V}f(@ zeC;}Hpla8vE$~ql?owKmtTp)h!CidakD|ZF7oOpiyba`Hy#NOV#qvMKm#m(Zp79@7 zgm9$}E3gno%O<@!UgUF%k*Bae3hMz)79}La@$MM3Xwid8(q<3pWADkZumIdMFyrUS?GvoS_~N3z~%9BJDsJ zK-XeLiL63)x~7^n(vH=!(4GaN#-qnuu&bFD_p$N&9B;pu!o7bjfF*32D~mnAIM}PU zePb7`lU_c%(it9O!iaaX7_C>ZjvzK*MyF6IL+d(^ljXM)8x6 zbqxGCyhr)e1ci8yIB*pU&$ta5bo~nr#z}lXW1mz0mNr!AQcmO3G5*dq{6qu?P7SHHUguxuiK z-qi`x3D8$OQIny6SoPt9o-eYxHPOnpR!n1%cHm|da@nO-IgF9y_$4&=!WHEe193OX zKr3p(NqVl?t^2BVG=j{!*j*tduo=wjD!RW`Smw@+5q9-w(8M-n*1>bQ^O zklcCmeV_fiH-mF%RplYs;t+Dv<%D?iPtC2L`c?nvIoViSGPzhoeX(?k;-YePLv~yX%T6CxN zta~S2Z!~K|JM0VOK=*zlv!V6SxZ~@w!3C#FV%X=UP8$xG8{R~-_pd7|Y}nG9k&iYR z8Msh4Lf+)%<6m`D*AfTa6!=@z%>_Tpi=Kd|pDNwJC3HlUDBDXgL*U_3JyEel3^$9v#2WJU-^+&a-G&(#hdL+- zb+AR%8DC#I*`ah#dZ{gIJaDQHeL~NjF(QyV;2_X7E%|o1wL@@ww~Lj<0-H*oH&3Ar zo}110XujoVSiPz_82-u*a>YDBNPi{zm4W?nUk;vHA-1_{72Z;&BuHr?Z;Xw6G7@ z$6vwgFpud8?DQY)Aj6SKVQhT>s!+@>* zX1^Oyz+B>NCzNGWI?lJk7UQBcwWKWb>?R#pvu>WO0p}6-_B7M&rQ1S3w=2J?p@TKE zw*x>TNZ4(=Yxekf^ROZl2jp6?bWF61&%>UyQM~PtfrN$`>7DfUlvZ1fgK9dwK}|BC zfUuOt6I3tv^4n6GOprUZf$(1b*+P^wVQ!$IJ^N!EjMo=fmHK ziNcOv8i%@j>Bc>GOsD&;Ppe3h#bo{)pLLNNacTG89V<603I|eg6Mn%-YyNLfOv2)W}}R>3d6GL8@5U zhCxbZSW4wkmH{-R#4^P`$-YeY$3WoeC_5*d9XRwDgu#=W|Qh{%%e==(fYmff8Wj@E4XV;H+bNXDM50mHzbGNb-MqD=Jfp(8Xr4m z4Q9dUT{=-qy^535Zrp<=0|bv+lIwGfkF)L_ebG`BHA9@!P|f;wkh+jrgF_k}M5X3+ zxxaakx($S*hUCzxKG(hF&$~C1w71QH>&c|nKt?n`k(m^4-BfSoe48x=JS~XQq4)`G zM2~5xuXWc)xYn2oMf!TFVbU|-v2qTA5#4vZpO$gsoJKYDVNJ7Q(4hH|&C(9YaFAL| z3ExO#oQ{`@W^_>c1a*kMC#uBNSg=#sdk3{3)a+E|!Jc;Jk)cZ}TU}HzB=@R-Yv#sG zK`V`I@31q?tWT5WG$%IDxp5YzR))f+=PlY&Zt~-P3pIcjld)S)jNZSHlx7H6PXtXYW zAsFw0bsxq}#3mhnb3LkLj<1Wg_8V^|^Nz|oc8F~DX z@=bcuH(7ADE9*sIBpx4jR{U0&o}RCqb*|L7%|Kj^?xUK8kOIVPVPbj`V-Lpo>YZ=- zWHhtoZvy;oy(HSzC~-J%jPN>-B~UCDiD#M-r#~IS9SAAhKDXq1MPq$Uwpkd?K&uS9 z5ltY^eHk2~PXaZ9G6|=u$lxt*eU~Ngd!;-G8s;JF!+)KkL7et?%JsSX`YUVRo2h+A z06_iQwClS(2GpK#@_mH+V!xVx{SfPby#785yR-DWo}UHo##P_xPS0n^>ravPpS0ag z$G+2@@B`?72>&s4`l0^kA=cm33quh8+NeKgXa6pIH$D5I-s+#iKh-Apm-4eAcW2BG ztm6NQ^^ZE|JNS2Z_|q882%Ab7b zCpY-VU-w6edSAz{lIRZ|KAG?S80=!~6AS{p2iv-z#{8JAem}PZA`3 JiV@!Z`agxloQ?nh literal 0 HcmV?d00001 diff --git a/third_party/java/opentracing/opentracing-util-0.31.0.jar b/third_party/java/opentracing/opentracing-util-0.31.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..40ac95ae81cdd3c435f1bf21e78aa83ab330e148 GIT binary patch literal 8029 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 PyZA%C;K-!NF8}*KKgSFr literal 0 HcmV?d00001