Error Reporting ๊ฐœ์š”

Error Reporting์€ ์‹คํ–‰ ์ค‘์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์—์„œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜๋ฅผ ์ง‘๊ณ„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ค๋ฅ˜๋Š” Error Reporting API์—์„œ ๋ณด๊ณ ๋˜๊ฑฐ๋‚˜ Error Reporting์ด ๋กœ๊ทธ ํ•ญ๋ชฉ์—์„œ ์Šคํƒ ์ถ”์ ๊ณผ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ํ…์ŠคํŠธ ํŒจํ„ด์„ ๊ฒ€์‚ฌํ•  ๋•Œ ์˜ค๋ฅ˜๋กœ ์œ ์ถ”๋ฉ๋‹ˆ๋‹ค. Error Reporting์€ ๊ทผ๋ณธ ์›์ธ์ด ๋™์ผํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜๋Š” ์˜ค๋ฅ˜๋ฅผ ๊ทธ๋ฃนํ™”ํ•ฉ๋‹ˆ๋‹ค.

Error Reporting์ด ์ž๋™์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

Error Reporting์€ ์‹œ๊ฐ„๋‹น ์ตœ๋Œ€ 1,000๊ฐœ์˜ ์˜ค๋ฅ˜๋ฅผ ์ƒ˜ํ”Œ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•œ๋„์— ๋„๋‹ฌํ•˜๋ฉด ํ‘œ์‹œ ๊ฐœ์ˆ˜๊ฐ€ ์ถ”์ •๋ฉ๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ๋งŽ์€ ์ด๋ฒคํŠธ๊ฐ€ ์ˆ˜์‹ ๋˜๋ฉด Error Reporting์€ ์‹œ๊ฐ„๋‹น ์ตœ๋Œ€ 100๊ฐœ์˜ ์˜ค๋ฅ˜๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๊ณ  ํšŸ์ˆ˜๋ฅผ ๊ณ„์† ์ถ”์ •ํ•ฉ๋‹ˆ๋‹ค.

Error Reporting์—์„œ ๋กœ๊ทธ ํ•ญ๋ชฉ์„ ๋ถ„์„ํ•˜๋Š” ๊ฒฝ์šฐ

Error Reporting์€ Cloud Logging์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋นŒ๋“œ๋œ ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šค์ด๋ฉฐ, ๋‹ค์Œ ๋ชจ๋“  ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ์šฐ ๋กœ๊ทธ ํ•ญ๋ชฉ์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Assured Workloads๊ฐ€ ์‚ฌ์šฉ ์ค‘์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Assured Workloads ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
  • ๋กœ๊ทธ ํ•ญ๋ชฉ์„ ์ €์žฅํ•˜๋Š” ๋ชจ๋“  ๋กœ๊ทธ ๋ฒ„ํ‚ท์—์„œ ๊ณ ๊ฐ ๊ด€๋ฆฌ ์•”ํ˜ธํ™” ํ‚ค (CMEK)๊ฐ€ ์‚ฌ์šฉ ์ค‘์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Error Reporting์€ CMEK๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋œ ๋กœ๊ทธ ๋ฒ„ํ‚ท์— ๋กœ๊ทธ ํ•ญ๋ชฉ์„ ์ €์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ ๋ฒ„ํ‚ท์˜ CMEK ๊ตฌ์„ฑ์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํ‚ค ์‚ฌ์šฉ ์„ค์ • ํ™•์ธ์„ ์ฐธ์กฐํ•˜์„ธ์š”.
  • ๋กœ๊ทธ ๋ฒ„ํ‚ท์ด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค.
    • ๋กœ๊ทธ ํ•ญ๋ชฉ์ด ์‹œ์ž‘๋œ ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์— ๋กœ๊ทธ ๋ฒ„ํ‚ท์ด ์ €์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋กœ๊ทธ ํ•ญ๋ชฉ์ด ํ”„๋กœ์ ํŠธ๋กœ ๋ผ์šฐํŒ…๋œ ํ›„ ํ”„๋กœ์ ํŠธ๊ฐ€ ํ•ด๋‹น ๋กœ๊ทธ ํ•ญ๋ชฉ์„ ์†Œ์œ  ๋กœ๊ทธ ๋ฒ„ํ‚ท์— ์ €์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋ฅ˜ ๊ทธ๋ฃนํ™” ๋ฐฉ์‹

