MS Visual Studio 2005 Team Suite - Performance Tool

Podobne dokumenty
GNU GProf i GCov. przygotował: Krzysztof Jurczuk Politechnika Białostocka Wydział Informatyki Katedra Oprogramowania ul. Wiejska 45A Białystok

NETBEANS PROFILER TOMASZ ŁUKASZUK

Zarządzanie sieciami telekomunikacyjnymi

Jerzy Kosiński Wyższa Szkoła Policji w Szczytnie

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli

Kurs języka Python. Wykład 11. Marcin Młotkowski. 4 stycznia Kontrola poprawności podczas biegu programu. 2 Testowanie oprogramowania

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

Zamieszczanie ogłoszenia: obowiązkowe. Ogłoszenie dotyczy: zamówienia publicznego.

Zaawansowane aplikacje internetowe - laboratorium

Platforma.NET laboratorium 1. Visual Basic.NET podstawowe elementy języka. Wykonanie warunkowe If End If

III. Przebieg ćwiczenia. 1. Generowanie i wizualizacja przebiegów oraz wyznaczanie ich podstawowych parametrów

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Asix. Konfiguracja serwera MS SQL dla potrzeb systemu Asix. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

INSTRUKCJE JAK AKTYWOWAĆ SWOJE KONTO PAYLUTION

APEX zaawansowany raport

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Instrukcja tworzenia aplikacji bazodanowej opartej o technologię Oracle i platformę.net

Zaawansowane aplikacje internetowe

Raport bieżący: 44/2018 Data: g. 21:03 Skrócona nazwa emitenta: SERINUS ENERGY plc

Informatyka I : Tworzenie projektu

Software package and information systems

Oracle Automatic Workload Repository (AWR) 12c

Instrukcja obsługi User s manual

Załącznik nr 8. do Studium Wykonalności projektu Sieć Szerokopasmowa Polski Wschodniej województwo podkarpackie

Instrukcja instalacji oprogramowania dla środowiska Windows

Instrukcja pomocnicza

Strona 1 NUMPAGES INSTRUKCJA OBSŁUGI KARTY DARK. CENTRUM USŁUG ZAUFANIA SIGILLUM Wersja 1.0

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

BACKUP BAZ DANYCH MS SQL

Materiały dodatkowe. Raspberry Pi

Testowanie II. Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage).


Patients price acceptance SELECTED FINDINGS

Tworzenie i wykorzystanie usług sieciowych

1.Wstęp. 2.Generowanie systemu w EDK

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Tworzenie sterowników dla FreeBSD. Michał Hajduk

Plan wykładu. Tworzenie programów dla platformy.net. Kontrolki list. Kontrolki weryfikujące. Wiązanie danych. Dostęp do danych

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK

Volcano MC-GM4 OPTICAL MOUSE USER S MANUAL MODECOM

Tworzenie dokumentacji

Procedury techniczne modułu Forte Kontroling. Pakiety DTS

Narzędzia CASE dla.net. Łukasz Popiel

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Volcano MC-GMX4 OPTICAL MOUSE USER S MANUAL MODECOM

EXCEL PL PROGRAMOWANIE PDF

Zaawansowane funkcje Linkera. Sekcja 13

POLITYKA PRYWATNOŚCI / PRIVACY POLICY

Tomasz Greszata - Koszalin

Wykaz linii kolejowych, które są wyposażone w urządzenia systemu ETCS

NS-2. Krzysztof Rusek. 26 kwietnia 2010

Product Design Suite. AutoCAD. Mechanical. Showcase. Autodesk. Autodesk. Designer. SketchBook. Autodesk. Mudbox Vault. Autodesk. Ultimate.

Tworzenie raportów XML Publisher przy użyciu Data Templates


MICROSOFT WINDOWS INSTALLER TWORZENIE INSTALATORÓW W ŚRODOWISKU VISUAL STUDIO.NET

****/ZN/2012. if you are pregnant or breast-feeding.

Wykaz linii kolejowych, które są wyposażone w urzadzenia systemu ETCS

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

INFORMATYCZNE SYSTEMY STEROWANIA INSTRUKCJA ĆWICZENIA LABORATORYJNEGO

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

11. Rozwiązywanie problemów

BACKUP BAZ DANYCH FIREBIRD

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

Bezpieczeństwo informacji oparte o kryptografię kwantową

Wstęp. Ale po co? Implementacja

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

ActiveXperts SMS Messaging Server

Komunikacja Master-Slave w protokole PROFIBUS DP pomiędzy S7-300/S7-400

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Zadania: 1. Funkcja przeliczająca F na C: float FtoC(float f){ return (f 32.0) * 5.0 / 9.0; }

Yousuke Tamura Programmer Clinical Science Dep., R&D AstraZeneca K.K. 2005/11/30 1

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA

Microsoft Interface Definition Language

Pakiet XML Czym jest i z czym się je?

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } }

