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.2k
re:Growth 2016 サンプルコードで理解する X-Rayの使い方
re:Growth 2016 発表資料
sutetotanuki
December 13, 2016
Tweet
Share
More Decks by sutetotanuki
See All by sutetotanuki
ブラウザ上で実行され、 AIアシスタント付きデータベース postgres.new を触ってみた
sutetotanuki
0
130
今時のCookie事情
sutetotanuki
0
360
高速案件立ち上げで使われるマッハテンプレートのフロントエンド技術選定
sutetotanuki
1
1.2k
Core Web Vitals を改善する Next.js の機能群
sutetotanuki
1
1.8k
サーバーレスRDBの選択肢
sutetotanuki
0
1.1k
今日から始めるAmplify DataStore
sutetotanuki
0
1.1k
Kotlin Coroutine 基本的な使い方
sutetotanuki
0
660
20191011_devio_osaka.pdf
sutetotanuki
0
2.2k
higobashi-aws-7-ecs
sutetotanuki
4
2.1k
Featured
See All Featured
Making Projects Easy
brettharned
115
5.9k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
GraphQLの誤解/rethinking-graphql
sonatard
65
9.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
105
48k
Testing 201, or: Great Expectations
jmmastey
38
7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.6k
Become a Pro
speakerdeck
PRO
24
4.9k
Adopting Sorbet at Scale
ufuk
73
9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
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Λͬͯলྗ͍͖ͯ͠·͠ΐ͏ ·ͱΊ