Slide 1

Slide 1 text

1)1ΧϯϑΝϨϯε !TIJOY 1)1ϢʔβͷͨΊͷ0QFO5FMFNFUSZೖ໳

Slide 2

Slide 2 text

D .BTBTIJ4IJOCBSB!TIJOY ࣗݾ঺հ ৽ݪʢ͠Μ͹Βʣխ࢘ େࡕͰ8FCγεςϜ։ൃ΍։ൃνʔϜ΁ͷٕज़ࢧԉΛߦ͍ͬͯ·͢ɻ w CMPHIUUQTCMPHTIJOYDPN w 9NJYJ(JU)VC!TIJOY

Slide 3

Slide 3 text

D .BTBTIJ4IJOCBSB!TIJOY ͸͡Ίʹ 👉͜ͷࢿྉ͸ެ։͠·͢ 👉1)1ΞϓϦέʔγϣϯΛ0QFO5FMFNFUSZͰܭ૷͢ΔୈҰา આ໌Λ؆ུԽ͍ͯͨ͠Γলུ͍ͯ͠ΔՕॴ͕͋Γ·͢ 👉ײ૝ɺϑΟʔυόοΫ͓଴͍ͪͯ͠·͢ʂ QIQDPOPSGPSUFFϑΟʔυόοΫϖʔδ

Slide 4

Slide 4 text

D .BTBTIJ4IJOCBSB!TIJOY "HFOEB w 0QFO5FMFNFUSZͱ͸ w 1)1ΞϓϦέʔγϣϯͷτϨʔεܭ૷ w 0QFO5FMFNFUSZ$PMMFDUPS

Slide 5

Slide 5 text

D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZͱ͸

Slide 6

Slide 6 text

D .BTBTIJ4IJOCBSB!TIJOY PHP アプリケーション ௚઀ɺ಺෦ঢ়ଶΛݟΔ͜ͱ͸೉͍͠ ஗͍ Τϥʔ͕ൃੜ γεςϜͷ಺෦ঢ়ଶ͕஌Γ͍ͨ

Slide 7

Slide 7 text

D .BTBTIJ4IJOCBSB!TIJOY PHP アプリケーション ログサービス ϩάΛੜ੒ ϩάΛग़ྗ ϩάΛݟͯ಺෦ঢ়ଶΛ஌Δ ಺෦ঢ়ଶΛ؍ଌͯ͠஌Δ

Slide 8

Slide 8 text

D .BTBTIJ4IJOCBSB!TIJOY ΦϒβʔόϏϦςΟ w Մ؍ଌੑγεςϜͷ಺෦ঢ়ଶΛ֎෦͔Β؍࡯Ͱ͖Δೳྗ γεςϜͷݟ͑ΔԽ w ςϨϝτϦσʔλΛݩʹ؍࡯͢Δ γεςϜͷ಺෦ঢ়ଶΛܭଌ͠ɺ֎෦ʹૹ৴ͨ͠σʔλʢFYϩάʣ w ςϨϝτϦσʔλΛऔಘͰ͖ΔΑ͏ʹܭ૷͢Δ ܭଌ͢Δ࢓૊ΈΛ࣮૷͢Δ͜ͱʢFYϩάΛग़ྗ͢ΔίʔυΛ࣮૷ʣ

Slide 9

Slide 9 text

D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZ 05FM ͱ͸ w ςϨϝτϦσʔλΛੜ੒ɺऩूɺૹ৴͢ΔπʔϧΩοτ ࢓༷ͱ࣮૷ w ϕϯμʔχϡʔτϥϧͳΦʔϓϯιʔε $/$'QSPKFDUҎ্ͷπʔϧ΍αʔϏε͕αϙʔτ w ΦϒβʔόϏϦςΟόοΫΤϯυ͸ؚ·ͳ͍ ςϨϝτϦσʔλͷอଘɺ෼ੳɺࢹ֮Խ͸ผͷπʔϧ΍αʔϏεΛར༻

Slide 10

Slide 10 text

D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZओͳ࢓༷ w 0QFO5FMFNFUSZ࢓༷ "1*σʔλϞσϧͳͲ w 0QFO5FMFNFUSZϓϩτίϧʢ05-1ʣ ςϨϝτϦσʔλͷ௨৴ϓϩτίϧʢΤϯίʔσΟϯάɺૹ৴ͷ࢓૊ΈͳͲʣ H31$)551 1SPUPCVGPS+40/

