Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tej sekcji opisano nowe funkcje dodane do liczników wydajności dla każdej wersji.
Windows 10 20H1
Jeśli odczytujesz dane wydajności bezpośrednio z rejestru , możesz teraz wykonać kolekcję tylko metadanych, aby uniknąć niepotrzebnej pracy podczas tworzenia listy dostępnych obiektów wydajności i liczników. Jeśli używasz MetadataGlobal zamiast Global w zapytaniu, wszystkie biblioteki DLL dostawcy z obsługą metadanych pominą krok zbierania danych, co może potencjalnie poprawić wydajność zapytań w systemach z wieloma procesami lub wątkami. Biblioteki DLL dostawcy, które nie są wyposażone w obsługę metadanych, będą nadal działać jak dotychczas.
Jeśli udostępniasz dane dotyczące wydajności przy użyciu biblioteki DLL , możesz zaimplementować obsługę zbierania wyłącznie metadanych, aby uniknąć niepotrzebnego zbierania danych. Zaktualizuj funkcję Collect, aby reagowała na zapytania MetadataGlobal i MetadataCostly przy użyciu tylko metadanych (użyj PERF_METADATA_NO_INSTANCES lub PERF_METADATA_MULTIPLE_INSTANCES dla NumInstances i pomiń wszystkie bloki PERF_INSTANCE_DEFINITION z odpowiedzi), a następnie dodaj wartość rejestru Collect Supports Metadata z wartością REG_DWORD 1 do podklucza Performance usługi.
Windows 7 i Windows Server 2008 R2
Narzędzie CTRPP zostało zmienione w celu ulepszenia i uproszczenia generowania kodu. Narzędzie generuje teraz tylko nagłówek i plik zasobu. Jeśli chcesz używać starego zachowania generowania kodu (niezalecane), możesz użyć nowego argumentu -legacy.
- Teraz należy określić nowe
-oi-rcargumenty, które określają odpowiednio nazwę i lokalizację nagłówka i pliku zasobu. - Możesz użyć opcjonalnego nowego argumentu
-prefix, aby określić ciąg, który ma zostać dodany na początku zmiennych globalnych i funkcji zdefiniowanych w wygenerowanym pliku nagłówka. - Jeśli musisz zaktualizować manifest liczników, użycie nowej generacji kodu eliminuje konieczność scalenia poprzedniej implementacji wywołania zwrotnego z nowym wygenerowanym kodem, ponieważ wywołania zwrotne nie są już uwzględniane w wygenerowany kod.
Nowy atrybut symbol jest dostępny dla następujących elementów manifestu:
Atrybut symbol jest wymagany dla dostawcy i counterSeti jest opcjonalny dla licznika. Atrybut umożliwia podanie symbolicznej nazwy, której można użyć do odwołowania się do każdego elementu podczas wywoływania funkcji dostawcy (na przykład można użyć nazwy symbolicznej zestawu liczników podczas wywoływania PerfCreateInstance).
Windows Vista
Architektura liczników wydajności, mająca na celu dostarczenie danych liczników, została całkowicie zmieniona w tej edycji.
Wcześniej użyto pliku INI do zdefiniowania danych licznika i zaimplementowano bibliotekę DLL wydajności, która została uruchomiona w procesie odbiorcy w celu dostarczenia danych, gdy użytkownik zażądał. Ta architektura jest przestarzała i nie jest zalecana w przypadku nowego kodu z powodu znaczących problemów z wydajnością i niezawodnością.
Nowa architektura używa manifestu do definiowania danych licznika i uruchamiania kodu w procesie dostawcy w celu dostarczenia danych, gdy odbiorca zażąda go. Aby uzyskać dodatkowe informacje, zobacz Dostarczanie danych licznika przy użyciu Wersji 2.0.
W tej wersji dodano następujące funkcje:
- ControlCallback
- PerfCreateInstance
- PerfDeleteInstance
- PerfQueryInstance
- PerfSetCounterSetInfo
- PerfSetULongCounterValue
- PerfSetULongLongCounterValue
- PerfSetCounterRefValue
- PerfStartProvider
- PerfStopProvider
W tej wersji dodano następujące struktury:
Aby uzyskać listę elementów XML używanych w manifeście do definiowania liczników, zobacz Schemat liczników wydajności.
Aby uzyskać informacje na temat narzędzia przetwarzania wstępnego CTRPP, które analizuje manifest i generuje kod używany jako punkt startowy dla dostawcy, zobacz CTRPP.