2015-10-10 177 views
0

我正在使用LoggingSession進行通用應用追蹤。 LoggingSession使用內存中的循環緩衝區來緩存消息。 這個緩衝區的大小是多少?可以/應該配置它嗎?什麼是LoggingSession緩衝區大小?

通過SaveToFileAsync()創建的.etl文件的最大大小似乎爲3KB。 在文件資源管理器中的目錄奇怪地顯示了大小爲260KB的.etl.tmp文件被創建和刪除。

+0

它不會出現無論如何調整緩衝區大小 –

回答

1

LoggingSession使用4個緩衝區。緩衝區大小爲64KB或65KB,具體取決於Windows的版本。尺寸不可配置。這個想法是,你的程序不斷記錄有關它在做什麼的信息。然後,如果發生奇怪的事情(即意外的異常),您可以保存最新的256KB值的日誌並上傳它們。

雖然原始緩衝區總計高達256KB或260KB,但如果您尚未記錄任何事件,則它們將大部分爲空。 LoggingSession將數據刷新到磁盤,然後通過壓縮運行原始數據,這就是爲什麼最終的大小非常小。如果緩衝區中有更多的數據,它會更大。