Tomek Banasiak: Jak bez stresu obserwować rosnący ruch w Twojej usłudze? Czyl...RST Software Masters
Node.js ma wiele zalet - jest szybki, asynchroniczny, łatwy do nauczenia. Ma też jedną wadę - jest jednowątkowy, co w dobie wielordzeniowych procesorów jest marnowaniem mocy obliczeniowej. Tę wadę jednak przekuć można w olbrzymią zaletę, gdyż dzięki temu niejako wymuszamy myślenie o skalowaniu naszej aplikacji w przyszłości. W tej prezentacji pokażę na przykładach usług w Node.js możliwości skalowania aplikacji zarówno w ramach tej samej maszyny jak dystrybucji obciążenia/obliczeń na wiele maszyn.
Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?The Software House
Wojciech Wójcik: W temacie monitorowania systemów IT powiedziano już oceany słów na niezliczonych prezentacjach. Przedstawię wam jednak opowieść o mitologicznym Prometheuszu. Opowieść, która mogłaby konkurować z Grą o tron, a Koronę Królów zjadłaby na przystawkę. W jej trakcie zdradzę wam sekrety monitorowania Kubernetes, ale i nie tylko. Miejcie jednak na uwadze, że nie wszystkie potyczki się wygrywa – dzięki czemu zaszczycę was też możliwością wysłuchania ciekawych historii o fuckupach.
Tomek Banasiak: Jak bez stresu obserwować rosnący ruch w Twojej usłudze? Czyl...RST Software Masters
Node.js ma wiele zalet - jest szybki, asynchroniczny, łatwy do nauczenia. Ma też jedną wadę - jest jednowątkowy, co w dobie wielordzeniowych procesorów jest marnowaniem mocy obliczeniowej. Tę wadę jednak przekuć można w olbrzymią zaletę, gdyż dzięki temu niejako wymuszamy myślenie o skalowaniu naszej aplikacji w przyszłości. W tej prezentacji pokażę na przykładach usług w Node.js możliwości skalowania aplikacji zarówno w ramach tej samej maszyny jak dystrybucji obciążenia/obliczeń na wiele maszyn.
Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?The Software House
Wojciech Wójcik: W temacie monitorowania systemów IT powiedziano już oceany słów na niezliczonych prezentacjach. Przedstawię wam jednak opowieść o mitologicznym Prometheuszu. Opowieść, która mogłaby konkurować z Grą o tron, a Koronę Królów zjadłaby na przystawkę. W jej trakcie zdradzę wam sekrety monitorowania Kubernetes, ale i nie tylko. Miejcie jednak na uwadze, że nie wszystkie potyczki się wygrywa – dzięki czemu zaszczycę was też możliwością wysłuchania ciekawych historii o fuckupach.
Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016PROIDEA
.NET ma zarządzaną pamięć, to wie każdy. Ale jak to wszystko naprawdę działa? Czy mamy się w ogóle czym przejmować? Czy znajomość szczegółów implementacyjnych Garbage Collectora jest nam do czegoś potrzebna i co z tego wynika dla codziennego życia .NET deva? Przyglądając się temu jak CLR zarządza pamięcią z tej i owej strony poznamy przy okazji kilka smaczków, ciekawostek ale i zagrożeń.
Wiele już powiedziano i napisano o bezpiecznym kodowaniu.
My skupiamy się w prezentacji na bezpiecznym kodowaniu w języku C na podstawie realnych podatności znalezionych w znanych programach i bibliotekach oraz kernelu Linuxa.
4Developers 2015: Property-based testing w języku Scala - Paweł GrajewskiPROIDEA
Paweł Grajewski
Language: Polish
Techniki Test-driven development (TDD) oraz Behavior-driven development (BDD) są dziś powszechnie stosowaną metodą poprawy jakości wytwarzanego oprogramowania. Obie zakładają w swej konstrukcji budowę zestawu przypadków testowych, ale stworzenie poprawnego i kompletnego zestawu takich przypadków jest nie lada sztuką. Często nie jesteśmy w stanie przewidzieć wszystkich sytuacji brzegowych, w skutek czego nie możemy być pewni na ile w rzeczywistości poprawny jest kod naszej aplikacji
Z pomocą może przyjść nam technika property-based testing, która w miejsce testowania poprawności działania systemu dla skończonego zbioru przypadków testowych wprowadza koncepcję “badania jego właściwości”. Idea ta zrodziła się już wiele lat temu, a dzisiaj znowu wraca do łask wraz ze wzrostem popularności funkcyjnych języków programowania. Zaufało jej już wiele dużych, złożonych projektów m.in. projekt kompilatora języka Scala oraz framework Akka. Prawidłowo zastosowana jest w stanie zapewnić wymierne korzyści - zwiększyć pokrycie kodu testami, ale przede wszystkim uchronić nas przed wieloma typowymi niedopatrzeniami.
Prezentacja przybliży koncepcję property-based testing oraz zademonstruje tę technikę na przykładach.
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...PROIDEA
W prezentacji zostanie przedstawione podejście do problemu automatycznego wyszukiwania podatności bez posiadania znacznej mocy obliczeniowej (własnej farmy serwerów) które pomogło w ujawnieniu prawie 400 różnych błędów w oprogramowaniu open-source (w tym ~110 podatności z CVE) w okresie jednego roku. Pokazane zostaną procesy zwiększające efektywność fuzzingu w chmurze oraz autorski system (codename: Cloudfuzz) wspomagający deduplikację crashy, analizę błędów, zarządzanie korpusem oraz serwerami. Omówię także najpoważniejsze błędy odkryte za pomocą systemu, a także widoki na rozwój projektu.
Wiele portów w jednym kontrolerze Gigabit Ethernet - jak to oprogramować w Linuksie? Powiązanie działania sprzętu ze stosem sieciowym systemu operacyjnego na przykładzie nowego sterownika dodanego do Linuksa v3.17.
DTrace, czyli jak zobaczyć to czego nie widać.Semihalf
"Szanowny Panie, Pana program działa, ale niestety wolno. Czy da się go przyspieszyć?" Który programista nie spotkał się z takim stwierdzeniem niech pierwszy rzuci kamień. W prezentacji poruszamy tematykę analizy wydajności programów za pomocą narzędzia DTrace.
14. Spotkanie WiT Krakow
Paradoksalnie, testowanie to wciąż niedoceniana dziedzina inżynierii oprogramowania, choć kluczowa dla powodzenia przedsięwzięć informatycznych.
[Confidence 2016] Red Team - najlepszy przyjaciel Blue TeamuPiotr Kaźmierczak
Piotr Kaźmierczak, Red Team Leader opowiadał jak ważną rolę w podnoszeniu kompetencji specjalistów od cyberbepieczeństwa pełni redteaming oraz zespół ofensywny. Zaprezentował różne narzędzia oraz przedstawił metody pracy Red Teamu. Prezentację zilustrowały przykłady z ostatnich treningów na poligonie cybernetycznym CDeX.
Kopiąc Trufle - Odkrywanie tajemnic najmniej zrozumiałego elementu GraalVMArtur Skowroński
Myślisz, że znalezienie trufli jest trudne? Spróbuj zrozumieć Truffle w GraalVM!
W tej lekkostrawnej prezentacji zamierzam uprościć to, co skomplikowane, i wyjaśnić rolę Truffle w ekosystemie GraalVM. Kontynuując kulinarną analogię, wyobraź sobie Truffle jako tajemniczy składnik, który wyciąga prawdziwy aromat GraalVM – wspiera wiele języków i zwiększa wydajność, tak jak prawdziwe trufle dodają daniu smak.
Przebijemy się przez techniczny żargon i wyjaśnimy, co naprawdę oznacza "framework implementacji języka". Dowiesz się, jak działa Truffle, dlaczego jest ważne, a nawet spróbujemy napisać jakiś kawałek prostego języka – zgodnie z zasadą "słowa są tanie, pokaż mi kod"
C# to jeden z najmłodszych języków programowania. Opracowany w firmie Microsoft język jest połączeniem najlepszych cech C++ i Javy. Stanowi świetne narzędzie do tworzenia aplikacji dla systemu Windows i urządzeń mobilnych. C# jest stosunkowo łatwy do opanowania, ma prostą i czytelną składnię. Ścisła integracja z platformą .NET pozwala programistom korzystać z oferowanych przez nią klas i komponentów. Bardzo dużym atutem najnowszej wersji języka C# jest to, iż wszyscy, którzy chcą poznać jego możliwości, mogą skorzystać z dostępnego nieodpłatnie środowiska programistycznego Microsoft Visual Studio Express Edition.
Dzięki książce "C#. Ćwiczenia. Wydanie II" poznasz podstawy języka C# i nauczysz się korzystać ze środowiska Visual Studio Express. Dowiesz się, z jakich elementów składają się programy napisane w C# i na czym polega programowanie obiektowe. Przeczytasz o obsłudze wyjątków, projektowaniu okien dialogowych, przetwarzaniu danych i programowaniu sterowanym zdarzeniami. Wykonując kolejne ćwiczenia, poznasz zasady tworzenia aplikacji dla systemu Windows z wykorzystaniem komponentów platformy .NET.
* Obsługa środowiska Visual Studio Express
* Typy danych
* Operatory
* Instrukcje warunkowe i pętle
* Programowanie obiektowe
* Obsługa błędów
* Wyświetlanie okien w systemie Windows
* Korzystanie z komponentów platformy .NET
Rozpocznij przygodę z programowaniem.
Wszyscy zostaliśmy oszukani! Automatyczne zarządzanie pamięci rozwiąże wszystkie Wasze problemy, mówili. W zarządzanych środowiskach takich jak CLR JVM nie będzie wycieków pamięci, mówili! Właściwie pamięć jest tania i nie musisz się już nią nigdy więcej martwić. Wszyscy kłamali. Automatyczne zarządzanie pamięcią jest wygodną abstrakcją i bardzo często działa dobrze. Ale jak każda abstrakcja, wcześniej czy później "wycieka" ona. I to najczęściej w najmniej spodziewanym i przyjemnym momencie. W tej sesji spróbuję otworzyć oczy na fakt, że błoga nieświadomość nt. tej abstrakcji może być kosztowna. Pokażę jak może się objawić frywolne traktowanie pamięci i co możemy zyskać pisząc kod zdając sobie sprawę, że pamięć jednak nie jest nieskończona, tania i zawsze jednakowo szybka.
Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016PROIDEA
.NET ma zarządzaną pamięć, to wie każdy. Ale jak to wszystko naprawdę działa? Czy mamy się w ogóle czym przejmować? Czy znajomość szczegółów implementacyjnych Garbage Collectora jest nam do czegoś potrzebna i co z tego wynika dla codziennego życia .NET deva? Przyglądając się temu jak CLR zarządza pamięcią z tej i owej strony poznamy przy okazji kilka smaczków, ciekawostek ale i zagrożeń.
Wiele już powiedziano i napisano o bezpiecznym kodowaniu.
My skupiamy się w prezentacji na bezpiecznym kodowaniu w języku C na podstawie realnych podatności znalezionych w znanych programach i bibliotekach oraz kernelu Linuxa.
4Developers 2015: Property-based testing w języku Scala - Paweł GrajewskiPROIDEA
Paweł Grajewski
Language: Polish
Techniki Test-driven development (TDD) oraz Behavior-driven development (BDD) są dziś powszechnie stosowaną metodą poprawy jakości wytwarzanego oprogramowania. Obie zakładają w swej konstrukcji budowę zestawu przypadków testowych, ale stworzenie poprawnego i kompletnego zestawu takich przypadków jest nie lada sztuką. Często nie jesteśmy w stanie przewidzieć wszystkich sytuacji brzegowych, w skutek czego nie możemy być pewni na ile w rzeczywistości poprawny jest kod naszej aplikacji
Z pomocą może przyjść nam technika property-based testing, która w miejsce testowania poprawności działania systemu dla skończonego zbioru przypadków testowych wprowadza koncepcję “badania jego właściwości”. Idea ta zrodziła się już wiele lat temu, a dzisiaj znowu wraca do łask wraz ze wzrostem popularności funkcyjnych języków programowania. Zaufało jej już wiele dużych, złożonych projektów m.in. projekt kompilatora języka Scala oraz framework Akka. Prawidłowo zastosowana jest w stanie zapewnić wymierne korzyści - zwiększyć pokrycie kodu testami, ale przede wszystkim uchronić nas przed wieloma typowymi niedopatrzeniami.
Prezentacja przybliży koncepcję property-based testing oraz zademonstruje tę technikę na przykładach.
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...PROIDEA
W prezentacji zostanie przedstawione podejście do problemu automatycznego wyszukiwania podatności bez posiadania znacznej mocy obliczeniowej (własnej farmy serwerów) które pomogło w ujawnieniu prawie 400 różnych błędów w oprogramowaniu open-source (w tym ~110 podatności z CVE) w okresie jednego roku. Pokazane zostaną procesy zwiększające efektywność fuzzingu w chmurze oraz autorski system (codename: Cloudfuzz) wspomagający deduplikację crashy, analizę błędów, zarządzanie korpusem oraz serwerami. Omówię także najpoważniejsze błędy odkryte za pomocą systemu, a także widoki na rozwój projektu.
Wiele portów w jednym kontrolerze Gigabit Ethernet - jak to oprogramować w Linuksie? Powiązanie działania sprzętu ze stosem sieciowym systemu operacyjnego na przykładzie nowego sterownika dodanego do Linuksa v3.17.
DTrace, czyli jak zobaczyć to czego nie widać.Semihalf
"Szanowny Panie, Pana program działa, ale niestety wolno. Czy da się go przyspieszyć?" Który programista nie spotkał się z takim stwierdzeniem niech pierwszy rzuci kamień. W prezentacji poruszamy tematykę analizy wydajności programów za pomocą narzędzia DTrace.
14. Spotkanie WiT Krakow
Paradoksalnie, testowanie to wciąż niedoceniana dziedzina inżynierii oprogramowania, choć kluczowa dla powodzenia przedsięwzięć informatycznych.
[Confidence 2016] Red Team - najlepszy przyjaciel Blue TeamuPiotr Kaźmierczak
Piotr Kaźmierczak, Red Team Leader opowiadał jak ważną rolę w podnoszeniu kompetencji specjalistów od cyberbepieczeństwa pełni redteaming oraz zespół ofensywny. Zaprezentował różne narzędzia oraz przedstawił metody pracy Red Teamu. Prezentację zilustrowały przykłady z ostatnich treningów na poligonie cybernetycznym CDeX.
Kopiąc Trufle - Odkrywanie tajemnic najmniej zrozumiałego elementu GraalVMArtur Skowroński
Myślisz, że znalezienie trufli jest trudne? Spróbuj zrozumieć Truffle w GraalVM!
W tej lekkostrawnej prezentacji zamierzam uprościć to, co skomplikowane, i wyjaśnić rolę Truffle w ekosystemie GraalVM. Kontynuując kulinarną analogię, wyobraź sobie Truffle jako tajemniczy składnik, który wyciąga prawdziwy aromat GraalVM – wspiera wiele języków i zwiększa wydajność, tak jak prawdziwe trufle dodają daniu smak.
Przebijemy się przez techniczny żargon i wyjaśnimy, co naprawdę oznacza "framework implementacji języka". Dowiesz się, jak działa Truffle, dlaczego jest ważne, a nawet spróbujemy napisać jakiś kawałek prostego języka – zgodnie z zasadą "słowa są tanie, pokaż mi kod"
C# to jeden z najmłodszych języków programowania. Opracowany w firmie Microsoft język jest połączeniem najlepszych cech C++ i Javy. Stanowi świetne narzędzie do tworzenia aplikacji dla systemu Windows i urządzeń mobilnych. C# jest stosunkowo łatwy do opanowania, ma prostą i czytelną składnię. Ścisła integracja z platformą .NET pozwala programistom korzystać z oferowanych przez nią klas i komponentów. Bardzo dużym atutem najnowszej wersji języka C# jest to, iż wszyscy, którzy chcą poznać jego możliwości, mogą skorzystać z dostępnego nieodpłatnie środowiska programistycznego Microsoft Visual Studio Express Edition.
Dzięki książce "C#. Ćwiczenia. Wydanie II" poznasz podstawy języka C# i nauczysz się korzystać ze środowiska Visual Studio Express. Dowiesz się, z jakich elementów składają się programy napisane w C# i na czym polega programowanie obiektowe. Przeczytasz o obsłudze wyjątków, projektowaniu okien dialogowych, przetwarzaniu danych i programowaniu sterowanym zdarzeniami. Wykonując kolejne ćwiczenia, poznasz zasady tworzenia aplikacji dla systemu Windows z wykorzystaniem komponentów platformy .NET.
* Obsługa środowiska Visual Studio Express
* Typy danych
* Operatory
* Instrukcje warunkowe i pętle
* Programowanie obiektowe
* Obsługa błędów
* Wyświetlanie okien w systemie Windows
* Korzystanie z komponentów platformy .NET
Rozpocznij przygodę z programowaniem.
Wszyscy zostaliśmy oszukani! Automatyczne zarządzanie pamięci rozwiąże wszystkie Wasze problemy, mówili. W zarządzanych środowiskach takich jak CLR JVM nie będzie wycieków pamięci, mówili! Właściwie pamięć jest tania i nie musisz się już nią nigdy więcej martwić. Wszyscy kłamali. Automatyczne zarządzanie pamięcią jest wygodną abstrakcją i bardzo często działa dobrze. Ale jak każda abstrakcja, wcześniej czy później "wycieka" ona. I to najczęściej w najmniej spodziewanym i przyjemnym momencie. W tej sesji spróbuję otworzyć oczy na fakt, że błoga nieświadomość nt. tej abstrakcji może być kosztowna. Pokażę jak może się objawić frywolne traktowanie pamięci i co możemy zyskać pisząc kod zdając sobie sprawę, że pamięć jednak nie jest nieskończona, tania i zawsze jednakowo szybka.
Testy obciążeniowe, tudzież load testy, są pojęciem, z którym prawdopodobnie każdy się spotkał i wie o co chodzi. Wystarczy wygenerować odpowiednio duży ruch na naszej stronie/aplikacji i obserwować wyniki. Ale czy na pewno to takie proste? Jak wygenerować ruch? Jak obserwować wyniki? I właściwie jakie wyniki? Czy mamy pewność, że nie popełniamy jakiegoś podstawowego błędu, przez który wyniki są ale... bezsensowne? I po co nam to wszystko? Na te i inne pytania odpowiemy sobie w trakcie prezentacji, dzięki której - mam nadzieję - load testy staną się Waszym nowym i bardziej świadomie używanym narzędziem.
22. 22
Timeline
Windows 2000
Windows Vista
Server 2003
Windows 7
Server 2008
Windows 8
Server 2012
2000 2007 2009 2012
Windows 10
2015
ETW ETW solidnie
rozwinięty
call-stack przy
każdym evencie
.NET 2.0
2005
Ulepszenia…
.NET 4.0
2010
ETW
dla CLR
.NET Core
2016
ETW
dla CoreCLR
39. 39
Przykładowe eventy
• Windows KernelProcessStart
• Windows KernelProcessEnd
• Windows KernelImageLoad – kiedy
ładowana jest DLLka
• Windows KernelTcpIpRecv – kiedy dociera
pakiet TCP/IP
• Windows KernelThreadCSwitch - kiedy
wątek dostaje albo traci dostęp do CPU
51. 53
Zalety:
• przyjemnie graficzny
• może posłużyć do tworzenia wykresów
Wady:
• nie wszystko da się narysować
• nie można podejrzeć stacktrace eventów
Witam wszystkich serdecznie i bardzo się cieszę, że tutaj dziś Wam opowiadam.
Nazywam się Konrad Kokosa i jestem .NET freelancerem I trenerem w swojej DG.
Co robicie gdy jest problem (błąd, wydajność, pamięć) na PRD albo na UAT
Pokażę Wam extra nardzędzie diagnostyczne – mam nadzieję, że nawet jak już coś o nim wiecie to Wam się przypomni jakie jest fajne
Linux dtrace
"in the field monitoring/diagnostic"
Linux dtrace
"in the field monitoring/diagnostic"
Linux dtrace
"in the field monitoring/diagnostic"
Linux dtrace
"in the field monitoring/diagnostic"
Linux dtrace
"in the field monitoring/diagnostic"
.NET Core
- Dla Linuxa LLTng
- PerfMon.exe i Performance Counters - NIE oparte o ETW
Cechą charakterystyczną ETW jest operowanie na poziomie providerów, a nie np. procesów.
Nie możemy włączyć logowania tylko calc.exe
CLR też ma zarejestrowany provider!
co oferuje dany PID
CLR też ma zarejestrowany provider!
co oferuje dany PID
Każdy event ETW oprócz unikalnej w ramach providera Id oraz Version posiada również kilka ważnych atrybutów:
- Keyword - słowo kluczowe, a tak naprawdę maska bitowa. Dzięki niej eventom może być przypisane jedno lub kilka znaczeń.
- Level - poziom logowania.
- Opcode - oznacza konkretną akcję (etap) w ramach danego eventu. Najczęściej używany wbudowanymi wartościami jest opcode Start oraz End.
- Task - służy do grupowania eventów w ramach providera w pewne zakresy funkcjonalności.
CLR też ma zarejestrowany provider!
co oferuje dany PID
CLR też ma zarejestrowany provider!
co oferuje dany PID
Windows Performance Recorder i Windows Performance Analyzer
Windows Performance Recorder i Windows Performance Analyzer
Windows Performance Recorder i Windows Performance Analyzer
- przede wszystkim pomyślane jako performance dla .NET (Vance Morrison, Visual Studio performance architect)
- Narzędzie to jest używane przez zespół Visual Studio w celu dbania o wydajność tego narzędzia. Jak również przez zespół .NET w celu dbania o wydajność samego frameworku
- Jest też napisany tak by rozpoczęcie pracy z nim było banalnie proste. Nie wymaga żadnej instalacji. Jest to po prostu pojedynczy plik wykonywalny - perfview.exe. Dzięki temu możemy go bez problemu użyć na dowolnym komputerze, również serwerach produkcyjnych.
Windows Performance Recorder i Windows Performance Analyzer
- przede wszystkim pomyślane jako performance dla .NET (Vance Morrison, Visual Studio performance architect)
- Narzędzie to jest używane przez zespół Visual Studio w celu dbania o wydajność tego narzędzia. Jak również przez zespół .NET w celu dbania o wydajność samego frameworku
- Jest też napisany tak by rozpoczęcie pracy z nim było banalnie proste. Nie wymaga żadnej instalacji. Jest to po prostu pojedynczy plik wykonywalny - perfview.exe. Dzięki temu możemy go bez problemu użyć na dowolnym komputerze, również serwerach produkcyjnych.
- posiada potężną pomoc, właściwe każda opcja i element GUI jest linkiem prowadzącym do dokumentacji
- przy konkretnym evencie Open Any Stack - pokazuje jego stackview
- automatycznie resolvuje symbole JITted kodu zarządzalnego
- oparty głównie na ETW ale również na:
- The ETWCLrProfiler dlls that allow PerfView intercept the .NET Method calls (see .NET Call in the collect dialog)
- posiada potężną pomoc, właściwe każda opcja i element GUI jest linkiem prowadzącym do dokumentacji
- przy konkretnym evencie Open Any Stack - pokazuje jego stackview
- automatycznie resolvuje symbole JITted kodu zarządzalnego
- oparty głównie na ETW ale również na:
- The ETWCLrProfiler dlls that allow PerfView intercept the .NET Method calls (see .NET Call in the collect dialog)
- posiada potężną pomoc, właściwe każda opcja i element GUI jest linkiem prowadzącym do dokumentacji
- przy konkretnym evencie Open Any Stack - pokazuje jego stackview
- automatycznie resolvuje symbole JITted kodu zarządzalnego
- oparty głównie na ETW ale również na:
- The ETWCLrProfiler dlls that allow PerfView intercept the .NET Method calls (see .NET Call in the collect dialog)
- posiada potężną pomoc, właściwe każda opcja i element GUI jest linkiem prowadzącym do dokumentacji
- przy konkretnym evencie Open Any Stack - pokazuje jego stackview
- automatycznie resolvuje symbole JITted kodu zarządzalnego
- oparty głównie na ETW ale również na:
- The ETWCLrProfiler dlls that allow PerfView intercept the .NET Method calls (see .NET Call in the collect dialog)
- posiada potężną pomoc, właściwe każda opcja i element GUI jest linkiem prowadzącym do dokumentacji
- przy konkretnym evencie Open Any Stack - pokazuje jego stackview
- automatycznie resolvuje symbole JITted kodu zarządzalnego
- oparty głównie na ETW ale również na:
- The ETWCLrProfiler dlls that allow PerfView intercept the .NET Method calls (see .NET Call in the collect dialog)
- posiada potężną pomoc, właściwe każda opcja i element GUI jest linkiem prowadzącym do dokumentacji
- przy konkretnym evencie Open Any Stack - pokazuje jego stackview
- automatycznie resolvuje symbole JITted kodu zarządzalnego
- oparty głównie na ETW ale również na:
- The ETWCLrProfiler dlls that allow PerfView intercept the .NET Method calls (see .NET Call in the collect dialog)
- posiada potężną pomoc, właściwe każda opcja i element GUI jest linkiem prowadzącym do dokumentacji
- przy konkretnym evencie Open Any Stack - pokazuje jego stackview
- automatycznie resolvuje symbole JITted kodu zarządzalnego
- oparty głównie na ETW ale również na:
- The ETWCLrProfiler dlls that allow PerfView intercept the .NET Method calls (see .NET Call in the collect dialog)
- przede wszystkim pomyślane jako performance dla .NET (Vance Morrison, Visual Studio performance architect)
- Narzędzie to jest używane przez zespół Visual Studio w celu dbania o wydajność tego narzędzia. Jak również przez zespół .NET w celu dbania o wydajność samego frameworku
- Jest też napisany tak by rozpoczęcie pracy z nim było banalnie proste. Nie wymaga żadnej instalacji. Jest to po prostu pojedynczy plik wykonywalny - perfview.exe. Dzięki temu możemy go bez problemu użyć na dowolnym komputerze, również serwerach produkcyjnych.
kiedyś - żmudne, trzeba było utworzyć plik manifestu, utworzyć z niego poprzez mc.exe kod, zarejestrować manualnie wevtutil.exe
- jedna z przyczyn zerowej popularności?
tworzy manifest automatycznie z kodu i załącza go do logu
tworzy manifest automatycznie z kodu i załącza go do logu
pokazać kod
pokazać PerfView logi - sam event jak i ManifestData
pokazać CPU Stack
tworzy manifest automatycznie z kodu i załącza go do logu
tworzy manifest automatycznie z kodu i załącza go do logu
tworzy manifest automatycznie z kodu i załącza go do logu
Zastrzelcie mnie pytaniami – najlepiej osobiście, żeby się wstydu nie najeść!