System diagnostics card что это
Антитела IgG к RBD домену S 1 белка коронавируса SARS-Cov2 (Abbott, США), колич.
По распоряжению органов Роспотребнадзора при сдаче теста на антитела к коронавирусу требуется обязательное предоставление данных паспорта/ свидетельства о рождении, адреса места проживания и контактного телефона, в качестве дополнительных идентификаторов могут использоваться номер полиса ОМС и номер СНИЛС.
Анализ на антитела IgG к RBD домену позволяет определить уровень иммунитета в виде количества антител после перенесенной инфекции COVID и после вакцинации.
SARS-CoV2 имеет 4 структурных белка:
Каждый белок отвечает за определенные функции. При помощи RBD домена в составе S-белка вирус прикрепляется к конкретным рецепторам клеток и обеспечивает заражение. В ответ на инфицирование иммунная система вырабатывает антитела – иммуноглобулины (Ig). Иммуноглобулины класса IgG появляются через 2-4 недели после заражения SARS-CoV2 и циркулируют, как минимум, несколько месяцев. Есть пациенты, у которых антитела обнаруживаются в значительном количестве в течение года и более. Уровень антител к Ковид и длительность их циркуляции в крови зависит от особенностей работы иммунной системы. Многие вакцины, в частности «Спутник-V», направлены на формирование иммунного ответа к S1 – белку вируса и его RBD домену.
В каких случаях назначают исследование антител IgG к RBD домену S1 белка коронавируса SARS-Cov2?
Как выполняется исследование?
Метод ИХЛА (иммунохемилюминисцентный анализ, модификация ИФА)
Что означают результаты теста?
Результат выдается в международных единицах на мл ( BAU/ml), количественный формат позволяет следить за изменением уровня антител с течением времени. Для повторных исследований нужно делать один и тот же тест в одной и той же лаборатории, чтобы было можно сравнивать результаты.
Результаты исследования следует оценивать в комплексе с клиническими данными и результатами других методов обследования.
Референсные значения:
Исследование выполняется методом ИХЛА (модификация ИФА) на тест-системах «ARCHITECT SARS-CoV-2 IgG II Quant», Abbott.
Выявление антител класса IgG к RBD домену S 1 белка коронавируса SARS-Cov2 (защитные антитела) свидетельствует о перенесённой ранее инфекции, вызванной коронавирусом SARS-CoV-2, или об образовании защитных антител в результате вакцинации.
Установлен коэффициент пересчета: полученный результат в BAU/мл = 0,142хAU/мл, где AU/мл – значение, полученное е в результате приборного измерения пробы на платформе Abbott, тест-система SARS-CoV-2 IgG II.
Не существует международных стандартов, устанавливающих порог защитного уровня антител. Уровень антител после перенесенного COVID снижается в среднем в течение 2-6 месяцев, длительность циркуляции точно неизвестна, зависит от индивидуальных особенностей иммунитета.
Из какого теста: зачем проверять антитела и как делать это правильно
Для чего сдают тесты на антитела?
Тесты выполняются на наличие антител (иммуноглобулинов) IgA, IgM и IgG.
— Антитела IgG начинают вырабатываться примерно через 10-14 дней после появления симптомов. Их появление указывает на то, что у человека сформировался долговременный иммунитет. То есть речь идет либо о поздней фазе заболевания, когда больной уже выздоравливает, либо о том, что человек переболел COVID-19 раньше.
Какой тест можно сделать перед прививкой?
Сейчас тесты на антитела IgG чаще всего выполняют люди, которые собираются пройти вакцинацию, чтобы убедиться, что они не перенесли COVID-19 раньше бессимптомно и у них нет иммунитета, полученного естественным путем. Если тест показывает положительный титр антител IgG, вакцинацию можно отложить.
А если человек хочет проверить уровень антител после прививки? Сейчас многие сравнивают свои показатели.
Надо понимать, что тесты, которые используют в лабораториях, разные и шкалы у них используются тоже разные. Поэтому если пытаться сравнивать результаты (хотя большого смысла в этом нет), то надо по меньшей мере быть уверенным, что вы выполняли тестирование одним и тем же тестом.
Что такое «коэффициент позитивности»?
При этом еще раз отмечу, что у других производителей тестов шкала может быть другой и показатели, соответственно, тоже. При этом, получая результат теста в лаборатории, вы всегда можете увидеть на бланке референсные значения и сравнить результат с ними.
Каким тестом можно проверить поствакцинальный иммунитет?
Такой тест называется «Количественное определение антител к RBD домену S1 белка коронавируса (антитела IgG)» (выполняется методом хемилюминесцентного иммуноанализа сыворотки и плазмы крови, Abbot).
Это количественный анализ на IgG-антитела. Он поможет оценить иммунный ответ и в случае заражения (или перенесенного COVID-19), и для контроля поствакцинального иммунитета.
Когда делать:
— на текущую или перенесенную инфекцию не ранее чем через три недели после появления симптомов или получения положительного результата ПЦР-теста;
— для оценки поствакцинального иммунитета через три недели после второй дозы вакцины.
О чем говорят результаты:
Для чего нужно сдавать ПЦР-тест на COVID-19?
Этот тест сдается, чтобы проверить, болен ли человек или, возможно, является носителем вируса (даже если у него нет никаких симптомов нездоровья), выделяет ли он в настоящий момент вирус из верхних дыхательных путей, то есть является источником инфекции для окружающих.
Это единственный и ставший уже стандартным тест для туристов: при въезде практически все страны требуют предъявить справку о тесте, сданном перед отъездом. После возвращения из поездки тест придется сдать еще дважды и результат загрузить на портал госуслуг.
Кроме того, можно сдать ПЦР-тест, чтобы убедиться, что вы здоровы, то есть исключить бессимптомное течение заболевания. Это может понадобиться, если, например, вам предстоит встреча с пожилыми родственниками и вы не хотите рисковать их здоровьем. Кроме того, с помощью такого тестирования можно проверить, не заразились ли вы коронавирусом, если вы точно знаете, что контактировали с заболевшим.
Как правильно сдавать тесты?
Для теста ПЦР: берется мазок биоматериала со слизистой носоглотки. Анализ сдается натощак либо через три часа (или позже) после еды. За три часа до взятия мазка нельзя чистить зубы, полоскать рот, пить, жевать жевательную резинку, применять антисептические таблетки, полоскания и спреи.
Для теста на антитела: берется кровь из вены. Сдавать кровь нужно натощак утром или днем не менее чем через четыре часа после последнего приема пищи.
DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписываться на эти события и обрабатывать их.
Каждое такое событие содержит дополнительную информацию (payload), а поскольку обработка событий происходит в том же процессе, что и отправка, эта информация может содержать практически любые объекты без необходимости сериализации/десереализации.
Пример
Чтобы лучше понять, как работает DiagnosticSource, рассмотрим небольшой пример c перехватом запросов к базе данных. Представим, что у нас есть простое консольное приложение, которое делает запрос в базу данных и выводит полученный результат в консоль.
Для простоты я поднял SQL Server в docker контейнере.
Теперь представим, что у нас есть задача: нужно измерить время выполнения всех запросов в базу данных с помощью Stopwatch и вывести в консоль пары «Запрос» — «Время выполнения».
Попробуем решить эту задачу с использованием DiagnosticSource.
Использование NuGet пакета System.Diagnostics.DiagnosticSource
Первое, что нужно сделать после подключения NuGet пакета System.Diagnostics.DiagnosticSource — создать класс, который будет обрабатывать интересующие нас события:
Для того, чтобы начать обрабатывать события, нужно создать экземпляр данного класса и зарегистрировать его наблюдателем в статическом объекте DiagnosticListener.AllListeners (находится в пространстве имён System.Diagnostics ). Сделаем это в самом начале функции Main :
Если мы сейчас запустим этот код, то увидим, что в консоль будет выведено следующее:
Давайте реализуем IObserver ещё раз:
Если мы теперь запустим полученный код, то в консоль будет выведено примерно следующее:
Всего мы увидим шесть событий. Два из них выполняются до и после открытия подключения к базе данных, два — до и после выполнения команды и ещё два — до и после закрытия подключения к базе данных.
Теперь у нас всё готово, чтобы решить изначальную задачу — измерить время выполнения всех запросов в базу данных и вывести его в консоль вместе с исходным запросом.
Изменим реализацию метода Write следующим образом:
Если мы теперь запустим полученный код, то в консоль будет выведено примерно следующее:
Казалось бы, что мы уже решили нашу задачу, но осталась одна маленькая деталь. Дело в том, что когда мы подписываемся на события DiagnosticListener мы начинаем получать от него даже те события, которые нам не интересны, а поскольку при отправке каждого события создаётся анонимный объект с параметрами, это может создавать лишнюю нагрузку на GC.
Использование NuGet пакета Microsoft.Extensions.DiagnosticAdapter
Если мы перепишем наш класс ExampleDiagnosticObserver с использованием данного NuGet пакета, то получим следующий код:
Таким образом мы теперь можем измерить время выполнения всех запросов в базу данных из нашего приложения, практически не изменяя при этом код самого приложения.
Создание собственных экземпляров DiagnosticListener
При использовании DiagnosticSource на практике вы в большинстве случаев будете подписываться на уже существующие события. Создавать собственные экземпляры DiagnosticListener и отправлять собственные события вам скорее всего не придётся (только если вы не разрабатываете какую-нибудь библиотеку), поэтому я не буду долго останавливаться на этом разделе.
Для создания собственного экземпляра DiagnosticListener вам необходимо будет объявить его как статическую переменную где-то в коде:
После этого для отправки события можно использовать конструкцию вида:
Более подробную информацию о создании собственных экземпляров DiagnosticListener можно найти в DiagnosticSource User’s Guide, где подробно описаны Best Practices по использованию DiagnosticSource.
Заключение
Пример, который мы рассмотрели, безусловно, очень абстрактный и вряд ли пригодится в реальном проекте. Но он отлично показывает, как этот механизм можно использовать для мониторинга и диагностики ваших приложений.
В следующей статье я приведу список известных мне событий, которые могут быть обработаны через DiagnosticSource, и покажу несколько практических примеров его использования.
System. Diagnostics. Code Analysis Пространство имен
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Содержит классы для взаимодействия с инструментами для анализа кода. Средства анализа кода применяются для анализа кода на соответствие соглашениям о его написании, в частности правилам именования и безопасности.
Классы
Указывает, что значение null допускается в качестве входных данных, даже если соответствующий тип запрещает его.
Указывает, что значение null не допускается в качестве входных данных, даже если соответствующий тип допускает его.
Указывает, что метод не возвращает управление ни при каких обстоятельствах.
Указывает, что метод не вернет значение, если связанный параметр Boolean будет передан с заданным значением.
Указывает, что определенные элементы в указанном Type доступны динамически, например, с помощью System.Reflection.
Указывает зависимость одного элемента от другого.
Указывает на то, что код с атрибутами следует исключить из данных о покрытии кода.
Указывает, что метод или свойство должны проверить, что указанные элементы полей и свойств содержат значения, отличные от NULL, при возврате с указанным условием возвращаемого значения.
Указывает, что выходные данные не могут иметь значение NULL, если значение именованного параметра отлично от NULL.
Указывает, что указанный элемент требует, чтобы файлы сборки были на диске.
Указывает, что указанный метод требует динамического доступа к коду, на который нет статических ссылок, например, с помощью System.Reflection.
Подавляет создание отчетов о нарушении определенного правила анализа кода, допуская применение нескольких операций подавления к одному артефакту кода. Не применяется к диагностике компилятора.
Подавляет создание отчетов о нарушении определенного правила, допуская применение нескольких операций подавления к одному артефакту кода.
Перечисления
Указывает типы элементов, к которым обращаются динамически. Это перечисление имеет атрибут FlagsAttribute, который позволяет составлять побитовые сочетания значений его элементов.
System. Diagnostics Пространство имен
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет классы, позволяющие осуществлять взаимодействие с системными процессами, журналами событий и счетчиками производительности.
Классы
Представляет операцию с контекстом, который необходимо использовать для записи в журнал.
Позволяет прослушивать события действий запуска и остановки и принимать решения о создании действия для сценариев выборки.
Предоставляет API-интерфейсы для создания и запуска объектов Activity и регистрации объектов ActivityListener для прослушивания событий Activity.
ActivityTagsCollection — это класс коллекции, используемый для хранения тегов трассировки.
Эта коллекция будет использоваться с такими классами, как ActivityEvent и ActivityLink.
Предоставляет простой выключатель, управляющий результатами отладки и трассировки.
Указывает компиляторам, что вызов метода или атрибут следует игнорировать, если не определен заданный символ условной компиляции.
Направляет вывод отладки и трассировки в стандартный поток вывода или стандартный поток сообщений об ошибках.
Устанавливает корреляцию между трассировками, являющимися частью логической транзакции.
Определяет тип настраиваемого счетчика, его имя и строку справки.
Предоставляет строго типизированную коллекцию объектов CounterCreationData.
Содержит набор служебных функций для обработки данных счетчика производительности.
Предоставляет набор методов и свойств, помогающих при отладке кода.
Изменяет генерацию кода для JIT-отладки во время выполнения. Этот класс не наследуется.
Разрешает взаимодействие с отладчиком. Этот класс не наследуется.
Определяет наличие и способ отображения членов в окнах переменных отладчика. Этот класс не наследуется.
Определяет, как класс или поле отображается в окнах переменных отладчика.
Задает DebuggerHiddenAttribute. Этот класс не наследуется.
Определяет тип или член, который не является частью пользовательского кода для приложения.
Указывает код, следующий за атрибутом, который должен выполняться в режиме выполнения, а не в пошаговом режиме.
Отдает отладчику указание о сквозной обработке кода (вместо обработки изнутри). Этот класс не наследуется.
Указывает прокси-тип отображения для типа.
Указывает, что у типа есть визуализатор. Этот класс не наследуется.
Предоставляет методы вывода по умолчанию и поведение для трассировки.
Направляет выходные данные трассировки или отладки в модуль записи текста, такой как модуль записи в поток или в поток, такой как файловый поток.
Предоставляет реализацию абстрактного класса DiagnosticSource, которые представляет именованное место, куда источник отправляет данные (события).
Обрабатывает раздел диагностики файла конфигурации.
Абстрактный класс, позволяющий инструментировать код для ведения журнала расширенных полезных данных во время производства, которые будут использоваться в инструментированном процессе.
Реализация DistributedContextPropagator определяет, будет ли и как распределенная информация о контексте кодироваться и декодироваться при прохождении по сети. Кодировку можно переносить по любому сетевому протоколу, поддерживающему строки пар «ключ-значение». Например, при использовании HTTP каждая пара «ключ-значение» является HTTP-заголовком. DistributedContextPropagator внедряет значения в и извлекает значения из перевозчиков в виде строковых пар «ключ-значение».
Предоставляет данные для события EntryWritten.
Представляет не зависящие от языка сведения для записи журнала событий.
Обеспечивает взаимодействие с журналами событий Windows.
Инкапсулирует единичную запись в журнале событий. Этот класс не наследуется.
Определяет размер и перечислители для коллекции экземпляров EventLogEntry.
Позволяет устанавливать и настраивать журнал событий, используемый для считывания и записи данных при запуске приложения.
Управляет разрешениями на доступ к коду для записи событий в журнал.
Позволяет производить декларативные проверки разрешений для ведения журнала событий.
Определяет наименьшую единицу разрешения на управление доступом для кода, заданную для объекта EventLog.
Содержит строго типизированную коллекцию объектов EventLogPermissionEntry.
Предоставляет простой прослушиватель, который направляет вывод отладки или трассировки в журнал EventLog.
Направляет результаты трассировки или отладки сквозных событий в совместимый со схемой файл журнала в XML-представлении.
Представляет параметры конфигурации, использованные для создания источника журнала на локальном или удаленном компьютере.
Определяет по типу события, должен ли прослушиватель осуществлять трассировку.
Содержит сведения о версии физического файла на диске.
Содержит данные экземпляра, связанные с образцом счетчика производительности.
Предоставляет строго типизированную коллекцию объектов InstanceData.
Предоставляет строго типизированную коллекцию объектов InstanceDataCollection.
Задает описание для свойства или события.
Представляет компонент счетчика производительности Windows NT.
Представляет объект производительности, который определяет категорию счетчиков производительности.
Подготавливает данные о производительности для библиотеки performance.dll, которая загружается системой при работе со счетчиками производительности.
Позволяет контролировать разрешения на доступ к коду для счетчика PerformanceCounter.
Позволяет проводить декларативные проверки разрешения счетчика производительности.
Определяет наименьшую единицу разрешения системы управления доступом для кода, заданного для объекта PerformanceCounter.
Содержит строго типизированную коллекцию объектов PerformanceCounterPermissionEntry.
Обеспечивает поддержку трассировки отладки, специально предназначенной для приложений Windows Presentation Foundation (WPF).
Предоставляет доступ к локальным и удаленным процессам и позволяет запускать и останавливать локальные системные процессы.
Представляет DLL- или EXE-файл, который загружается в определенный процесс.
Предоставляет строго типизированную коллекцию объектов ProcessModule.
Задает набор значений, используемых при запуске процесса.
Представляет поток процесса операционной системы.
Предоставляет строго типизированную коллекцию объектов ProcessThread.
Указывает, должны ли прослушиватели осуществлять трассировку сообщений на основе источника трассировки.
Предоставляет многоуровневый переключатель для управления выводом трассировки и отладки без повторной компиляции кода.
Предоставляет сведения об объекте StackFrame, который представляет вызов функции в стеке вызовов для текущего потока.
Предоставляет методы расширения для класса StackFrame, который представляет вызов функции в стеке вызовов для текущего потока.
Представляет трассировку стека — упорядоченный набор из одного или нескольких кадров стека.
Типы и методы с атрибутом Стакктрацехидден будут опущены из текста трассировки стека, показанного в StackTrace. ToString () и Exception. StackTrace
Предоставляет набор методов и свойств, которые можно использовать для точного измерения затраченного времени.
Предоставляет абстрактный базовый класс для создания новых переключателей отладки и трассировки.
Идентифицирует переключатель, используемый в сборке, классе или члене.
Идентифицирует тип уровня переключателя.
Направляет вывод отладки или трассировки в TextWriter или в Stream, например, FileStream.
Предоставляет набор методов и свойств, используемых при трассировке выполнения кода. Этот класс не наследуется.
Предоставляет данные событий трассировки специфичные для потока и процесса.
Представляет базовый класс для реализаций фильтров трассировки.
Предоставляет abstract базовый класс для прослушивателей, осуществляющих мониторинг вывода трассировочной и отладочной информации.
Предоставляет потокобезопасный список объектов TraceListener.
Предоставляет набор методов и свойств, которые позволяют приложениям делать трассировку выполнения кода и связывать сообщения трассировки с их источником.
Предоставляет многоуровневый переключатель для управления выводом трассировки и отладки без повторной компиляции кода.
Предоставляет не являющиеся escape-последовательностью XML-данные для внесения в журнал предоставленных пользователем данных трассировки.
Направляет выходные данные отладки или трассировки в виде закодированных XML-данных в TextWriter или в Stream, например, FileStream.
Структуры
Представление, соответствующее спецификации W3C TraceContext. Оно содержит два идентификатора, TraceId и SpanId, а также набор стандартных флагов трассировки и значений TraceState, относящихся к системе.
Инкапсулирует всю информацию, отправленную в прослушиватель действия, для принятия решений о создании экземпляра действия, а также его состоянии.
Возможные параметры универсального типа: ActivityContext и String.
Представляет событие, которое содержит имя и метку времени, а также необязательный список тегов.
Действия могут быть не связаны с экземплярами контекста действия, которые связаны причинно-следственной связью, или связаны с несколькими из них.
Ссылки на действия могут указывать на контексты действий в одной или разных трассировках.
Ссылки на действия можно использовать для представления пакетных операций, в которых действие инициировано несколькими инициирующими действиями, каждое из которых представляет один входящий элемент, обрабатываемый в пакете.
Представляет идентификатор SpanId, формат которого соответствует стандарту консорциума W3C.
Представляет идентификатор TraceId, формат которого соответствует стандарту консорциума W3C.
Определяет структуру, содержащую необработанные данные для счетчика производительности.
Представляет список тегов, к которым можно получить доступ по индексу. Поддерживает методы для поиска по списку, выполнения сортировки и других операций со списками.
Перечислитель для обхода коллекции списка тегов.
Интерфейсы
Подготавливает данные о производительности для библиотеки производительности DLL, которая загружается системой при работе со счетчиками производительности.
Перечисления
Задает формат свойства Id.
Описывает связь между действием, а также его родительскими и дочерними элементами в трассировке.
Значения перечисления, используемые ActivityListener для указания объема данных, который требуется собрать для связанного Activity. Запрос дополнительного объема данных приведет к снижению производительности.
Определите код состояния действия, который указывает состояние инструментированной операции.
Указывает связанные с действием флаги, определяемые стандартом W3C.
Задает режим отладки для JIT-компилятора.
Предоставляет инструкции по отображению для отладчика.
Указывает тип события в записи журнала событий.
Определяет уровни доступа, используемые классами разрешений EventLog.
Задает способ обработки записей в журнале событий, размер файла которого достиг максимально допустимой величины.
Указывает, может ли категория счетчиков производительности иметь несколько экземпляров.
Задает время существования экземпляра счетчика производительности.
Определяет уровни доступа, используемые классами разрешений PerformanceCounter.
Позволяет указать типы счетчиков производительности, которые напрямую сопоставляются с собственными типами.
Описывает уровень детализации для трассировки конкретного объекта.
Указывает приоритет, который система связывает с процессом. Это значение вместе со значением приоритета каждого потока процесса определяет базовый уровень приоритета каждого потока.
Указано, каким образом должно выглядеть новое окно при запуске процесса системой.
Задает уровни сообщений трассировки, фильтруемых переключателем источника и фильтром типов событий.
Задает уровень приоритета потока.
Задает текущее состояние выполнения потока.
Указывает причину, по которой поток находится в состоянии ожидания.
Идентифицирует тип события, ставшего причиной трассировки.
Указывает, какие сообщения должны выводиться для классов Debug, Trace и TraceSwitch.
Задает структуру файла, которая будет использоваться для журнала EventSchemaTraceListener.
Задает параметры данных трассировки, записываемые в выходные данные трассировки.
Делегаты
Предоставляет метод, обрабатывающий событие OutputDataReceived или событие ErrorDataReceived объекта Process.
Представляет метод обратного вызова, который используется в методах Extract для распространения. Обратный вызов вызывается для поиска значения именованного поля.
Представляет метод обратного вызова, используемый в методах вставки методов распространения. Этот обратный вызов вызывается для задания значения именованного поля. Распространители могут вызывать его несколько раз, чтобы задать несколько полей.
Представляет метод, обрабатывающий событие EntryWrittenEventLog.
Делегат, определяющий сигнатуру обратных вызовов ActivityListener, используемых в процессе выборки.
Комментарии
ProcessКласс предоставляет функциональные возможности для мониторинга системных процессов по сети, а также для запуска и завершения процессов локальной системы. Помимо получения списков запущенных процессов (с указанием компьютера, имени процесса или идентификатора процесса) или просмотра сведений о процессе, который в настоящее время имеет доступ к процессору, вы можете получить подробные сведения о потоках и модулях процесса с помощью Process самого класса, а также путем взаимодействия с ProcessThread ProcessModule классами и. ProcessStartInfoКласс позволяет указать различные элементы, с помощью которых будет запущен новый процесс, например входные данные, выходные данные и потоки ошибок, рабочие каталоги, команды и аргументы командной строки. Они позволяют точно контролировать поведение процессов. Другие связанные классы позволяют задавать стили окон, приоритеты процессов и потоков, а также взаимодействовать с коллекциями потоков и модулей.
PerformanceCounterКласс позволяет отслеживать производительность системы, в то время как PerformanceCounterCategory класс предоставляет способ создания новых пользовательских счетчиков и категорий. Можно выполнять запись в локальные счетчики и считывать как локальные, так и удаленные счетчики (системные и настраиваемые). Вы можете выполнять выборку счетчиков с помощью PerformanceCounter класса и вычислять результаты из последовательных образцов счетчиков производительности с помощью CounterSample класса. CounterCreationDataКласс позволяет создать несколько счетчиков в категории и указать их типы. Другие классы, связанные с компонентом счетчика производительности, предоставляют доступ к коллекциям счетчиков, разрешению счетчиков и типам счетчиков.