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


Пример 4. Обновление сеанса трассировки

Во время выполнения сеанса трассировки можно обновить следующие свойства сеанса трассировки в режиме реального времени или сеанса трассировки.

  • Преобразование сеанса трассировки в сеанс журнала трассировки в режиме реального времени (с помощью -f).

  • Создайте новый журнал трассировки для существующего сеанса журнала трассировки (с помощью -f).

  • Добавление доставки сообщений трассировки в режиме реального времени в существующий сеанс журнала трассировки (с помощью -rt).

  • Измените максимальное количество буферов (с помощью -max), но не минимальное количество буферов.

  • Измените интервал времени очистки (с помощью -ft).

  • Очистка буферов трассировки (с помощью -трассировки -flush).

Команду tracelog -update нельзя использовать для изменения флагов и уровня поставщика трассировки. Вместо этого используйте команду tracelog -enable , как показано в примере 5. Включение поставщиков трассировки.

Параметры -rt и -f работают по-разному в команде tracelog -update . Параметр -rt добавляет доставку сообщений в режиме реального времени в сеанс журнала трассировки. В результате новые сообщения трассировки отправляются непосредственно потребителю трассировки и журналу трассировки. Однако перед добавлением доставки сообщений в режиме реального времени в сеанс журнала трассировки буферы необходимо очистить с помощью команды tracelog -flush . Если параметр -f используется для обновления сеанса трассировки в режиме реального времени, он заменяет доставку сообщений в режиме реального времени доставкой в журнал трассировки. В результате новые сообщения трассировки отправляются только в журнал трассировки; они больше не отправляются непосредственно потребителю трассировки.

Следующая команда изменяет сеанс трассировки в режиме реального времени с именем MyTrace на сеанс журнала трассировки. Команда использует параметр -f , чтобы указать расположение файла журнала, C:\tracing\MyTrace.etl. Он также использует параметр -max со значением 35 , чтобы увеличить максимальное число буферов до 35.

tracelog -update MyTrace -f c:\tracing\mytrace.etl -max 35

В ответ трассировка отображает свойства сеанса трассировки, включая свойства, которые только что были изменены.

В результате этой команды все новые сообщения трассировки, созданные поставщиком, и все сообщения трассировки, хранящиеся в буфере при отправке команды, записываются только в файл журнала. Они больше не отправляются непосредственно потребителю трассировки, как в сеансе трассировки в режиме реального времени.

Чтобы добавить журнал трассировки в сеанс трассировки в режиме реального времени, чтобы сообщения трассировки отправляются потребителю трассировки и в журнал трассировки, включают параметры -rt и -f , как показано в следующей команде.

tracelog -update MyTrace -rt -f c:\tracing\mytrace.etl -max 35

Вы также можете очистить буферы трассировки во время выполнения сеанса. Это принудительный сброс, который не согласован с таймером очистки. Система снова сбрасывает буферы, когда истекает срок действия таймера очистки и когда сеанс трассировки останавливается.

Чтобы очистить буферы существующего сеанса трассировки, используйте параметр -flush , как показано в следующем примере. Параметр -flush не является подпараметром команды tracelog -update .

tracelog -flush MyTrace

В ответ трассировка отображает измененные свойства сеанса трассировки.