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


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

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

Событие TieredCompilationSettings

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

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

В следующей таблице показаны сведения о событии.

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

В следующей таблице показаны данные события.

Имя поля Тип данных Описание
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-компиляция. Он возобновляется после того, как действия, подобные запуску, прекращаются в течение короткого времени.

В следующей таблице показаны данные события.

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

Событие TieredCompilationResume

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

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

В следующей таблице показаны сведения о событии.

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

В следующей таблице показаны данные события.

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

Событие TieredCompilationBackgroundJitStart

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

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

В следующей таблице показаны сведения о событии.

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

В следующей таблице показаны данные события.

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

Событие TieredCompilationBackgroundJitStop

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

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

В следующей таблице показаны сведения о событии.

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

В следующей таблице показаны данные события.

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