Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
re:Growth 2016 サンプルコードで理解する X-Rayの使い方
Search
sutetotanuki
December 13, 2016
0
1.3k
re:Growth 2016 サンプルコードで理解する X-Rayの使い方
re:Growth 2016 発表資料
sutetotanuki
December 13, 2016
Tweet
Share
More Decks by sutetotanuki
See All by sutetotanuki
Next.js 16の新機能 Cache Components について
sutetotanuki
0
210
Vercel AI SDK を使って Next.js で AIアプリケーションを 作成する方法のご紹介
sutetotanuki
0
1.5k
WEBエンジニア向けAI活用入門
sutetotanuki
0
850
ブラウザ上で実行され、 AIアシスタント付きデータベース postgres.new を触ってみた
sutetotanuki
0
380
今時のCookie事情
sutetotanuki
0
640
高速案件立ち上げで使われるマッハテンプレートのフロントエンド技術選定
sutetotanuki
2
1.8k
Core Web Vitals を改善する Next.js の機能群
sutetotanuki
1
2.5k
サーバーレスRDBの選択肢
sutetotanuki
0
1.5k
今日から始めるAmplify DataStore
sutetotanuki
0
1.3k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Faster Mobile Websites
deanohume
310
31k
KATA
mclloyd
PRO
33
15k
How to build a perfect <img>
jonoalderson
1
4.8k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
1
330
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
140
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
150
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
270
Transcript
αϯϓϧίʔυͰཧղ͢Δ 93BZͷ͍ํ SF(SPXUI04","DNEFWJP
ࣗݾհ ϞόΠϧόοΫΤϯυॴଐ ࠓ݄ೖࣾ େࡕࣄॴͰ།ҰͷϞόΠϧΞϓϦαʔϏε෦ 3BJMTͱ͔/PEFͱ͔ͬͯ"1*࡞ͬͯ·͢ ˞"84ඞࢮʹษڧதɺ·͔͞ΓܰΊͷͭͰʂ
̍ͭͷϦΫΤετΛτϨʔε͢Δ͜ͱʹ ϑΥʔΧεͨ͠αʔϏεͰ͢ 93BZͱʁ
ศརͳαʔϏεϛυϧΣΞ͕؆୯ʹͭ ͔͑ΔΑ͏ʹͳΓɺߴػೳ͔ͭߴτϥϑΟο Ϋʹ͑ΕΔΞϓϦέʔγϣϯΛखؒΛ͔ ͚ͣʹ࡞ΕΔΑ͏ʹͳ͖ͬͯ·ͨ͠ɻ എܠ
-".1࣌ ཁૉ͔̏ͭ̐ͭ ݟΔϩάͦͷ͘Β͍
4/4 424 -BNCEB %ZOBNP%# 3%4 4 ࠓ ,JOFTJT
·ͨϚΠΫϩαʔϏεͷΑ͏ʹখ͞ͳΞϓ ϦέʔγϣϯΛ࡞ΓͦͷΈ߹ΘͤͰγε ςϜΛߏ͢Δ͜ͱ͕૿͖͑ͯ·ͨ͠ɻ എܠ
ͦͷԸܙͱͯ͠ɺίϯϙʔωϯτԽ͕ਐΈ ίʔυͦͷͷͷෳࡶੑ͕ܰݮ͞Ε͍ͯ͘ Ұํɺ֤ཁૉײͷؔੑෳࡶʹͳ͍ͬͯ ͖ɺੲͳΒ؆୯ʹͰ͖ͨͭͷϦΫΤετ ΛτϨʔε͢Δͷ͕ͱͯ͘͠ͳ͖ͬͯ ͍ͯ·͢ എܠ
ϞϊϦγοΫ 8&# ͭͷϦΫΤετΛ୯ҰͷΞϓϦέʔγϣϯ͕ॲཧ
ϚΠΫϩαʔϏε 'SPOU "1* 1PJOU "1* "VUI "1* 4FUUMFNFOU "1* ͭͷϦΫΤετΛෳͷ"1*͕ॲཧ͢Δ
ཁૉͷ͕૿͑ɺͦͷؔੑ͕ෳࡶʹͳΕ ͳΔ΄ͲɺΤϥʔൃੜՕॴɺϘτϧωο Ϋͷݕग़͕͘͠ͳ͍͖ͬͯ·͢ എܠ
ϩάࠈ
93BZ
93BZΛ༻͢Δ͜ͱͰϦΫΤετΛτ ϥοΩϯά͢ΔखؒΛܰݮͤ͞Δ͜ͱ͕Ͱ ͖·͢
93BZαϯϓϧ /PEF ͷ༰Λݟ͍͖ͯ·͢
αʔϏεϚοϓ &$ %ZOBNP%# 4/4
None
Τϥʔ͕ൃੜ͍ͯ͠Δ͜ͱ͕ αʔϏεϚοϓ্ͰΘ͔Γ·͢
None
&$͔Βฦ͍ͯͯ͠ %ZOBNP%#͔Βͷ͕ݪҼ
&YDFQUJPOͷ༰͕ΈΕΔ
ϘτϧωοΫΛ୳͢ "1*͕ϨεϙϯεΛฦ͢·Ͱʹ͔͔ͬͨ࣌ؒͱ ͦͷ༁͕ΈΕΔ
IUUQNFUIPE(&5 IUUQVSM#&(*/8*5)IUUQT TFSWJDF YYYFYBNQMFDPN SFTQPOTFUJNF ΫΤϦ
άϧʔϐϯά
͑Δύϥϝʔλʔ
ݱࡏ͑ΔϦʔδϣϯ ࠓͰશϦʔδϣϯͰͨΊͤ·͢ʂ
ݱࡏ͑Δݴޠ /PEFKT +BWB $ ˞ 3VCZ·ͩ͋Γ·ͤΜʢྦ
ݱࡏ͑Δ ϑϨʔϜϫʔΫ &YQSFTT /PEF 5PNDBU +BWB 4QSJOH#PPU +BWB
$ /&5 ˞ +BWBͱ/PEFࣗͰ͔͚ରԠͰ͖Δ
τϥοΩϯάͰ͖Δ αʔϏε &$ &$4 &MBTUJD#FBOTUBML .Z42-ɺ1PTUHSF42- 3%4ɺ"VSPSB %ZOBNP%# 424
4/4
αϯϓϧίʔυͰݟΔ τϥοΩϯάͷࠐΈํ
// SDKをWrapするメソッドを呼び var ddb = XRay.captureAWSClient(new AWS.DynamoDB()); // 後は普通にSDKとして使うだけ ddb.putItem({
'TableName': ddbTable, // ~~~~~ 略 "844%,
// ミドルウェアとして登録 app.use(XRay.express.openSegment()); // 処理を書いて app.get('/', function(req, res) { });
// ミドルウェアとして登録 app.use(XRay.express.closeSegment()); &YQSFTT
// 処理中のセグメントを取得 var seg = XRay.getSegment(); // アノテーションを追加 seg.addAnnotation('theme', req.body.theme);
"OOPUBUJPO
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 ҙͷॲཧΛΩϟϓνϟ͢Δ͜ͱͰ͖·͢
Processor: # Number of go routines used to push segments
to AWS X-Ray service Routines: 8 খωλ ˞ ίϯϑΟάΈΔͱ93BZσʔϞϯ (PMBOHͰͰ͖ͯΔͬΆ͍
ݒ೦ /FX3FMJDͱҧͬͯίʔυΛॻ͖ ͑Δඞཁ͕͋Δ ηάϝϯτ ϝτϦΫε Λ͋ΔఔϑΟ ϧλϦϯάͯ͠อଘ͢Δ͕͕݅·ͩෆ ໌֬ 3VCZ͕·ͩͳ͍ʂ
ௐࠪ࣌ؒͪΓੵΕࢁͱͳΓ·͢ ։ൃͷຊ࣭ͱΕͨͭ·Βͳ͍ௐࠪ࡞ۀ 93BZΛͬͯলྗ͍͖ͯ͠·͠ΐ͏ ·ͱΊ