pprof 是 program profiling(程序分析)的縮寫,是 Go程序中重要的性能分析工具,包含兩個部分:
- 數據採集,由編譯到程序中的 pprof 庫實現。pprof 庫主要是指 “runtime/pprof” 包,另有 “net/http/pprof” 包引用 “runtime/pprof” 並以 HTTP 接口形式提供實時性能數據。
- 數據分析,使用
go tool pprof <source>
工具分析採集到的數據。
pprof 是 program profiling(程序分析)的縮寫,是 Go程序中重要的性能分析工具,包含兩個部分:
go tool pprof <source>
工具分析採集到的數據。 Protocol Buffers(簡稱 protobuf)
,是 Google 推出的一種數據交換格式,採用 Varint 和 ZigZag 等二進制編碼,數據壓縮效果顯著,可用來傳輸數據或持久化數據。
JSON 全稱爲 JavaScript Object Notation(JavaScript對象標記)
,即 JS對象的字符串表示。其採用文本編碼,是現今最通用的數據交換格式。2001年3月,State Software公司的聯合創始人設計了此種格式,並隨後進行了標準化。現在有 ECMA-404(2013年)和 RFC-8259(2017年)兩種標準。
protobuf 全稱爲 Protocol Buffers(“協議緩衝”)
,是一種數據壓縮性能優秀的數據存儲和交換格式。其採用二進制編碼,通常跟 gRPC 一起使用。
2001年 Google公司內部誕生了proto1版本,並隨後在2008年以BSD協議開源了proto2,2016年釋出proto3正式版。
對於 proto2,官方推出了針對 C++、Java、C# 和 Python 語言的 protobuf編譯器 protoc;而在 proto3 中,增加了對 Dart、GO、Kotlin 和 Ruby 的官方支持。另外,第三方有提供對 JavaScript 和 PHP 等等語言的支持。
Lâu Lêng(劉伶) sâinn--
sî tsia̍h tsiú huàng-tsòng, ǔ--
sî nā tshù-lǎi tǹg-pe̍h-pe̍h. Nâng thói-tioh i, tsang i kiàng-siàu, A-lêng(阿伶) tànn: “uá ínn thinn-tī uî lâu-pâng, pâng-kainn uî khòu-thâu, níng-hiá-nâng nǹg uá khòu-thâu muā--
âi mō?”
Sènn Nguáng(阮) kâi nâng tsôi--
ik sǐ hoh--
ǒi tsia̍h-tsiú--
âi. Ǔ tse̍k--
ji̍k, Nguáng Hâm(阮咸) kah i--
âi tso̍k-nâng tsia̍h tsiú, ēng tuā àng. Tsia̍h-tiānn-nînn, ǔ tse̍k--
kûng tu phīnn-tioh phang-bhī tshong--
ji̍p-lâi. Suà tsôi--
ik tsia̍h tsiú.