Error Reporting์€ ๋กœ๊ทธ ํ•ญ๋ชฉ์„ ํ‰๊ฐ€ํ•  ๋•Œ ๋‹ค์Œ ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๋Š” ๋กœ๊ทธ ํ•ญ๋ชฉ์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

  • App Engine ํ‘œ์ค€ ํ™˜๊ฒฝ์—์„œ ERROR ๋ณด๋‹ค ๋‚ฎ์€ ์‹ฌ๊ฐ๋„๋กœ ๋กœ๊น…๋œ ์˜ค๋ฅ˜๋Š” ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ์†Œ์œ ํ•˜์ง€ ์•Š์€ ์Šคํƒ ํ”„๋ ˆ์ž„์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ๊ณต๊ฐœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์†ํ•œ ํ”„๋ ˆ์ž„).
  • ํ•˜๋‚˜ ์ด์ƒ์˜ ์Šคํƒ ํ”„๋ ˆ์ž„์˜ ๋ฐ˜๋ณต ์‹œํ€€์Šค๋Š” ํ•ด๋‹น ์‹œํ€€์Šค์˜ ๋‹จ์ผ ์–ด์ปค๋Ÿฐ์Šค๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.
  • ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ๋„์ž…๋œ ๋ฉ”์†Œ๋“œ์™€ ๊ธฐํ˜ธ๋Š” ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ Error Reporting์ด ๋‹ค์Œ ๊ทœ์น™์— ๋”ฐ๋ผ ์˜ค๋ฅ˜๋ฅผ ๊ทธ๋ฃนํ™”ํ•ฉ๋‹ˆ๋‹ค.

  • ์˜ˆ์™ธ๊ฐ€ ๋™์ผํ•œ ์˜ˆ์™ธ ์œ ํ˜• ๋ฐ ์œ ์‚ฌํ•œ ์Šคํƒ์„ ๊ฐ–๋Š” ๊ฒฝ์šฐ ํ•จ๊ป˜ ๊ทธ๋ฃนํ™”๋ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ์†Œ์Šค ์œ„์น˜์™€ ๊ด€๋ จ์ด ์—†๋Š” ์˜ˆ์™ธ์— ๋Œ€ํ•ด์„œ๋Š” ์Šคํƒ ์ถ”์ ์ด ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ์™ธ ์Šคํƒ์ด ์—†๋Š” ์˜ค๋ฅ˜๋Š” ๋ณด๊ณ ๋œ ์†Œ์Šค ์œ„์น˜(reportLocation)๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๋™์ผํ•œ ๋กœ๊ทธ ํ•ญ๋ชฉ์œผ๋กœ ์ž‘์„ฑ๋œ ๊ฒฝ์šฐ ํ•จ๊ป˜ ๊ทธ๋ฃนํ™”๋ฉ๋‹ˆ๋‹ค.

ํŠนํžˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทธ๋ฃนํ™” ๊ทœ์น™์ด ๋‹ค์Œ ์ˆœ์„œ๋Œ€๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์˜ค๋ฅ˜ ์œ ํ˜• ๊ทธ๋ฃน ๊ธฐ์ค€
ํ™˜๊ฒฝ์˜ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ์ ์œผ๋กœ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜.

์˜ˆ๋ฅผ ๋“ค์–ด App Engine ๊ด€๋ จ ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

com.google.apphosting.runtime.HardDeadlineExceededError
com.google.appengine.api.datastore.DatastoreTimeoutException

์ž๋ฐ” ๋ฌธ์ œ:

java.util.concurrent.CancellationException
์˜ˆ์™ธ ์œ ํ˜•๋ณ„๋กœ ๊ทธ๋ฃนํ™”๋ฉ๋‹ˆ๋‹ค.
์Šคํƒ ์ถ”์  ์˜ค๋ฅ˜. ์ค‘์ฒฉ๋œ ์˜ˆ์™ธ์˜ ๊ฒฝ์šฐ ๊ฐ€์žฅ ์•ˆ์ชฝ์˜ ์˜ˆ์™ธ๊ฐ€ ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค.

