Slide 1

Slide 1 text

αϯϓϧίʔυͰཧղ͢Δ 93BZͷ࢖͍ํ SF(SPXUI04","DNEFWJP

Slide 2

Slide 2 text

ࣗݾ঺հ ϞόΠϧόοΫΤϯυॴଐ ࠓ೥݄ೖࣾ େࡕࣄ຿ॴͰ།ҰͷϞόΠϧΞϓϦαʔϏε෦ 3BJMTͱ͔/PEFͱ͔࢖ͬͯ"1*࡞ͬͯ·͢ ˞"84͸ඞࢮʹษڧதɺ·͔͞Γ͸ܰΊͷ΍ͭͰʂ

Slide 3

Slide 3 text

̍ͭͷϦΫΤετΛτϨʔε͢Δ͜ͱʹ ϑΥʔΧεͨ͠αʔϏεͰ͢ 93BZͱ͸ʁ

Slide 4

Slide 4 text

ศརͳαʔϏε΍ϛυϧ΢ΣΞ͕؆୯ʹͭ ͔͑ΔΑ͏ʹͳΓɺߴػೳ͔ͭߴτϥϑΟο Ϋʹ଱͑ΕΔΞϓϦέʔγϣϯΛखؒΛ͔ ͚ͣʹ࡞ΕΔΑ͏ʹͳ͖ͬͯ·ͨ͠ɻ എܠ

Slide 5

Slide 5 text

-".1࣌୅ ཁૉ΋͔̏ͭ̐ͭ ݟΔϩά΋ͦͷ͘Β͍

Slide 6

Slide 6 text

4/4 424 -BNCEB %ZOBNP%# 3%4 4 ࠓ ,JOFTJT

Slide 7

Slide 7 text

·ͨϚΠΫϩαʔϏεͷΑ͏ʹখ͞ͳΞϓ ϦέʔγϣϯΛ࡞Γͦͷ૊Έ߹ΘͤͰγε ςϜΛߏ੒͢Δ͜ͱ͕૿͖͑ͯ·ͨ͠ɻ എܠ

Slide 8

Slide 8 text

ͦͷԸܙͱͯ͠ɺίϯϙʔωϯτԽ͕ਐΈ ίʔυͦͷ΋ͷͷෳࡶੑ͕ܰݮ͞Ε͍ͯ͘ Ұํɺ֤ཁૉײͷؔ܎ੑ͸ෳࡶʹͳ͍ͬͯ ͖ɺੲͳΒ؆୯ʹͰ͖ͨͭͷϦΫΤετ ΛτϨʔε͢Δͷ͕ͱͯ΋೉͘͠ͳ͖ͬͯ ͍ͯ·͢ എܠ

Slide 9

Slide 9 text

ϞϊϦγοΫ 8 ͭͷϦΫΤετΛ୯ҰͷΞϓϦέʔγϣϯ͕ॲཧ

Slide 10

Slide 10 text

ϚΠΫϩαʔϏε 'SPOU "1* 1PJOU "1* "VUI "1* 4FUUMFNFOU "1* ͭͷϦΫΤετΛෳ਺ͷ"1*͕ॲཧ͢Δ

Slide 11

Slide 11 text

ཁૉͷ਺͕૿͑ɺͦͷؔ܎ੑ͕ෳࡶʹͳΕ ͹ͳΔ΄ͲɺΤϥʔൃੜՕॴɺϘτϧωο Ϋͷݕग़͕೉͘͠ͳ͍͖ͬͯ·͢ എܠ

Slide 12

Slide 12 text

ϩά஍ࠈ

Slide 13

Slide 13 text

93BZ

Slide 14

Slide 14 text

93BZΛ࢖༻͢Δ͜ͱͰϦΫΤετΛτ ϥοΩϯά͢ΔखؒΛܰݮͤ͞Δ͜ͱ͕Ͱ ͖·͢

Slide 15

Slide 15 text

93BZαϯϓϧ /PEF ͷ಺༰Λݟ͍͖ͯ·͢

Slide 16

Slide 16 text

αʔϏεϚοϓ &$ %ZOBNP%# 4/4

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Τϥʔ͕ൃੜ͍ͯ͠Δ͜ͱ͕ αʔϏεϚοϓ্ͰΘ͔Γ·͢

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

&$͔Β͸ฦ͍ͯͯ͠ %ZOBNP%#͔Βͷ͕ݪҼ

Slide 21

Slide 21 text

&YDFQUJPOͷ಺༰͕ΈΕΔ

Slide 22

Slide 22 text

ϘτϧωοΫΛ୳͢ "1*͕ϨεϙϯεΛฦ͢·Ͱʹ͔͔ͬͨ࣌ؒͱ ͦͷ಺༁͕ΈΕΔ

Slide 23

Slide 23 text

IUUQNFUIPE(&5 IUUQVSM#&(*/8*5)IUUQT TFSWJDF YYYFYBNQMFDPN SFTQPOTFUJNF ΫΤϦ

Slide 24

Slide 24 text

άϧʔϐϯά

Slide 25

Slide 25 text

࢖͑Δύϥϝʔλʔ

Slide 26

Slide 26 text

ݱࡏ࢖͑ΔϦʔδϣϯ ࠓͰ΋શϦʔδϣϯͰͨΊͤ·͢ʂ

Slide 27

Slide 27 text

ݱࡏ࢖͑Δݴޠ /PEFKT +BWB $ ˞ 3VCZ͸·ͩ͋Γ·ͤΜʢྦ

Slide 28

Slide 28 text

ݱࡏ࢖͑Δ ϑϨʔϜϫʔΫ &YQSFTT /PEF 5PNDBU +BWB 4QSJOH#PPU +BWB $ /&5 ˞ +BWBͱ/PEF͸ࣗ෼Ͱ͔͚͹ରԠͰ͖Δ

Slide 29

Slide 29 text

τϥοΩϯάͰ͖Δ αʔϏε &$ &$4 &MBTUJD#FBOTUBML .Z42-ɺ1PTUHSF42- 3%4ɺ"VSPSB %ZOBNP%# 424 4/4

Slide 30

Slide 30 text

αϯϓϧίʔυͰݟΔ τϥοΩϯάͷ࢓ࠐΈํ

Slide 31

Slide 31 text

// SDKをWrapするメソッドを呼び var ddb = XRay.captureAWSClient(new AWS.DynamoDB()); // 後は普通にSDKとして使うだけ ddb.putItem({ 'TableName': ddbTable, // ~~~~~ 略 "844%,

Slide 32

Slide 32 text

// ミドルウェアとして登録 app.use(XRay.express.openSegment()); // 処理を書いて app.get('/', function(req, res) { }); // ミドルウェアとして登録 app.use(XRay.express.closeSegment()); &YQSFTT

Slide 33

Slide 33 text

// 処理中のセグメントを取得 var seg = XRay.getSegment(); // アノテーションを追加 seg.addAnnotation('theme', req.body.theme); "OOPUBUJPO

Slide 34

Slide 34 text

XRay.captureAsync('Page Render', function(seg) { res.render('index', { static_path: 'static', theme: process.env.THEME || 'flatly', flask_debug: process.env.FLASK_DEBUG || 'false' }); seg.close(); }); $BQUVSF ೚ҙͷॲཧΛΩϟϓνϟ͢Δ͜ͱ΋Ͱ͖·͢

Slide 35

Slide 35 text

Processor: # Number of go routines used to push segments to AWS X-Ray service Routines: 8 খωλ ˞ ίϯϑΟάΈΔͱ93BZσʔϞϯ͸ (PMBOHͰͰ͖ͯΔͬΆ͍

Slide 36

Slide 36 text

ݒ೦఺ /FX3FMJD౳ͱҧͬͯίʔυΛॻ͖׵ ͑Δඞཁ͕͋Δ ηάϝϯτ ϝτϦΫε Λ͋Δఔ౓ϑΟ ϧλϦϯάͯ͠อଘ͢Δ͕৚͕݅·ͩෆ ໌֬ 3VCZ͕·ͩͳ͍ʂ

Slide 37

Slide 37 text

ௐࠪ࣌ؒ΋ͪΓ΋ੵ΋Ε͹ࢁͱͳΓ·͢ ։ൃͷຊ࣭ͱ͸཭Εͨͭ·Βͳ͍ௐࠪ࡞ۀ͸ 93BZΛ࢖ͬͯলྗ͍͖ͯ͠·͠ΐ͏ ·ͱΊ