Slide 11

Slide 11 text

D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZओͳ࣮૷ w 0QFO5FMFNFUSZ࢓༷Λ࣮૷ͨ͠4%, ֤ϓϩάϥϛϯάݴޠ޲͚࣮૷1)1൛͸$PNQPTFSύοέʔδ w ܭ૷ύοέʔδ $PNQPTFSύοέʔδɺ1)1֦ு w 0QFO5FMFNFUSZ$PMMFDUPSʢޙड़ʣ

Slide 12

Slide 12 text

D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZެࣜυΩϡϝϯτ w ಺༰͕ॆ࣮ ֓೦ɺ࢓༷ɺ࣮૷ྫɺ༻ޠू w Ұ෦ɺ࿨༁͋Γ w ຊηογϣϯ͸͜ΕΛಡΉͨΊʹԼ஍ IUUQTPQFOUFMFNFUSZJPEPDT

Slide 13

Slide 13 text

D .BTBTIJ4IJOCBSB!TIJOY 1)1ΞϓϦέʔγϣϯͷτϨʔεܭ૷

Slide 14

Slide 14 text

D .BTBTIJ4IJOCBSB!TIJOY τϨʔε w ϦΫΤετ಺Ͱ࣮ߦ͞ΕͨॲཧΠϕϯτͷύε w εύϯʢॲཧΠϕϯτʣͰߏ੒͞ΕΔ w ϦΫΤετ಺ͷॲཧॱংɺ࣮ߦ࣌ؒɺॲཧ಺༰ͳͲ͕෼͔Δ εύϯ ʢϧʔτεύϯʣ εύϯ

Slide 15

Slide 15 text

D .BTBTIJ4IJOCBSB!TIJOY ࣮૷Πϝʔδ PHP アプリケーション Jaeger OTLP ςϨϝτϦσʔλΛੜ੒

Slide 16

Slide 16 text

D .BTBTIJ4IJOCBSB!TIJOY खಈܭ૷ͱࣗಈܭ૷ w खಈܭ૷NBOVBMJOTUSVNFOUBUJPO ςϨϝτϦσʔλͷੜ੒΍ૹ৴͢ΔίʔυΛΞϓϦέʔγϣϯʹೖΕΔ w ࣗಈܭ૷[FSP BVUP JOTUSVNFOUBUJPO ࣗಈܭ૷ύοέʔδͳͲΛར༻ͯ͠ΞϓϦέʔγϣϯमਖ਼͠ͳ͍ w ૊Έ߹Θͤ΋Մ ࣗಈܭ૷ͭͭ͠ɺඞཁͳՕॴ͚ͩखಈܭ૷͢Δ

Slide 17

Slide 17 text

D .BTBTIJ4IJOCBSB!TIJOY 1)1τϨʔεܭ૷ͷྲྀΕ w ඞཁͳύοέʔδͷಋೖ w ܭ૷ͷઃఆ w ܭଌίʔυͷ௥Ճʢखಈܭ૷ͷ৔߹ʣ खಈܭ૷1)1ίʔυܭ૷ࣗಈܭ૷ίʔυมߋແ͠ʹܭ૷

Slide 18

Slide 18 text