์˜ˆ:

runtime error: index out of range
package1.func1()
      file1:20
package2.func2()
      file2:33
์˜ˆ์™ธ ์œ ํ˜• ๋ฐ ์ตœ์ƒ์œ„ ํ”„๋ ˆ์ž„ 5๊ฐœ๋กœ ๊ทธ๋ฃนํ™”๋ฉ๋‹ˆ๋‹ค.
์Šคํƒ ํŠธ๋ ˆ์ด์Šค๋Š” ์—†์ง€๋งŒ ๋ฉ”์‹œ์ง€๊ฐ€ ์žˆ๋Š” ์˜ค๋ฅ˜.

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

runtime error: index out of range
    func1()
๋ฉ”์‹œ์ง€(์žˆ๋Š” ๊ฒฝ์šฐ) ๋ฐ ํ•จ์ˆ˜ ์ด๋ฆ„๋ณ„๋กœ ๊ทธ๋ฃนํ™”๋ฉ๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€์˜ ์ฒ˜์Œ 3์ž ๋ฆฌํ„ฐ๋Ÿด ํ† ํฐ๋งŒ ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค. ์™ผ์ชฝ์˜ ์˜ˆ์‹œ์—์„œ๋Š” runtime, error, index์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ฆฌ์ „์„ฑ

๋ฐ์ดํ„ฐ ์ƒ์ฃผ ๋˜๋Š” ์˜ํ–ฅ ์ˆ˜์ค€ 4 (IL4) ์š”๊ตฌ์‚ฌํ•ญ์„ ์œ„ํ•ด Assured Workloads๋ฅผ ์„ค์ •ํ•˜๋ฉด Google Cloud Error Reporting์ด ์ž๋™์œผ๋กœ ์‚ฌ์šฉ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค.

Cloud Logging์—์„œ๋Š” ๋กœ๊ทธ๋ฅผ ํŠน์ • ์œ„์น˜๋กœ ๋ผ์šฐํŒ…ํ•˜์—ฌ ๋กœ๊ทธ๋ฅผ ๋ฆฌ์ „ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๊ทธ๋ฃน ํŽ˜์ด์ง€์—์„œ Error Reporting์€ ๋กœ๊ทธ ํ•ญ๋ชฉ์ด ํฌํ•จ๋œ ๋กœ๊ทธ ๋ฒ„ํ‚ท์˜ ๋ฆฌ์ „์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฅ˜ ๊ทธ๋ฃน์„ ์ •๋ฆฌํ•˜๊ณ  ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด us-central-1์— ๋‚˜์—ด๋œ ์˜ค๋ฅ˜ ๊ทธ๋ฃน์—๋Š” us-central-1์˜ ๋กœ๊ทธ ๋ฒ„ํ‚ท์— ์†ํ•˜๋Š” ์˜ค๋ฅ˜ ๋กœ๊ทธ๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ „์—ญ ์˜ค๋ฅ˜ ๊ทธ๋ฃน์—๋Š” global ๋ฆฌ์ „์˜ ๋กœ๊ทธ ๋ฒ„ํ‚ท์— ์†ํ•˜๋Š” ์˜ค๋ฅ˜ ๋กœ๊ทธ๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์˜ค๋ฅ˜ ๊ทธ๋ฃน ํŽ˜์ด์ง€์— ํ‘œ์‹œ๋˜๋Š” ์˜ค๋ฅ˜ ๊ทธ๋ฃน์˜ ๋ฆฌ์ „์„ ํ•„ํ„ฐ๋งํ•˜๋ ค๋ฉด ๋ฆฌ์ „ ๋ฉ”๋‰ด์—์„œ ๊ฐ’์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”๋‰ด์˜ ๊ธฐ๋ณธ๊ฐ’์€ global์ž…๋‹ˆ๋‹ค.

'์˜ค๋ฅ˜ ๊ทธ๋ฃน' ํŽ˜์ด์ง€์˜ '์ง€์—ญ' ๋ฉ”๋‰ด

๋‹ค์Œ ๋‹จ๊ณ„