diff --git a/.vuepress/config.js b/.vuepress/config.js index c87f2efd..a6eae6fe 100644 --- a/.vuepress/config.js +++ b/.vuepress/config.js @@ -299,6 +299,7 @@ export default defineUserConfig({ '/observability/profiles.md', '/observability/dumps.md', '/observability/OpenTelemetry.md', + '/observability/conclusion.md', ] }, { diff --git a/Observability/conclusion.md b/Observability/conclusion.md index e86db1b6..8c2562f5 100644 --- a/Observability/conclusion.md +++ b/Observability/conclusion.md @@ -1,4 +1,7 @@ # 小结 +参考 +- 《cncf 可观测性白皮书》https://github.com/cncf/tag-observability/blob/main/whitepaper.md +https://github.com/cncf/tag-observability/blob/dec82aa5bd39a8834f58da0377d1e2b8fdeeac63/whitepaper-zh.md \ No newline at end of file diff --git a/Observability/dumps.md b/Observability/dumps.md index 48870ca9..8cf38bd4 100644 --- a/Observability/dumps.md +++ b/Observability/dumps.md @@ -1 +1,3 @@ -# Dumps \ No newline at end of file +# Crash Dumps + +即使代码写得再谨慎,免不了还是会发生各种意外的事件,比如服务器内存突然飙高,又或者发生内存溢出(OOM)。当应用进程异常挂掉后会产生dump文件用于排除程序故障 \ No newline at end of file diff --git a/Observability/profiles.md b/Observability/profiles.md index 6cfeb4ec..2ddc6a55 100644 --- a/Observability/profiles.md +++ b/Observability/profiles.md @@ -8,7 +8,7 @@ ::: -可以看出,Profiling 是一个关于动态程序分析的术语,很多编程语言或框架也提供了丰富的 Profiling Tools,熟悉 Go 语言的朋友一定了解 pprof,当运行异常时,通过 pprof CPU profiling 或者 Memory profiling 分析函数耗时以及内存占用情况,展示形式以 Flame Graph(火焰图)表达。2021年国内某站崩溃 [^1],工程师们使用火焰图观察到到某一处 Lua 代码存在异常时,才找到问题的源头。 +可以看出,Profiling 是一个关于动态程序分析的术语,很多编程语言或框架也提供了丰富的 Profiling Tools,熟悉 Go 语言的朋友一定了解 pprof,当运行异常时,通过 pprof CPU profiling 或者 Memory profiling 分析函数耗时以及内存占用情况,展示形式以 Flame Graph(火焰图)表达。2021年国内某站崩溃[^1],工程师们使用火焰图观察到到某一处 Lua 代码存在异常时,才找到问题的源头。
@@ -29,4 +29,4 @@ Traces 让我们了解延迟问题是分布式系统的的哪个部分导致的,而 Profiles 则使我们进一步定位到具体的函数具体的代码,更加深入挖掘并理解那些导致延迟问题存在的原因,是回答从“是什么”到“为什么”的重要数据。 -[^1] 参见:《2021.07.13 我们是这样崩的》https://www.bilibili.com/read/cv17521097/ \ No newline at end of file +[^1] 参见:《2021.07.13 我们是这样崩的》https://www.bilibili.com/read/cv17521097/ \ No newline at end of file