SSI Web 8. (badania.kozminski.edu.pl) Instrukcja logowania i uruchamiania ankiety

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Konfiguracja po czenia pomi dzy serwerem OPC, a sterownikiem PLC dla sieci Profibus

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Weronika Mysliwiec, klasa 8W, rok szkolny 2018/2019

Pomoc do programu konfiguracyjnego RFID-CS27-Reader User Guide of setup software RFID-CS27-Reader

SAS Access to Hadoop, SAS Data Loader for Hadoop Integracja środowisk SAS i Hadoop. Piotr Borowik

PORÓWNANIE KILKU ZESTAWIEŃ OBROTÓW I SALD

s FAQ: 24/PL Data: DD/MM/RRRR

* konfiguracja routera Asmax V.1501 lub V.1502T do połączenia z Polpakiem-T lub inną siecią typu Frame Relay

1. Ustanawianie ograniczeń na użycie zasobów

POLITECHNIKA ŚLĄSKA INSTYTUT AUTOMATYKI ZAKŁAD SYSTEMÓW POMIAROWYCH

Programowanie w środowisku graficznym GUI

Akademia Morska w Szczecinie. Wydział Mechaniczny

Pakiety podprogramów Dynamiczny SQL

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Budowa przełączników modularnych. Piotr Głaska Senior Product Manager Enterprise Networking Solutions

Materiały dodatkowe. Simulink Real-Time

Transkrypt:

MS Visual Studio 2005 Team Suite - Performance Tool przygotował: Krzysztof Jurczuk Politechnika Białostocka Wydział Informatyki Katedra Oprogramowania ul. Wiejska 45A 15-351 Białystok Streszczenie: Dokument zawiera podstawowe informacje na temat narzędzia do profilowania aplikacji, które jest składnikiem pakietu MS Visual Studio 2005 Team Suite. 1. Wprowadzanie Profilowanie czasu wykonania aplikacji jest nieodłącznym elementem tworzenia zaawansowanych aplikacji. Głównym zadaniem narzędzi profilujących jest zbadanie testowanego oprogramowania pod kątem czasu poświęcanego na poszczególne linie kodu, funkcje czy też większe moduły. Pozwala to ukierunkować proces optymalizacji na fragmenty kodu, które zajmują najwięcej czasu wykonania. Dzięki temu tzw. wąskie gardła (ang., bottle neck) mogą zostać szybciej zidentyfikowane i zlikwidowane. Jednym z takich narzędzi jest moduł performace tool w pakiecie programistycznym Visual 2005 Team Suite. Umożliwia on profilowanie aplikacji stworzonych za pomocą kodu zarządzanego, niezarządzanego oraz aplikacji ASP.NET 2. Profilowanie aplikacji w środowisku.net za pomocą Performance tool aktywacja profilowania (dodanie sekcji performance do rozwiązania) istnieje możliwość użycia kreatora sekcji performance 1

Wybór aplikacji. Wybór trybu profilowania. Nowo utworzona sekcja performance. 2

uruchomienie profilowania uruchomienie profilowania aplikacji (properties szereg opcji profilowania). tworzenie graficznej reprezentacji wyników (automatycznie po zakończeniu wykonani aplikacji). raport.vsp 3

analiza wyników (raport.vsp) Podsumowanie. Zbiorcza informacja na temat modułów i funkcji. number of calls liczba wywołań funkcji elapsed exclusive time czas spędzony w funkcji oraz funkcjach z niej wywoływanych application exclusive time - czas spędzony w funkcji oraz funkcjach z niej wywoływanych (bez czasu w kernel mode ) elapsed inclusive time czas spędzony w funkcji application inclusive time - czas spędzony w funkcji (bez czasu w kernel mode ) 4

Istnieje możliwość wyboru większej ilości statystyk (menu podręczne aktywne na tabeli z wynikami). Ich opis znajduje się na końcu dokumentu. Szczegółowe informacje na temat wybranej funkcji w zakładce functions. 5

