版本:7.0.0
描述
在默認情況下,SkyWalking會采集所有追蹤的數據。但是如果系統比較復雜,采集的端點比較多的時候,可能存儲壓力比較大,這個時候我們可以修改配置,只存儲部分的調用鏈路信息。比如:50%。
設置采樣率的時候並不會影響相關指標的計算。服務,服務實例,端點,拓撲圖相關指標的計算還是使用完整的數據計算的。
配置
具體配置在config/application.yml
文件中receiver-trace
模塊。
默認配置10000
,采樣率精確到1/10000
,即10000 * 1/10000 = 1 = 100%
。
假設我們設計采樣50%
,那么設置為5000
,具體如下:
receiver-trace: selector: ${SW_RECEIVER_TRACE:default} default: sampleRate: ${SW_TRACE_SAMPLE_RATE:5000}
建議
后算實例可以設置不同的采樣率,但是官方建議設置為同樣的值。
假設:
實例A采樣率 = 35%
實例B采樣率 = 55%
Agent將所有的跟蹤段都上報給后端,全局范圍內 35% 的跟蹤的所有跟蹤段會保存在存儲中。
但是,B實例還會有 20% 的跟蹤信息,這些跟蹤信息里面有一部分的跟蹤段被發送 A 實例, 這部分不會持久化。最終導致跟蹤段缺失。
集群模式下,各個實例的采樣率建議設置一致,否則可能會導致數據丟失風險。采樣率配置在/config/application.yml中,receiver-trace.Default.sampleRate