本發明專利技術涉及立即延遲跟蹤器工具。立即延遲跟蹤器工具監聽超過延遲閾值的用戶指定事件的發生。在一實施例中,這些事件與由用戶界面(UI)線程處理的立即用戶動作相關聯,在該用戶界面線程中該立即用戶動作的響應時間需要瞬時響應。當事件超過延遲閾值時,系統中的所有進程和/或線程的控制流被記錄、過濾并隨后被分析以得到延遲的源。
【技術實現步驟摘要】
本專利技術涉及跟蹤引用中的事件的方法和系統。
技術介紹
用戶界面使得用戶能夠與軟件應用進行交互。用戶界面設備可以是通過鍵盤、鼠標、觸摸屏顯示器等來接受用戶的動作或輸入的圖形用戶界面。可以使用諸如窗口、菜單、圖標、按鈕、指針、框等對象來構造圖形用戶界面。用戶可以使用這些對象來輸入數據、執行命令以及一般與軟件應用進行交互。 對用戶動作的慢響應時間影響對軟件應用的使用。響應時間應該盡可能的快。某些用戶動作可能是關鍵的,并需要立即響應。用戶動作和應用響應間的延遲可給予用戶該應用軟件沒有瞬時地反應的感知。因此,改進用戶界面的響應時間增強了用戶對軟件應用的整體體驗。
技術實現思路
提供本
技術實現思路
以便以簡化形式介紹將在以下具體實施方式中進一步描述的一些概念。本
技術實現思路
并不旨在標識所要求保護主題的關鍵特征或必要特征,也不旨在用于限制所要求保護主題的范圍。用戶通過嚴重依賴于可能需要立即響應的用戶輸入或用戶動作的用戶界面與諸如集成開發環境(IDE)等應用進行交互。這些用戶動作經常由管理IDE的用戶界面的用戶界面(UI)線程來處理。對用戶動作的響應中的延遲影響用戶對應用的體驗。立即延遲跟蹤器工具跟蹤n線程對在返回響應時具有超過預期響應時間的延遲的用戶動作的處理。立即延遲跟蹤器工具獲取用戶定義的指示感興趣的事件、每一事件的延遲閾值和每一事件的跟蹤長度的設置文件。立即延遲跟蹤器工具監聽超過延遲閾值的事件的發生,并隨后記錄系統中運行的所有進程和線程的控制流的系統范圍跟蹤達由跟蹤長度定義的時間長度。立即延遲跟蹤器工具在記錄系統范圍跟蹤之前等待第一次發生超過延遲閾值的事件,該事件可引起在后用戶動作經歷相同的延遲。通過這種方式,被記錄的數據的量被最小化。隨后可過濾并分析所記錄的數據以得到延遲的源。通過閱讀下面的詳細描述并參考相關聯的附圖,這些及其他特點和優點將變得顯而易見。應該理解,前面的概括說明和下面的詳細描述只是說明性的,不會對所要求保護的各方面形成限制。附圖簡述附圖說明圖1示出了用于跟蹤用戶動作的立即延遲的示例性系統。圖2是示出了對具有超過延遲閾值的流逝時間的鍵盤輸入的跟蹤的流程圖。圖3是示出用于跟蹤立即延遲的第一示例性方法的流程圖。圖4A-4B是示出用于跟蹤立即延遲的第二示例性方法的流程圖。圖5是示出操作環境的框圖。圖6是示出示例性計算設備的框圖。圖7是示出示例性服務器的框圖。具體實施例方式各個實施例涉及用于跟蹤響應于要求立即響應的用戶輸入的延遲的機制。在一個或多個實施例中,可以向提供使用戶能夠構建、測試和/或執行軟件應用的工具和服務的集成開發環境輸入用戶輸入。用戶通過嚴重依賴于可要求立即響應的用戶輸入和動作的用戶界面與IDE進行交互。立即延遲跟蹤器工具是跟蹤在這樣的用戶動作的響應時間中的延遲,使得該延遲的源可被標識出并被補救的機制。在一個或多個實施例中,立即延遲跟蹤器工具可跟蹤顯示從鍵盤鍵入的字符的延遲或在顯示器上打開菜單的延遲。立即用戶動作可以是鍵盤敲擊或對用戶輸入的菜單選項的點擊。存在處理這些事件時應該瞬時響應的期望。立即用戶動作經常由管理IDE用戶界面的UI線程來處理。用戶界面事件被表示成被存儲在消息隊列中直到被UI線程處理的消息。UI線程可以被實現為從消息隊列檢索消息并據此處理它們的消息泵或循環。UI線程的目標是持續從消息隊列中檢索消息,該消息在本領域中又被稱為抽取消息。通過這種方式,觸發這些消息的動作被響應,以由此快速改進用戶動作的響應時間。立即延遲跟蹤器工具獲取指示感興趣的事件、延遲閾值和跟蹤長度的設置文件。感興趣的事件可以是n線程處理的用戶動作,諸如鍵盤敲擊、鼠標點擊、打開菜單等。延遲閾值是表示用戶可容許的最大延遲的時間單位。跟蹤長度是表示在應用超過了延遲閾值后跟蹤該應用的時間量的時間單位。立即用戶動作的響應時間可以是非常快速的,并可花少至50毫秒。由于立即用戶動作的快速響應時間,立即延遲跟蹤器工具不得不以不明顯增加立即用戶動作的響應時間的方式來工作。因而,立即延遲跟蹤器工具在記錄系統范圍跟蹤前等待超過閾值的事件的發生。系統范圍跟蹤可包括進程中的調用棧和/或在跟蹤期間運行的線程。存在被連續地逐個重復的某些立即用戶動作,諸如鍵盤敲擊和與打開菜單相關聯的動作。如果在處理鍵盤敲擊時存在延遲,則很可能在緊跟在其后發生的在后鍵盤敲擊中經歷相同的延遲。立即延遲跟蹤器工具在記錄系統范圍跟蹤之前等待這樣的用戶動作第一次超過延遲閾值,使得該立即延遲跟蹤器工具不會阻礙不可能經歷相同延遲的立即用戶動作的響應時間。被監控的應用(諸如IDE)可將標識事件的執行的開始點和結束點的標記事件插入應用中。標記事件可用于在處理該事件時觸發對應用的響應時間的測量。因而,一事件可由諸如在該事件開始時以及在該事件結束時的兩個標記事件來標識。標記事件可以是對被通知了事件的開始和結束的事件跟蹤引擎的API調用。作為響應,事件跟蹤引擎可向立即跟蹤器工具提供ETL事件通知,通過該通知該立即跟蹤器工具可確定是否發生了延遲。當事件超過延遲閾值時,隨后該立即延遲跟蹤器指令事件跟蹤引擎記錄對運行達預定時間量的所有進程和/或線程的系統范圍跟蹤。注意力現轉向對各實施例的更詳細的討論。圖1示出了用于跟蹤立即用戶動作中的延遲的示例性系統的框圖。系統100可包括通過網絡106通信地耦合的計算設備102和服務器104。計算設備102和服務器104可以是能夠執行可編程指令的任何類型的電子設備,這些設備為諸如但不限于移動設備、個人數字助理、移動計算設備、智能電話、蜂窩電話、手持式計算機、服務器、服務器陣列或服務器場、web服務器、網絡服務器、因特網服務器、工作站、小型機、大型機、巨型機、網絡設備、web設備、分布式計算系統、多處理器系統或其組合。網絡106可以是能夠利用任何通信協議或按照任何配置來促進計算設備102與服務器104之間的通信的任何類型的通信鏈接,諸如但不限于有線網絡、無線網絡或其組合。應當理解,所示的網絡連接是示例性的,并且也可使用在計算設備102和服務器104之間建立通信鏈接的其他手段。在一個或多個實施例中,計算設備102可被IDE 110的用戶利用。計算設備102可包括操作系統108、IDE 110和立即延遲跟蹤器工具112。操作系統108、IDE 110和立即延遲跟蹤器工具112可以是計算機程序指令的序列,并且當由處理器來執行該計算機程序指令的序列時,使得處理器根據規定的任務來執行方法和/或操作。可以將操作系統108、IDE 110和立即延遲跟蹤器工具112實現成程序代碼、程序、過程、模塊、代碼段、程序棧、中間件、固件、方法、例程等。可執行計算機程序指令可根據用于指示計算機執行特定功能的預定義的計算機語言、方式或句法來實現。這些指令可以使用任何合適的高級、低級、面向對象、可視、編譯、和/或解釋編程語言來實現。IDE 110是提供允許用戶構建、測試和/或執行軟件應用的工具和服務的軟件應用。微軟的 Visual Studio 、Delph1、JBuiIder、FrontPage 和 Dream Weaver 是不例性 IDE。IDE 110可包含執行的多個線程,諸如UI線程113。在一實施例中,UI線程113可被實現為消息泵。消息泵從消息隊列114檢索消息,這本文檔來自技高網...
【技術保護點】
一種計算機實現的方法,包括:標識將在應用的執行期間發生的至少一個事件,所述事件與延遲閾值和跟蹤長度相關聯(306);監視所述事件在所述應用的執行期間的發生(308);以及在確定所述事件超過了所述延遲閾值后,記錄系統范圍跟蹤達所述跟蹤長度(312)。
【技術特征摘要】
...
【專利技術屬性】
技術研發人員:C·麥科爾,P·普賴斯,B·艾京,S·巴薩瓦,
申請(專利權)人:微軟公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。