D .BTBTIJ4IJOCBSB!TIJOY खಈܭ૷ඞཁͳύοέʔδ w PQFOUFMFNFUSZTEL 0QFO5FMFNFUSZ4%, w PQFOUFMFNFUSZFYQPSUFSPUMQ ςϨϝτϦσʔλΛ05-1ܗࣜͰग़ྗ w QIQIUUQHV[[MFBEBQUFS ςϨϝτϦσʔλΛૹ৴͢Δ)551ΫϥΠΞϯτ

Slide 19

Slide 19 text

D .BTBTIJ4IJOCBSB!TIJOY खಈܭ૷ඞཁͳύοέʔδ $ composer require open-telemetry/sdk \ open-telemetry/exporter-otlp \ php-http/guzzle7-adapter # ඞཁʹԠͯ͡ɺy or n Λೖྗ Do you trust "tbachert/spi" to ... [y,n,d,?] n

Slide 20

Slide 20 text

D .BTBTIJ4IJOCBSB!TIJOY ܭ૷ͷઃఆ w ؀ڥม਺Ͱࢦఆ ؀ڥม਺ ஋ ಺༰ 05&-@&91035&3@05-1@13050$0- IUUQQSPUPCVGʢσϑΥϧτʣ ૹ৴ϓϩτίϧ 05&-@4&37*$&@/".& BQQ αʔϏε໊ʢτϨʔεʹؚ·ΕΔʣ 05&-@&91035&3@05-1@&/%10*/5 IUUQKBFHFS ૹ৴ઌ63-ʢ+BFHFSʣ

Slide 21

Slide 21 text

D .BTBTIJ4IJOCBSB!TIJOY खಈܭ૷1)1ίʔυྫ $tracerProvider = new TracerProviderFactory()->create(); // TraceProvider ࡞੒ $tracer = $tracerProvider->getTracer('trace-example'); // Tracer ࡞੒ $rootSpan = $tracer->spanBuilder('root')->startSpan(); // ϧʔτεύϯ։࢝ $rootScope = $rootSpan->activate(); // Ҏ߱ͷεύϯΛϧʔτεύϯΛ਌ʹ͢Δ usleep(50 * 1000); try { $span1 = $tracer->spanBuilder('foo')->startSpan(); // εύϯ։࢝ usleep(100 * 1000); $span1->end(); // εύϯऴྃ } finally { $rootScope->detach(); $rootSpan->end(); // ϧʔτεύϯऴྃ } $tracerProvider->shutdown(); // TraceProvider ऴྃ

Slide 22

Slide 22 text

D .BTBTIJ4IJOCBSB!TIJOY खಈܭ૷ग़ྗྫ w ͭͷεύϯΛग़ྗ w ॲཧͷྲྀΕɺॲཧ࣌ؒɺ։࢝࣌ؒͳͲ͕෼͔Δ ॲཧ࣌ؒSPPUNTGPPNTʢVTMFFQ ࣮ߦ෼ʣ

Slide 23

Slide 23 text

D .BTBTIJ4IJOCBSB!TIJOY ࣗಈܭ૷ w ඞཁͳύοέʔδΛΠϯετʔϧ w ܭ૷Λઃఆ 1)1ίʔυͷ࣮૷͸ෆཁ w ͜͜Ͱ͸-BSBWFMΞϓϦέʔγϣϯͷܭ૷Λྫࣔ %#ΞΫηεɺ֎෦"1*ݺͼग़͋͠Γ

Slide 24

Slide 24 text

D .BTBTIJ4IJOCBSB!TIJOY ࣗಈܭ૷ඞཁͳύοέʔδ w खಈܭ૷ύοέʔδ w PQFOUFMFNFUSZ֦ு ؔ਺΍ϝιου࣮ߦΛϑοΫͯ͠೚ҙͷؔ਺Λࠩ͠ࠐΉ w PQFOUFMFNFUSZPQFOUFMFNFUSZBVUPMBSBWFM -BSBWFMΞϓϦέʔγϣϯͷࣗಈܭ૷

Slide 25

Slide 25 text

D .BTBTIJ4IJOCBSB!TIJOY ύοέʔδ w ؀ڥม਺खಈܭ૷ͷઃఆʹ௥Ճ ؀ڥม਺ ஋ ಺༰ 05&-@1)1@"650-0"%@&/"#-&% 536& ΦʔτϩʔμಡΈࠐΈ࣌ʹ4%,ͷ άϩʔόϧઃఆΛࣗಈͰߦ͏

Slide 26

Slide 26 text

D .BTBTIJ4IJOCBSB!TIJOY w )551ϦΫΤετεύϯʢϧʔτεύϯʣ w 42-จൃߦ w ֎෦)551ϦΫΤετૹ৴ τϨʔεྫ

Slide 27

Slide 27 text

D .BTBTIJ4IJOCBSB!TIJOY τϨʔεεύϯྫ ൃߦ͞Εͨ42- ൃߦ͞Εͨ42- ࣮ߦ࣌ؒ

Slide 28

Slide 28 text

D .BTBTIJ4IJOCBSB!TIJOY τϨʔεεύϯྫ ֎෦"1*ݺͼग़͠ )551ϦΫΤετɺϨεϙϯε ϦΫΤετૹ৴ઌ ࣮ߦ࣌ؒ ։࢝࣌ؒ

