Поделиться через


События компиляции на уровне среды выполнения .NET

События, описанные в этой статье, собирают сведения о многоуровневой компиляции. Дополнительные сведения об использовании этих событий в целях диагностики см. в статье Ведение журнала и трассировка в приложениях .NET.

Событие TieredCompilation Параметры

В таблице ниже показаны ключевое слово и уровень.

Ключевое слово для вызова события Уровень
CompilationKeyword (0x1000000000) Информационный (4)

В таблице ниже представлены сведения о событии.

Событие Идентификатор события Условие вызова
TieredCompilationSettings 280 Предоставляет сведения о параметрах многоуровневой компиляции.

В таблице ниже представлены данные события.

Имя поля Тип данных Description
ClrInstanceID win:UInt16 Уникальный идентификатор для экземпляра CoreCLR.
Flags win:UInt32 Флаги, указывающие различные параметры. Несколько флагов могут быть предоставлены битовой или значением 0x0 , указывающее, что флаги не были предоставлены.

0x1 — Включен быстрый JIT-файл. Если у метода нет предварительно скомпилированного кода, для первого уровня он будет скомпилирован JIT-скомпилирован быстро, но с меньшим количеством оптимизаций.

0x2 — Быстрый JIT-код включен для методов, содержащих циклы.

0x4 — Включен многоуровневый PGO. Методы могут быть профилированы до их оптимизации.

0x8 — ReadyToRun включен. Методы, которые предварительно компилировали код ReadyToRun, будут использовать его для первого уровня.

Событие TieredCompilationPause

В таблице ниже показаны ключевое слово и уровень.

Ключевое слово для вызова события Уровень
CompilationKeyword (0x1000000000) Информационный (4)

В таблице ниже представлены сведения о событии.

Событие Идентификатор события Условие вызова
TieredCompilationPause 281 Многоуровневая компиляция была приостановлена. Многоуровневая компиляция может быть приостановлена из-за действий, связанных с запуском, таких как новый метод, вызываемый в первый раз, чтобы снизить затраты во время запуска приложения, такие как подсчет вызовов и фоновая JIT-компиляция. Он возобновляется после того, как действия, подобные запуску, прекращаются в течение короткого времени.

В таблице ниже представлены данные события.

Имя поля Тип данных Description
ClrInstanceID win:UInt16 Уникальный идентификатор для экземпляра CoreCLR.

Событие TieredCompilationResume

В таблице ниже показаны ключевое слово и уровень.

Ключевое слово для вызова события Уровень
CompilationKeyword (0x1000000000) Информационный (4)

В таблице ниже представлены сведения о событии.

Событие Идентификатор события Условие вызова
TieredCompilationResume 282 Многоуровневая компиляция была возобновлена.

В таблице ниже представлены данные события.

Имя поля Тип данных Description
ClrInstanceID win:UInt16 Уникальный идентификатор для экземпляра CoreCLR.
NewMethodCount win:UInt32 Число новых методов, вызываемых в первый раз при приостановке многоуровневой компиляции.

Событие TieredCompilationBackgroundJitStart

В таблице ниже показаны ключевое слово и уровень.

Ключевое слово для вызова события Уровень
CompilationKeyword (0x1000000000) Информационный (4)

В таблице ниже представлены сведения о событии.

Событие Идентификатор события Условие вызова
TieredCompilationBackgroundJitStart 283 Запущена фоновая компиляция JIT.

В таблице ниже представлены данные события.

Имя поля Тип данных Description
ClrInstanceID win:UInt16 Уникальный идентификатор для экземпляра CoreCLR.
PendingMethodCount win:UInt32 Количество методов, ожидающих фоновой JIT-компиляции.

Событие TieredCompilationBackgroundJitStop

В таблице ниже показаны ключевое слово и уровень.

Ключевое слово для вызова события Уровень
CompilationKeyword (0x1000000000) Информационный (4)

В таблице ниже представлены сведения о событии.

Событие Идентификатор события Условие вызова
TieredCompilationBackgroundJitStop 284 Фоновая JIT-компиляция остановлена.

В таблице ниже представлены данные события.

Имя поля Тип данных Description
ClrInstanceID win:UInt16 Уникальный идентификатор для экземпляра CoreCLR.
PendingMethodCount win:UInt32 Количество методов, по-прежнему ожидающих фоновой JIT-компиляции.
JittedMethodCount win:UInt32 Количество методов, скомпилированных в фоновом режиме с момента последнего запуска фоновой JIT-компиляции.