Informacje o wykorzystaniu pamięci (aby były dostępne należy w opcjach profilowania ustawić flagę Collect.NET object allocation information w performance->general ). informacje o długości życia obiektów (3 poziomy pamięci Garbage Collector'a, patrz dokument CLRProfiler) (aby były dostępne należy w opcjach profilowania ustawić flagę Also collect.net object lifetime information w performance->general). Przykładowe dostępne statystyki (MSDN): Exclusive Allocations Allocations in a function excluding all other allocations in subroutines that it called. Inclusive Allocations Allocations in a function including all allocations in subroutines that it called. Exclusive Bytes Allocated Inclusive Bytes Allocated Bytes allocated in a function excluding all other byte allocations in subroutines that it called. Bytes allocated in a function including all other byte allocations in subroutines that it called. Exclusive Bytes Percent (Bytes allocated in a function / total bytes ) * 100 Inclusive Bytes Percent (Bytes allocated in a function and all other subroutines that it called / total bytes ) * 100 6

Number of Calls The number of calls made to the instances of this function that were called by the parent Exclusive Bytes Percent (Bytes allocated in a function / total bytes ) * 100 Inclusive Bytes Percent (Bytes allocated in a function and all other subroutines that it called / total bytes ) * 100 Percentage of Calls Elapsed Exclusive Time Application Exclusive Time Elapsed Inclusive Time Application Inclusive Time MAX Elapsed Exclusive Time MAX Application Exclusive Time MAX Elapsed Inclusive Time MAX Application Inclusive Time MIN Elapsed Exclusive Time MIN Application Exclusive Time MIN Elapsed Inclusive Time MIN Application Inclusive Time The number of instances of this function that were called by the parent function in the call tree as a percentage of the total number of calls to all functions in the specified data range. Calculated time for a function or summary item that includes samples that contain transition events, and excludes time from collection probes and the elapsed time of subroutines called by the function. Calculated time for a function or summary item that excludes samples that contain transition events, time from collection probes, and the time of subroutines called by the function. Calculated time for a function or summary item that includes samples that contain transition events and time from subroutines called by the function, but excludes time from collection probes. Calculated time for a function or summary item that excludes samples that contain transition events and time from collection probes, but includes the application time of subroutines called by the function. The greatest elapsed exclusive clock time (processor cycles), or performance The maximum single application exclusive clock time (processor cycles), or performance counter value for any one instance of this function that was called by the parent The greatest elapsed inclusive clock time (processor cycles), or performance The greatest application inclusive clock time (processor cycles), or performance The least elapsed exclusive clock time (processor cycles), or performance counter value for any one instance of this function that was called by the parent function in the call tree. The minimum application exclusive clock time (processor cycles), or performance The least elapsed inclusive clock time (processor cycles), or performance counter value for any one instance of this function that was called by the parent function in the call tree. The least application inclusive clock time (processor cycles), or performance 7

AVG Elapsed Exclusive Time AVG Application Exclusive Time AVG Elapsed Inclusive Time AVG Application Inclusive Time The average elapsed exclusive clock time (processor cycles), P6 performance or user-defined counter value for all instances of the function in the specified data range. The average application exclusive clock time (processor cycles), P6 performance or user-defined counter value for all instances of this function in the specified data range. The average elapsed inclusive clock time (processor cycles), P6 performance or user-defined counter value for all instances of the function in the specified data range. The average application inclusive clock time (processor cycles), P6 performance or user-defined counter value for all instances of the function in the specified data range. % Elapsed Exclusive Time The percentage of the total global clock time (processor cycles), or performance counter values of the specified data segment that was spent in the elapsed exclusive time of all instances of the function in this context. % Application Exclusive Time The percentage of the total global clock time (processor cycles), or performance counter values of the specified data segment that was spent in the application exclusive time of all instances of the function in this context. % Elapsed Inclusive Time The percentage of the total global clock time (processor cycles), or performance counter values of the specified data segment that was spent in the elapsed inclusive time of all instances of the function in this context. % Application Inclusive Time The percentage of the total global clock time (processor cycles), or performance counter values of the specified data range that was spent in the inclusive time of all instances of the function in this context. % Time Exclusive Probe Overhead The percentage of the global clock time (processor cycles), or performance counter values for the specified data range that is attributed to profiling probes in the exclusive time of all instances of this function that were called by the parent % Time Inclusive Probe Overhead The percentage of the global clock time (processor cycles), or performance counter values for the specified data range that is attributed to profiling probes in the inclusive time of all instances of this function that were called by the parent Exclusive Transitions Inclusive Transitions Exclusive Transitions Percentage Inclusive Transitions Percentage Root Node Recursive The number of transition events that occurred in all instance of this function, excluding functions called by the function. The number of transition events that occurred in all instance of this function, including functions called by the function. The percentage of transition events that occurred in the exclusive time of the instances of this function that were called by the parent function in the call tree compared to the total number of exclusive transitions in the data range. The percentage of transition events that occurred in the inclusive time of the instances of this function that were called by the parent function in the call tree compared to the total number of inclusive transitions in the data range. Indicates if this function was directly or indirectly called recursively in this context. 8

Time Exclusive Probe Overhead The total time attributed to prof Function Name Function Address Inclusive Percent Exclusive Percent Inclusive Samples Exclusive Samples Line Number Module Name Module Path Process ID Process Name Parent Function Address Source File Name Unique ID Unique Process ID The total time attributed to profiling probes in the exclusive time of the instances of this function that were called by the parent Time Inclusive Probe Overheadiling probes in the inclusive time of the instances of this function that were called by the parent Name of the function. Function address in hexadecimal format. ([Inclusive samples for the function] / [Total inclusive samples taken during profiling]) * 100 ([Exclusive samples for the function] / [Total exclusive samples taken during profiling]) * 100 Total number of performance data collected for the function including performance data for other functions that were called by it. Total number of performance data collected for the function excluding performance data for other functions that were called by it. Location of the start of the function in the source file. Name of the module that contains the function. Directory location of the module. Numeric identifier of the process. Name of the process. Address in memory of the parent function that called another function. Name of the source file that contains the function. Hexadecimal number that identifies the function. Unsigned integer to track the process. 9