Slide 29

Slide 29 text

D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZ$PMMFDUPS

Slide 30

Slide 30 text

D .BTBTIJ4IJOCBSB!TIJOY PHP アプリケーション Jaeger OTel Collector New Relic Datadog Loki 0QFO5FMFNFUSZ$PMMFDUPSར༻Πϝʔδ ςϨϝτϦσʔλੜ੒ɺૹ৴ όοΫΤϯυʹసૹ σʔλอଘɺࢹ֮Խɺ෼ੳ

Slide 31

Slide 31 text

D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZ$PMMFDUPS w ςϨϝτϦσʔλͷड৴ɺॲཧɺૹ৴Λߦ͏ιϑτ΢ΣΞ (P࣮૷%PDLFSΠϝʔδɺόΠφϦύοέʔδ΋ఏڙ w ΞϓϦέʔγϣϯͱΦϒβʔόϏϦςΟόοΫΤϯυΛ஥հ ΞϓϦέʔγϣϯͱόοΫΤϯυΛૄ݁߹ʹ͢Δ w ΞϓϦέʔγϣϯ͸$PMMFDUPSʹૹ৴͢Δ͚ͩͰྑ͍ ϨΠςϯγΛԼ͛ΔΞϓϦέʔγϣϯ͕όοΫΤϯυ৘ใΛอ࣋͠ͳͯ͘ྑ͍ w ུޠ05FM$PMMFDUPSPUFMDPM

Slide 32

Slide 32 text

D .BTBTIJ4IJOCBSB!TIJOY ྫϩʔΧϧ؀ڥͱຊ൪؀ڥྫ PHP アプリケーション Jaeger OTLP OTel Collector OTLP w ϩʔΧϧ؀ڥ w ຊ൪؀ڥ PHP アプリケーション New Relic OTLP OTel Collector OTLP όοΫΤϯυ͕มΘͬͯ΋ 1)1ΞϓϦέʔγϣϯ͸มߋෆཁ

Slide 33

Slide 33 text

D .BTBTIJ4IJOCBSB!TIJOY ྫҟͳΔϓϩτίϧʹม׵ PHP アプリケーション Jaeger OTLP OTel Collector OTLP w ϩʔΧϧ؀ڥ w ຊ൪؀ڥ %BUBEPH&YQPSUFSͰม׵ PHP アプリケーション Datadog OTLP OTel Collector Datadog

Slide 34

Slide 34 text

D .BTBTIJ4IJOCBSB!TIJOY PHP アプリケーション AWS X-Ray OTLP ADOT Collector X-Ray ྫόοΫΤϯυઐ༻$PMMFDUPSͷར༻ PHP アプリケーション Jaeger OTLP OTel Collector OTLP w ϩʔΧϧ؀ڥ w ຊ൪؀ڥ "84%JTUSPGPS0QFO5FMFNFUSZ "%05 $PMMFDUPSΛར༻

Slide 35

Slide 35 text

D .BTBTIJ4IJOCBSB!TIJOY ·ͱΊ

Slide 36

Slide 36 text

D .BTBTIJ4IJOCBSB!TIJOY ·ͱΊ w 0QFO5FMFNFUSZ͸ϕϯμʔχϡʔτϥϧͳ ΦϒβʔόϏϦςΟπʔϧΩοτ w ςϨϝτϦσʔλͷຽओԽ w ·ͣ͸ϩʔΧϧ؀ڥ͔Βࢼ͢ͷ͕͓͢͢Ί IUUQTCMPHTIJOYDPNFOUSZQIQPQFOUFMFNFUSZQSJNFS

Slide 37

Slide 37 text

D .BTBTIJ4IJOCBSB!TIJOY ࢀর w IUUQTPQFOUFMFNFUSZJPEPDT w IUUQTEPDTEBUBEPHIRDPNKBPQFOUFMFNFUSZDPMMFDUPS@FYQPSUFS w IUUQTEPDTOFXSFMJDDPNKQEPDTPQFOUFMFNFUSZPQFOUFMFNFUSZ JOUSPEVDUJPO w IUUQTBXTPUFMHJUIVCJPEPDTJOUSPEVDUJPO w IUUQTXXXKBFHFSUSBDJOHJP w IUUQTCMPHTIJOYDPNFOUSZQIQPQFOUFMFNFUSZQSJNFS