2012-01-06 215 views
20

正如標題所示。許多解釋都非常模糊,任何人都可以提供更堅實的定義?術語「儀表」是什麼意思?

該術語在Android測試中有很多用處,但我不認爲它僅限於該平臺。

回答

12

一些性能測量工具添加到儀表的代碼。例如。它們可以二進制翻譯,並添加指令來讀取函數開始和結束處的定時器。或者這個儀器,這個定時器的讀數,可以通過一個自動化工具或程序員被添加到程序集或C代碼中。

其他性能測量工具不會更改正在測量的代碼。例如。 UNIX prof抽樣運行在定時器中斷處調用的特殊代碼,該代碼會生成接收中斷的指令的直方圖。

一些工具是混合的:例如, UNIX gprof將prof風格的中斷採樣與編譯器添加的mcount工具結合使用-pg選項來計算哪些函數互相調用。

所有性能測量都有開銷,但是儀器往往會比基於中斷的採樣更多的開銷。另一方面,儀器可以測量更多的東西。

6

嗯,我visited this link,它說:

在計算機編程的背景下,儀表是指監視或測量的產品的性能水平,來診斷錯誤,並寫入跟蹤信息的能力。程序員以監控系統中特定組件的代碼指令的形式實現檢測(例如,指令可能輸出日誌信息以顯示在屏幕上)。當應用程序包含檢測代碼時,可以使用管理工具進行管理。儀表是有必要審查應用程序的性能。儀器方法可以是兩種類型,源儀器和二進制儀器。

快樂編碼

3

儀器通常用於動態代碼分析。

它不同於日誌記錄,因爲儀器通常由軟件自動完成,而日誌記錄需要人工智能來插入日誌記錄代碼。

Source

2

根據Oracle

儀表是添加的字節碼爲 目的採集數據的各種工具所使用的方法。由於 的更改是純粹相加的,因此這些工具不會修改應用程序狀態或 行爲。這種良性工具的例子包括監測代理,分析器,覆蓋分析器和事件記錄器。