Upgrade to Pro — share decks privately, control downloads, hide ads and more …

#phpcon2022 エラーと向き合い、自信を持って サービス開発に取り組み、前に進む

#phpcon2022 エラーと向き合い、自信を持って サービス開発に取り組み、前に進む

PHP Conference Japan 2022での発表資料です。
発表時にはスキップしていたスライドも含む「配布版」になります。

https://fortee.jp/phpcon-2022/proposal/ace60290-0c64-4a64-80ca-74fa5e27e446

hideki kinjyo
PRO

September 25, 2022
Tweet

More Decks by hideki kinjyo

Other Decks in Programming

Transcript

  1. PHP Conference Japan 2022
    Hideki Kinjyo
    GitHub: o0h / Twitter: @o0h_
    [഑෍൛]

    View Slide

  2. ࣗݾ঺հ
    /
    GitHub: @o0h / Twitter: @o0h_
    FW CakePHP

    View Slide


  3. View Slide


  4. できてますか!

    View Slide

  5. ࣗ৴Λ࣋ͭɾɾʁ

    View Slide

  6. ϓϩҙࣝʹ݉Ͷඋ͑ΒΕΔ΂͖ʮج४ʯ
    CTO S**T
    S**T

    [ग़య]
    ᴷ Robert C. Martin,֯ ੐య.
    Clean Craftsmanshipɹن཯ɺج४ɺྙཧ (Japanese Edition) Kindle ൛ P292

    View Slide

  7. ʮ޷͖ͳਓ͕͍Δ͸͕ͣͳ͍ɻʯ
    S**T

    View Slide

  8. ʮΤϥʔͱ޲͖߹͏ʯ


    View Slide


  9. 1

    View Slide

  10. ͓͠ͳ͕͖
    1. - -
    2. - -
    3. - -
    4. - with Sentry-
    5.

    View Slide

  11. ͓࿩͠ͳ͍͜ͱ
    QA

    View Slide

  12. ͜ͷ͓࿩Λಧ͚͍ͨਓ(૝ఆ͢Δର৅)

    Sentry

    View Slide

  13. ֓೦ɾݺͼํʹ͍ͭͯ
    : E_ALL
    :
    ( )
    : ( )
    :

    View Slide

  14. §1
    - -

    View Slide

  15. §1
    .1

    View Slide

  16. ݸਓతͳؾ࣋ͪ
    2


    View Slide

  17. ҙຯͷ͋Δ΋ͷΛ࡞Γ͍ͨ
    ( )

    View Slide

  18. ؾ࣋ͪΑ͘։ൃʹऔΓ૊Έ͍ͨ
    装 etc

    View Slide

  19. ࢲతͳܦݧᶃ

    View Slide

  20. ࢲతͳܦݧᶃ
    Open
    (Sentry Raygun Errbit)
    Rate Limit

    View Slide

  21. =
    ( )

    View Slide

  22. Τϥʔ͕ͳ͚Ε͹Ғ͍ɺͱ͍͏༁Ͱ΋ͳ͍͕ɾɾɾ
    ,10,000
    ,
    , 10,000,000,000,000,000,000,000,000,000
    ,
    ,
    ,
    ,

    [ग़య]
    ᴷ Weinberg, Gerald M, େ໺ ₼࿠(؂༁). ϫΠϯόʔάͷγεςϜࢥߟ๏ P198

    View Slide

  23. ϓϩҙࣝʹ݉Ͷඋ͑ΒΕΔ΂͖ʮྙཧʯ

    [ग़య]
    ᴷ Robert C. Martin,֯ ੐య.
    Clean Craftsmanshipɹن཯ɺج४ɺྙཧ (Japanese Edition) Kindle ൛ P335

    View Slide

  24. ࢲతͳܦݧᶄ
    PJ

    View Slide

  25. ࢲతͳܦݧᶄ
    PJ
    ( )

    View Slide

  26. ڳΛுͬͯνʔϜͷதʹډΒΕΔ͔
    (= )


    View Slide

  27. ͲͪΒ΋ٹ͍͍ͨ


    View Slide

  28. ΍Δ΂͖͜ͱʹऔΓ૊Ή


    View Slide

  29. §2
    - -

    View Slide

  30. §2ͷ·ͱΊ(͜Ε͔Β࿩͢͜ͱ)

    View Slide

  31. §2
    .1
    .2

    View Slide

  32. ΍Γ͍ͨ͜ͱɺͦΕҎ֎ͷ͜ͱ
    =
    =

    View Slide

  33. Ձ஋ΛੜΈग़͢ͷʹ࢖͍͑ͯΔ࣌ؒ͸ᶃ
    49%
    21%
    38% 27%

    [ग़య]
    ᴷ Nicole Forsgren Ph.D.,Jez Humble,Gene Kim,෢ࣷ޿޾, ෢ࣷΔΈ.
    LeanͱDevOpsͷՊֶ[Accelerate] ςΫϊϩδʔͷઓུత׆༻͕૊৫มֵΛՃ଎͢Δ P63

    View Slide

  34. Ձ஋ΛੜΈग़͢ͷʹ࢖͍͑ͯΔ࣌ؒ͸ᶃ
    ( )
    21%

    View Slide

  35. Ձ஋ΛੜΈग़͢ͷʹ࢖͍͑ͯΔ࣌ؒ͸ᶄ
    80
    20
    80%

    [ग़య]
    ᴷ David Scott Bernstein,٢Ӌཾଠ࿠,Ӭ੉ඒึ,ݪాٍ࿠,༗໺խ࢜.
    ϨΨγʔίʔυ͔Βͷ୤٫ ιϑτ΢ΣΞͷण໋ΛԆ͹͠Ձ஋ΛߴΊΔ9ͭͷϓϥΫςΟε P29

    View Slide

  36. ιϑτ΢ΣΞ։ൃͷʮ༧ఆ֎ʯͷΠϯύΫτ
    21
    80

    View Slide

  37. ͤΊͯʮ΍Γͨ͘ͳ͍͜ͱʯΛݮΒ͢

    View Slide

  38. §2
    .1
    .2

    View Slide

  39. ݶΒΕͨ࿑ྗΛ૿΍͢ɾ׆͔͢

    View Slide

  40. ΤϥʔͷҰੜ

    View Slide

  41. ίετͷҰੜ

    View Slide

  42. ΤϥʔରԠʹ܎Δίετ

    View Slide

  43. ಛఆ·Ͱͷίετ
    ( )

    [ग़య]
    ᴷ David Scott Bernstein,٢Ӌཾଠ࿠,Ӭ੉ඒึ,ݪాٍ࿠,༗໺խ࢜.
    ϨΨγʔίʔυ͔Βͷ୤٫ ιϑτ΢ΣΞͷण໋ΛԆ͹͠Ձ஋ΛߴΊΔ9ͭͷϓϥΫςΟε P28

    View Slide

  44. ʮܽؕͷಛఆʯ͕ͦ͜໽հͳ໰୊

    [ग़య]
    ᴷ Weinberg, Gerald M, େ໺ ₼࿠(؂༁). ϫΠϯόʔάͷγεςϜࢥߟ๏ P234

    View Slide

  45. ಛఆ͕Ͱ͖ͯ΋ɾɾ૿͑ଓ͚͍ͯΔίετ
    , , ,
    , ,
    ( )
    1 ,
    ,
    ,
    , ,

    [ग़య]
    ᴷ Pete McBreen, ଜ্ խষ.
    XPΤΫετϦʔϜϓϩάϥϛϯάջٙฤʕXP͸ιϑτ΢ΣΞ։ൃͷٹੈओͨΓ͑Δͷ͔ P130

    View Slide

  46. ࣦഊʹؔ͢Δίετͷ੔ཧ
    =( )
    1.
    ( ) ( ) etc.
    2.
    署 etc.

    [ࢀߟ]
    ᴷ Roger S. Pressman, Bruce R. Maxim, SEPA຋༁ϓϩδΣΫτ.
    ࣮ફιϑτ΢ΣΞΤϯδχΞϦϯάʢୈ9൛ʣP229-230

    View Slide

  47. ൃݟͷى఺ͷҧ͍ʹΑΔෆܦࡁੑ
    ( )
    1.
    2. /

    View Slide

  48. ൃݟͷى఺ͷҧ͍ʹΑΔෆܦࡁੑ
    1.
    /
    (=outside-in)
    2. /

    View Slide

  49. ൃݟͷى఺ͷҧ͍ʹΑΔܦࡁੑ
    1.
    2. /
    (=inside-out)

    View Slide

  50. ൃݟͷ஗Ε(εςʔδҠߦ)ʹΑΔෆܦࡁ

    障害
    変です!
    具体的に⾔うと、
    ●●機能が動きません
    ͜Μʹͪ͸ʂ
    ࢓ࣄ͕࣌ؒ͘Β͍
    ࢭ·Γ·ͨ͠ʂ
    ॿ͚ͯʂ
    特定
    つまり
    どこだろうね!
    ユーザー対応もするぞ〜
    Ϣʔβʔ
    ʙϦΞϧϫʔϧυͷ୅දऀʙ

    View Slide

  51. ൃݟͷ஗Ε(εςʔδҠߦ)ʹΑΔෆܦࡁ

    故障
    変です!
    具体的に⾔うと、
    Cache missが多いです
    特定
    負荷OK!DB OK!
    アプリのどっかね!
    ·ͩ஌ΒΜ

    Ϣʔβʔ
    ʙϦΞϧϫʔϧυͷ୅දऀʙ

    View Slide

  52. ൃݟͷ஗Ε(εςʔδҠߦ)ʹΑΔෆܦࡁ

    ⽋陥
    変です!
    具体的に⾔うと、
    Z::aaa()が変です!
    特定
    具体的だね!
    そのコード⾒るぞ!
    Ϣʔβʔ
    ʙϦΞϧϫʔϧυͷ୅දऀʙ
    ·ͩ஌ΒΜ

    View Slide



  53. View Slide

  54. ରԠͷ஗Ε(࣌ؒ)ʹΑΔෆܦࡁ
    =>
    =>
    =>

    ࢀߟ
    ιϑτ΢ΣΞอकͷ๏ଇʢϦʔϚϯͷ๏ଇʣɺ͝ଘ஌Ͱ͔͢ʁɿ৿࡚म࢘ͷʮͲ͏΍ͬͯ͸͔Δͷʁʯ
    IUUQTCMPHTJUNFEJBDPKQNPSJTBLJQPTUFEIUNM

    View Slide

  55. όά͸ʮൟ৩ʯ͢Δ
    1 1

    [ग़య]
    ᴷ Shore, James, Warden, Shane, ฏು ݈ࣇ, ໦Լ ࢙඙, ࡫Ҫ ਸ࢘
    ΞʔτɾΦϒɾΞδϟΠϧσϕϩοϓϝϯτ : ૊৫Λ੒ޭʹಋ͘ΤΫετϦʔϜϓϩάϥϛϯά P169

    View Slide


  56. X Z

    View Slide


  57. X Z
    • XͰରԠͰ͖Ε͹ɺ
    ʮ2࣌ؒલͷίʔυͷҙਤʯΛࢥ͍ग़͚ͩ͢ͰࡁΉ
    (ຊ൪σϏϡʔͨͯ͠ͷίʔυͳͷͰɺඃґଘऀ΋গͳͦ͏)
    • ZͷରԠʹͳΔͱɺ
    ʮ3ϱ݄લͷίʔυͷҙਤʯΛ֬ೝ͢Δ͜ͱʹ
    (ͦͷதʹɺܽؕՕॴ΁ͷґଘ΋ؚ·ΕΔ)

    View Slide

  58. σϓϩΠͷ஗ΕσϓϩΠ΁ͷڪා৺ʹ

    [ग़య]
    ᴷ Jeffery D. Smith, ాத ༟Ұ.
    γεςϜӡ༻Ξϯνύλʔϯ ΤϯδχΞ͕DevOpsͰղܾ͢Δ૊৫ɾࣗಈԽɾίϛϡχέʔγϣϯ P184
    恐怖⼼やリスクのある
    デプロイが増えれば増え
    るほど、失敗の可能性も
    増える
    デプロイの間の時間が⻑
    くなればなるほど、デプロイ
    に含まれる変更の数が増え、
    それによってリスクが増⼤
    し、フィードバックループが
    ⽣じる。

    View Slide


  59. ( )

    View Slide


  60. View Slide


  61. View Slide


  62. ( )

    View Slide


  63. View Slide

  64. ए͍಺ʹժΛఠΉ

    [ग़య]
    ᴷ Steve McConnell, ೔ཱΠϯϑΥϝʔγϣϯΞΧσϛʔ. ϥϐου σϕϩοϓϝϯτ P81

    View Slide

  65. §2ͷ·ͱΊ(͍·࿩ͨ͜͠ͱ)

    View Slide

  66. §3
    - -

    View Slide

  67. §3ͷ·ͱΊ(͜Ε͔Β࿩͢͜ͱ)
    Push Proactive

    View Slide

  68. §3
    .1
    .2 0
    .3

    View Slide

  69. ΤϥʔରԠͷ࢓૊Έʹ͍ͭͯʮ੒ख़౓ʯΛߟ͑Δ
    ( , )

    View Slide


  70. ⽋陥を制御する
    ⽋陥に積極的に関⼼がある
    ⽋陥に消極的に関⼼がある
    ⽋陥に関⼼がない
    故障に関⼼がない
    障害に関⼼がない
    ( )
    ( )

    View Slide


  71. ( )
    ( )

    View Slide

  72. 「受動化・⾃動化」していくのが基本⽅針

    View Slide

  73. 「受動化・⾃動化」していくのが基本⽅針

    View Slide

  74. 「シフトレフト」していくのが基本⽅針

    View Slide

  75. 「シフトレフト」していくのが基本⽅針

    View Slide

  76. ΤϥʔରԠͷ࢓૊Έʹ͍ͭͯʮ੒ख़౓ʯΛߟ͑Δ
    1.
    2.

    View Slide

  77. 1. Τϥʔ͸ͲͷΑ͏ʹه࿥ɾ؅ཧ͞Ε͍ͯ·͔͢
    1. ( )
    1 =1(orN) =1
    2.
    =1

    View Slide

  78. ( )

    View Slide

  79. ʮੜϩάཔΓʯͷ໰୊఺
    =>

    View Slide

  80. ( )

    View Slide

  81. ʮू໿ࡁΈʯͷར఺
    ( / )
    縮 ( )
    ( )
    =>
    ( )

    View Slide

  82. 2. Τϥʔʹ͸ͲͷΑ͏ʹؾͮ͘͜ͱ͕Ͱ͖·͔͢

    :
    :
    署 :

    View Slide

  83. Կ͕Ձ஋ΛଛͶΔ͔
    :
    : 署
    :

    View Slide

  84. νʔϜͰʮ޲͖߹͑ʯ͍ͯΔ͔: ੒ख़ʹ޲͚ͯ
    ( )
    => Push Proactive

    View Slide

  85. Ͳ͏΍ͬͯආ͚Δ͔: ๬·͍͠ྫͱվળ͢΂͖ྫ
    ⭕ PUSH



    ❌ grep



    View Slide

  86. §3
    .1
    .2 0
    .3

    View Slide

  87. ͓͞Β͍: ࣌ؒͷܦաͱରԠίετͷؔ܎
    =

    View Slide

  88. ʮγϑτϨϑτʯͱରԠίετͷؔ܎

    View Slide

  89. ίεύͷྑ͍λΠϛϯάΛߟ͑Δ
    =>
    =>

    View Slide

  90. ίεύͷྑ͍λΠϛϯάΛߟ͑Δ
    鮮結

    View Slide

  91. ίεύͷྑ͍λΠϛϯάΛߟ͑Δ
    Just-in-Time

    View Slide

  92. Τϥʔ͸͍ͭى͜Δͷ͔
    : ( )
    :
    ほほ( ) ✕✕( )


    View Slide

  93. ʮൃݟίετʯͱʮӨڹ(ඃ֐)ʯͷόϥϯεΛऔΔ

    n

    View Slide

  94. ʮ0࣍ରԠʯΛऔΓೖΕΔ
    =
    =
    = 0
    ( ) =
    1 0

    View Slide

  95. ʮ0࣍ରԠʯͷܦࡁੑ
    ( )
    1.
    2.
    3. 署

    View Slide

  96. ʮ0࣍ରԠʯͷϝϦοτᶃ
    1.
    ( )
    2.
    3. 署

    View Slide

  97. ʮ0࣍ରԠʯͷϝϦοτᶄ
    1.
    2.
    ( )
    3. 署

    View Slide

  98. ʮ0࣍ରԠʯͷϝϦοτᶅ
    1.
    2.
    3.
    DevOps

    View Slide

  99. §3
    .1
    .2 0
    .3

    View Slide

  100. ௵͢΂͖Τϥʔͷ؍఺
    ex) UserNotExistsException, DatabaseConnectionError


    View Slide

  101. ௵͢΂͖Τϥʔͷ؍఺
    2
    : 0
    1縮
    ( ) : 賢
    1. boolean
    2.

    View Slide

  102. ൃੜͷbooleanͰ͸ͳ͘ɺൃੜස౓Ͱ؂ࢹ͢Δ
    Duplicate entry for primary key
    :
    or
    :
    1 10,000,000,000,000,000,000,000,000,000

    View Slide

  103. ΞϓϦҎ֎ͷՕॴɾ؍఺Ͱ؂ࢹ͢Δ
    outside-in
    :
    Http Status Code(404, 502, etc)

    View Slide

  104. §3ͷ·ͱΊ(͍·࿩ͨ͜͠ͱ)
    Push Proactive
    0 :

    View Slide

  105. §4
    - with Sentry -

    View Slide

  106. §4
    .1 Sentry
    .2
    .3
    .4
    .5

    View Slide

  107. Sentry
    ( )SaaS
    (β PHP )
    (
    / )
    14

    View Slide

  108. ⼀部の機能を除き、それっぽいデータ込みでGUIをイジれます

    View Slide

  109. ʲ଎श༻ʳίϨ͚ͩ͸཈͓͑ͯ͘ʂSentryͷجૅ֓೦

    Sentry Event

    Event 1 Issue
    Event,Issue
    Alert

    View Slide

  110. : Issue
    Issue 縮
    (stats)
    Issue

    View Slide

  111. : Issue
    Issue 駄
    駄: OS
    URL
    駄:
    IP

    View Slide

  112. Issue
    Event Event Grouping
    Information

    ࢀߟ*TTVF(SPVQJOHc4FOUSZ%PDVNFOUBUJPO
    IUUQTEPDTTFOUSZJPQSPEVDUEBUBNBOBHFNFOUTFUUJOHTFWFOUHSPVQJOH

    View Slide

  113. ଟগͷ͕ࠩ͋ͬͯ΋ಉҰIssueͱͯ͠ѻ͑Δ
    2
    Issue

    48⾏⽬
    44⾏⽬

    View Slide

  114. : Event
    Issue Event 1:N
    Event timestamp

    View Slide

  115. : Event
    : key-value
    : ID( hash)


    View Slide

  116. : Alert
    Issue Alert

    Issue
    ( ) Issue
    Issue
    Event
    Event


    View Slide

  117. §4
    .1 Sentry
    .2
    .3
    .4
    .5

    View Slide

  118. Πϯετʔϧํ๏
    composer require
    sentry/sentry : SDK HTTP
    (php-http/async-client-
    implementation)
    sentry/sdk: HTTP
    FW :
    (Symfony/Larevel)

    https://github.com/getsentry/sentry-php

    View Slide

  119. ΞΧ΢ϯτͷ࡞੒ͱΞϓϦέʔγϣϯઃఆ
    Sentry
    1. https://sentry.io/signup/
    2. PJ Event 胸 URL(DSN)

    https://sentry.io/for/php/

    View Slide


  120. ϚεΫͰ͍͟͝·͢
    ϚεΫͰ͍͟͝·͢
    ϚεΫͰ͍͟͝·͢

    View Slide

  121. ಥવͷએ఻ʂʂʂʂ
    connehito/cake-sentry
    PR Starろ
    awesome-cakephp
    Sentry SDK 3rd party integrations
    💪
    cake4.4+
    Laravel

    ίωώτ͞Μͷٻਓ৘ใ΋೷͍ͯΈ͍ͯͩ͘͞ͶʂIUUQTISNPTDPQBHFTDPOOFIJUPKPCT

    View Slide

  122. §4
    .1 Sentry
    .2
    .3
    .4
    .5

    View Slide

  123. ͜͜·ͰͷʮͶΒ͍ʯΛSentry্Ͱ࣮ݱ͢Δ
    1. ( )
    0 ( )
    2. ( )
    ( )

    View Slide

  124. SentryͰ0࣍ରԠΛ࣮ફ͢Δ
    Alert
    Alert Create Alert
    Issues Set Conditions
    When: A new issue is created
    Then: Send a Slack noti cation
    Slack Integration

    Alert名が併記される
    Alert名が併記される

    View Slide

  125. SentryͰ0࣍ରԠΛ࣮ફ͢Δ
    When: The issue changes state
    from resolved to unresolved
    Then: Send a Slack noti cation

    View Slide

  126. SentryͰසग़Τϥʔݕ஌Λ࣮ફ͢Δ
    When: Number of events in an issue is
    more than XXX( ) in XXX( )
    Then: Send a Slack noti cation

    View Slide

  127. ิ଍: SentryͰશ͘ѻΘͳ͍Τϥʔʹ͍ͭͯ
    Resolve
    Sentry
    UserNotExistsException
    Sentry SDK 胸 FW

    ࢀߟ
    'JMUFSJOHGPS4ZNGPOZc4FOUSZ%PDVNFOUBUJPO
    IUUQTEPDTTFOUSZJPQMBUGPSNTQIQHVJEFTTZNGPOZDPOpHVSBUJPOpMUFSJOHpMUFSJOHFSSPSFWFOUT

    View Slide

  128. ิ଍: SentryͰશ͘ѻΘͳ͍Τϥʔʹ͍ͭͯ
    Sentry 縮

    ( )
    Amazon CloudWatch

    View Slide

  129. 🎉

    View Slide

  130. ͜͜·ͰͷʮͶΒ͍ʯΛSentry্Ͱ࣮ݱ͢Δ
    1. ( )
    0 ( )
    2. ( )
    ( )

    View Slide

  131. ϋ΢εΩʔϐϯάͷ࣮ફ
    :

    View Slide

  132. Issueͷ؅ཧ
    Issue Resolved Unresolved
    Issue Resolved
    : Web UI Slack Resolve

    View Slide

  133. ࣗಈResolveᶃ: ؍࡯ظؒʹΑΔղܾ
    ( Event )
    Resolve
    Resolve

    View Slide

  134. ࣗಈResolveᶄ: ϦϦʔεͷ࿈ಈʹΑΔղܾ
    胸 胸 (Event)
    (Resolved -> Regression)
    The next release:
    The current release:
    Another existing release:
    GitHub resolve

    View Slide

  135. UnresolvedͳIssueͷReview/Reviewed
    Issue
    ( ack 踏 )
    GitHub Issue tracker

    Review଴ͪIssueҰཡ
    ʮReviewࡁΈʯૢ࡞ͱมߋཤྺ

    View Slide

  136. UnresolvedͳIssueͷIgnore
    Issue
    (Ignore)
    Ignore
    Event

    View Slide

  137. ͜͜·ͰͷʮͶΒ͍ʯΛSentry্Ͱ࣮ݱ͢Δ
    1. ( )
    0 ( )
    2. ( )
    ( )

    View Slide

  138. ໰୊ͷൃݟ࣌ͷରԠͷ࣭ΛߴΊΔ
    Issue

    View Slide

  139. IssueͷAssign
    Issue /
    Slack
    縮 Issue
    Assign
    Alert

    View Slide

  140. Issue্Ͱͷิ଍ɾίϝϯτ
    Issue
    Resolve
    Regression Issue

    View Slide

  141. ѻ͏EventσʔλΛॆ࣮ͤ͞Δ
    Sentry Event
    駄 駄
    ( ) etc..
    Webiner

    ࢀߟ
    w $POUFYUc4FOUSZ
    IUUQTTFOUSZJPGFBUVSFTDPOUFYU
    w "QQMJDBUJPO.POJUPSJOHBOE&SSPS5SBDLJOH)PXUP*NQMFNFOUBOE$POpHVSF4FOUSZ
    ʰ"EEJOHDPOUFYUʱ
    IUUQTXXXZPVUVCFDPNXBUDI W,[4VE$5EVUT

    View Slide

  142. §4
    .1 Sentry
    .2
    .3
    .4
    .5

    View Slide

  143. ਐΊํͷ֓ཁ
    1.
    2.
    3.
    4.

    View Slide

  144. ӡ༻ظʹ޲͚ͯͷਐΊํͷ֓ཁ
    1.
    2.
    3.
    4.

    View Slide

  145. πʔϧΛೖΕ͚ͨͩͰ͸ʮελʔτ஍఺ͷखલʯ
    1.
    ( 1 100 )
    2.
    0
    3. 縮
    4. Issue

    View Slide

  146. ӡ༻ظʹ޲͚ͯͷਐΊํͷ֓ཁ
    1.
    2.
    3.
    4.

    View Slide

  147. ελʔτʹཱͱ͏: ݱঢ়ͷೝࣝͱ໨ඪͷઃఆ
    (1 1 etc)

    View Slide

  148. ͲͷఆྔࢦඪΛ༻͍Δ͔
    2

    View Slide

  149. Ϣʔβʔ΁ͷΠϯύΫτͷ؍఺
    Sentry
    1. Event ( )
    2. Event (Web )

    View Slide

  150. ιϑτ΢ΣΞͷ඼࣭ͷ؍఺
    Sentry
    1. Event
    2. Event Issue
    3. Issue
    4. Unresolved Issue
    5. Resolve Issue
    6. Issue resolved

    View Slide

  151. ݸਓతͳΦεεϝ
    0
    Unresolved Issue
    Open

    View Slide

  152. ݸਓతͳΦεεϝ
    Unresolved Issue
    cons
    (
    )
    Event 1
    1

    View Slide

  153. ݸਓతͳΦεεϝ
    Unresolved Issue
    pros
    0
    (
    )

    View Slide

  154. ఆྔࢦඪͷऔಘɾ؂ࢹํ๏
    Dashboard
    https://docs.sentry.io/product/
    dashboards/
    API
    https://docs.sentry.io/api/events/

    SandboxΞΧ΢ϯτͰͷμογϡϘʔυͷྫ

    View Slide

  155. Wedding Park
    https://speakerdeck.com/kazatohiei/phperkaigi2022
    https://engineers.weddingpark.co.jp/sentry/

    View Slide

  156. ӡ༻ظʹ޲͚ͯͷਐΊํͷ֓ཁ
    1.
    2.
    3.
    4.

    View Slide

  157. طଘΤϥʔͷղফͷ։࢝
    1. :
    2. :

    View Slide

  158. طଘΤϥʔͷղফͷ։࢝
    1. :
    For Review 0縮
    ( )
    2. :

    View Slide

  159. طଘΤϥʔͷղফͷ։࢝
    1. :
    2. :
    1
    OKR
    Key Result 1

    View Slide

  160. §4
    .1 Sentry
    .2
    .3
    .4
    .5

    View Slide

  161. ͓͞Β͍: ݸਓతʹେࣄʹ͍ͯ͠Δ͜ͱ
    1. 胸
    2.

    View Slide

  162. ͓͞Β͍: ݸਓతʹେࣄʹ͍ͯ͠Δ͜ͱ
    1. 胸
    2.

    ここまでの話は
    割とコッチが中⼼では?

    View Slide

  163. ͓͞Β͍: ݸਓతʹେࣄʹ͍ͯ͠Δ͜ͱ
    1. 胸
    2.

    この節はコチラ!

    View Slide

  164. ໌೔͔Β࢝ΊΒΕΔͷ͔
    ( )

    View Slide

  165. (ͨͿΜ)͍͘Βڧௐͯ͠΋ɺ͠଍Γͳ͍ίτ

    View Slide

  166. (ͨͿΜ)͍͘Βڧௐͯ͠΋ɺ͠଍Γͳ͍ίτ

    View Slide

  167. ڳΛுͬͯνʔϜͷதʹډ͍ͨ

    View Slide

  168. ໌೔͔ΒԿΛ࢝ΊΒΕΔͷ͔

    View Slide

  169. Ͳ͏΍ͬͯมԽΛଅ͔͢

    View Slide

  170. Ͳ͏΍ͬͯมԽΛଅ͔͢
    BBQ

    View Slide

  171. ྑ͍มԽ͸ྑ͍ఉ͔Β࢝·Δ
    ( )
    1.
    2.
    3.

    View Slide

  172. ྑ͍มԽ͸ྑ͍ఉ͔Β࢝·Δ
    1.
    2.
    3.

    View Slide

  173. ྑ͍มԽ͸ྑ͍ఉ͔Β࢝·Δ
    1.
    2.
    3.

    View Slide

  174. ྑ͍มԽ͸ྑ͍ఉ͔Β࢝·Δ
    1.
    2.
    3.
    0
    Sentry (Resolve, Mark Reviewed )

    View Slide

  175. §5

    View Slide

  176. Τϥʔͱ޲͖߹͍ɺࣗ৴Λ࣋ͬͯ
    αʔϏε։ൃʹऔΓ૊ΈɺલʹਐΉ
    Sentry

    View Slide

  177. ͓͠·͍ʂ
    ͓෇͖߹͍͍͖ͨͩ
    ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide

  178. §X Appendix

    View Slide

  179. ࢀߟॻ੶ɾҾ༻ͨ͠ॻ੶
    Clean Craftsmanship (Japanese Edition)
    E ective DevOps 4
    Fearless Change
    48
    Google
    ITIL ITIL
    Leading Beyond Change: A Practical Guide to Evolving
    Business Agility
    Lean DevOps [Accelerate]
    Observability Engineering: Achieving Production Excellence
    XP XP
    :
    (
    )
    DevOps
    9
    ( 3 )
    9

    ޒेԻॱ

    View Slide

  180. Web্ͷࢀߟϦιʔε / Sentry͕ఏڙ͍ͯ͠ΔϦιʔε
    Product Guides | Sentry Documentation
    https://docs.sentry.io/product/
    API Reference | Sentry Documentation
    https://docs.sentry.io/api/
    Spend Less Time on Bugs & More Time on Features: Sentry + Sleuth | Sentry
    https://sentry.io/resources/improve-and-automate-your-work ow/
    Automate, Group, and Get Alerted: A Best Practices Guide to Monitoring your Code | Sentry
    https://sentry.io/resources/automate-group-get-alerted/
    Sentry - YouTube ろ
    https://www.youtube.com/c/Sentry-monitoring

    View Slide

  181. Web্ͷࢀߟϦιʔε / Sentryͷಋೖɾ׆༻ࣄྫ
    / PHPerKaigi2022 - Speaker Deck
    https://speakerdeck.com/kazatohiei/phperkaigi2022
    Sentry | Wedding Park CREATORS Blog
    https://engineers.weddingpark.co.jp/sentry/
    Raygun Sentry - BASE
    https://devblog.thebase.in/entry/raygun2sentry
    -
    https://daisuki.nichiyoubi.land/entry/2020/07/01/
    123616#%E3%81%AA%E3%81%9C%E3%82%84%E3%82%8B%E3%81%AE%E3%81%8B

    View Slide

  182. Web্ͷࢀߟϦιʔε / DevOpsɺϞχλϦϯά
    Monitoring Check Smells
    https://benjiweber.co.uk/blog/2015/03/02/monitoring-check-smells/
    5
    2020 (1/2) CodeZine
    https://codezine.jp/article/detail/12052
    https://www.youtube.com/watch?v=9RPgdJyeA7Y&t=4784s
    State of DevOps Four Keys ( ) / Introduction to State
    of DevOps and Four Keys for Visualizing Productivity in Development Organizations expanded and
    revised edition - Speaker Deck
    https://speakerdeck.com/isanasan/introduction-to-state-of-devops-and-four-keys-for-visualizing-
    productivity-in-development-organizations-expanded-and-revised-edition

    View Slide

  183. Web্ͷࢀߟϦιʔε / ඼࣭ɾอकɾ༧๷
    https://blogs.itmedia.co.jp/morisaki/2012/04/post-7e5d.html
    - Cybozu Inside Out |
    https://blog.cybozu.io/entry/2016/05/18/103000
    - 領 / Growing Reliable Code PHPerKaigi 2022 -
    Speaker Deck
    https://speakerdeck.com/twada/growing-reliable-code-phperkaigi-2022
    / Agility and Quality Characteristics Developers Summit 2021 Summer -
    Speaker Deck
    https://speakerdeck.com/twada/agility-and-quality-characteristics-developers-summit-2021-summer
    - pixiv inside
    https://inside.pixiv.blog/shimashima/6247

    View Slide

  184. Web্ͷࢀߟϦιʔε / ͦͷଞ(จԽɺ૊৫ͳͲ)
    I -
    https://daisuki.nichiyoubi.land/entry/2021/12/11/182323
    #scrumosaka / Scrum Fest Osaka 2021 Keynote -
    Speaker Deck
    https://speakerdeck.com/bu erings/scrum-fest-osaka-2021-keynote
    / The Debt - Speaker Deck https://
    speakerdeck.com/toricls/the-debt
    / You won't be in the team forever - Speaker Deck
    https://speakerdeck.com/toricls/you-wont-be-in-the-team-forever

    View Slide