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


Import-Counter

Импортирует файлы журнала счетчиков производительности и создает объекты, представляющие каждый пример счетчика в журнале.

Синтаксис

Import-Counter
      [-Path] <String[]>
      [-StartTime <DateTime>]
      [-EndTime <DateTime>]
      [-Counter <String[]>]
      [-MaxSamples <Int64>]
      [<CommonParameters>]
Import-Counter
      [-Path] <String[]>
      -ListSet <String[]>
      [<CommonParameters>]
Import-Counter
      [-Path] <String[]>
      [-Summary]
      [<CommonParameters>]

Описание

Командлет Import-Counter импортирует данные счетчика производительности из файлов журнала счетчиков производительности и создает объекты для каждого примера счетчика в файле. Создаваемые объекты PerformanceCounterSampleSet идентичны объектам, возвращающимся Get-Counter при сборе данных счетчика производительности.

Данные можно импортировать из файлов журналов производительности с разделим запятыми (.csv.tsv), разделенных табулем (), и двоичным журналом производительности (.blg). При использовании .blg файлов можно импортировать до 32 файлов в каждой команде. Параметры можно использовать Import-Counter для фильтрации импортируемых данных.

Наряду с Get-Counter Export-Counter командлетами эта функция позволяет собирать, экспортировать, импортировать, объединять, фильтровать, управлять и повторно экспортировать данные счетчиков производительности в Windows PowerShell.

Примеры

Пример 1. Импорт всех данных счетчика из файла

$data = Import-Counter -Path ProcessorData.csv

Эта команда импортирует все данные счетчика ProcessorData.csv из файла в $data переменную.

Пример 2. Импорт определенных данных счетчика из файла

$i = Import-Counter -Path "ProcessorData.blg" -Counter "\\SERVER01\Processor(_Total)\Interrupts/sec"

Эта команда импортирует только данные счетчика Processor(_total)\Interrupts/sec из ProcessorData.blg файла в $i переменную.

Пример 3. Выбор данных из счетчика производительности и его экспорт в файл

В этом примере показано, как выбрать данные из файла журнала счетчиков производительности (.blg) и экспортировать выбранные данные в .csv файл. Первые четыре команды получают пути счетчика из файла и сохраняют их в переменной с именем $data. Последние две команды импортируют выбранные данные, а затем экспортируют только выбранные данные.

$data = Import-Counter .\ProcessorData.blg
$data[0].CounterSamples | Format-Table -Property Path

Path
----
\\SERVER01\Processor(_Total)\DPC Rate
\\SERVER01\Processor(1)\DPC Rate
\\SERVER01\Processor(0)\DPC Rate
\\SERVER01\Processor(_Total)\% Idle Time
\\SERVER01\Processor(1)\% Idle Time
\\SERVER01\Processor(0)\% Idle Time
\\SERVER01\Processor(_Total)\% C3 Time
\\SERVER01\Processor(1)\% C3 Time

$intCtrs = $Data[0].Countersamples | Where-Object {$_.Path -like "*Interrupts/sec"} | ForEach-Object {$_.Path}
$intCtrs

\\SERVER01\Processor(_Total)\Interrupts/sec
\\SERVER01\Processor(1)\Interrupts/sec
\\SERVER01\Processor(0)\Interrupts/sec

$i = Import-Counter -Path .\ProcessorData.blg -Counter $intCtrs
$i | Export-Counter -Path .\Interrupts.csv -Format CSV

Первая команда используется Import-Counter для импорта всех данных счетчика производительности из ProcessorData.blg файлов. Команда сохраняет данные в переменной $data .

Вторая команда отображает пути счетчика в переменной $data . Чтобы получить отображение, показанное в выходных данных команды, в примере используется Format-Table командлет для форматирования в виде таблицы путей счетчика первого счетчика в переменной $data .

Третья команда получает пути счетчика, которые заканчиваются Interrupts/sec и сохраняют пути в переменной $intCtrs . Он использует Where-Object командлет для фильтрации путей счетчика и ForEach-Object командлета, чтобы получить только значение свойства Path каждого выбранного объекта пути.

Четвертая команда отображает выбранные пути счетчика в переменной $intCtrs .

Пятая команда использует Import-Counter командлет для импорта данных. Она использует $intCtrs переменную в качестве значения параметра Counter для импорта только данных для путей счетчика в $intCtrs.

Шестая команда использует Export-Counter командлет для экспорта данных в Interrupts.csv файл.

Пример 4. Отображение всех путей счетчика в группе импортированных наборов счетчиков

В этом примере показано, как показать все пути счетчиков в группе импортированных наборов счетчиков.

Import-Counter -Path ProcessorData.csv -ListSet *

CounterSetName     : Processor
MachineName        : \\SERVER01
CounterSetType     : MultiInstance
Description        :
Paths              : {\\SERVER01\Processor(*)\DPC Rate, \\SERVER01\Processor(*)\% Idle Time, \\SERVER01
\Processor(*)\% C3 Time, \\SERVER01\Processor(*)\% Interrupt Time...}
PathsWithInstances : {\\SERVER01\Processor(_Total)\DPC Rate, \\SERVER01\Processor(1)\DPC Rate, \\SERVER01
\Processor(0)\DPC Rate, \\SERVER01\Processor(_Total)\% Idle Time...}
Counter            : {\\SERVER01\Processor(*)\DPC Rate, \\SERVER01\Processor(*)\% Idle Time, \\SERVER01
\Processor(*)\% C3 Time, \\SERVER01\Processor(*)\% Interrupt Time...}

Import-Counter -Path ProcessorData.csv -ListSet * | ForEach-Object {$_.Paths}

\\SERVER01\Processor(*)\DPC Rate
\\SERVER01\Processor(*)\% Idle Time
\\SERVER01\Processor(*)\% C3 Time
\\SERVER01\Processor(*)\% Interrupt Time
\\SERVER01\Processor(*)\% C2 Time
\\SERVER01\Processor(*)\% User Time
\\SERVER01\Processor(*)\% C1 Time
\\SERVER01\Processor(*)\% Processor Time
\\SERVER01\Processor(*)\C1 Transitions/sec
\\SERVER01\Processor(*)\% DPC Time
\\SERVER01\Processor(*)\C2 Transitions/sec
\\SERVER01\Processor(*)\% Privileged Time
\\SERVER01\Processor(*)\C3 Transitions/sec
\\SERVER01\Processor(*)\DPCs Queued/sec
\\SERVER01\Processor(*)\Interrupts/sec

Первая команда использует параметр ListSet командлета Import-Counter для получения всех наборов счетчиков, представленных в файле данных счетчика.

Вторая команда получает все пути счетчика из набора списка.

Пример 5. Импорт данных счетчика из диапазона меток времени

В этом примере импортируются только данные счетчика, имеющие метку времени между начальными конечными диапазонами, указанными в команде.

Import-Counter -Path ".\disk.blg" | Format-Table -Property Timestamp
$start = [datetime]"7/9/2008 3:47:00 PM"; $end = [datetime]"7/9/2008 3:47:59 PM"
Import-Counter -Path Disk.blg -StartTime $start -EndTime $end

Первая команда перечисляет в таблице метки времени всех данных в ProcessorData.blg файле.

Вторая команда сохраняет определенные метки времени в $start переменных и $end переменных. Строки привязываются к объектам DateTime .

Третья команда использует Import-Counter командлет для получения только данных счетчика с меткой времени между временем начала и окончания (включительно). Команда использует параметры Import-Counter StartTime и EndTime для указания диапазона.

Пример 6. Импорт указанного числа старейших примеров из файла журнала счетчика производительности

В этом примере показано, как импортировать пять самых старых и пять самых новых показаний из файла журнала счетчиков производительности.

Import-Counter -Path "Disk.blg" -MaxSamples 5
(Import-Counter -Path Disk.blg)[-1 .. -5]

Первая команда использует Import-Counter командлет для импорта первых (старейших) пяти примеров из Disk.blg файла. Команда использует параметр MaxSamples для ограничения импорта до пяти примеров счетчиков.

Вторая команда использует нотацию массива и оператор диапазона Windows PowerShell (..) для получения последних пяти примеров счетчиков из файла. Это пять самых новых примеров.

Пример 7. Получение сводки данных счетчика из файла

Import-Counter "D:\Samples\Memory.blg" -Summary

OldestRecord            NewestRecord            SampleCount
------------            ------------            -----------
7/10/2008 2:59:18 PM    7/10/2008 3:00:27 PM    1000

Эта команда использует параметр Сводки командлета Import-Counter для получения сводки данных счетчика в Memory.blg файле.

Пример 8. Обновление файла журнала счетчиков производительности

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

$counters = Import-Counter OldData.blg -ListSet * | ForEach-Object {$_.PathsWithInstances}
Get-Counter -Counter $Counters -MaxSamples 20 | Export-Counter C:\Logs\NewData.blg

Первая команда использует параметр ListSet для Import-Counter получения счетчиков в OldData.blgсуществующем файле журнала счетчиков. Команда использует оператор конвейера (|) для отправки данных ForEach-Object в команду, которая получает только значения свойства PathsWithInstances каждого объекта.

Вторая команда получает обновленные данные для счетчиков в переменной $counters . Он использует Get-Counter командлет для получения текущего примера, а затем экспорта результатов в NewData.blg файл.

Пример 9. Импорт данных журнала производительности из нескольких файлов и его сохранение

$counters = "D:\test\pdata.blg", "D:\samples\netlog.blg" | Import-Counter

Эта команда импортирует данные журнала производительности из двух журналов и сохраняет данные в переменной $counters . Команда использует оператор конвейера для передачи путей журнала производительности командлету Import-Counter, который импортирует данные из указанных путей.

Обратите внимание, что каждый путь заключен в кавычки и что пути разделены запятыми.

Параметры

-Counter

Указывает в виде строкового массива счетчики производительности. По умолчанию Import-Counter импортирует все данные из всех счетчиков в входных файлах. Введите один или несколько путей счетчиков. Знаки подстановки разрешены в части Instance.

Для каждого пути счетчика используется следующий формат. Значение ComputerName необходимо в пути. Например:

  • \\<ComputerName>\<CounterSet>(<Instance>)\<CounterName>

Например:

  • \\Server01\Processor(2)\% User Time
  • \\Server01\Processor(*)\% Processor Time
Тип:String[]
Position:Named
Default value:All counter
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-EndTime

Указывает дату и время окончания, которое этот командлет импортирует данные счетчиков между StartTime и метками времени этого параметра. Введите объект DateTime, например созданный командлетомGet-Date. По умолчанию Import-Counter импортирует все данные счетчика в файлах, указанных параметром Path .

Тип:DateTime
Position:Named
Default value:No end time
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ListSet

Указывает наборы счетчиков производительности, представленные в экспортированных файлах. Команды с этим параметром не импортируют какие-либо данные.

Введите одно или несколько имен наборов счетчиков. Разрешено использовать подстановочные знаки. Чтобы получить все наборы счетчиков в файле, введите Import-Counter -ListSet *.

Тип:String[]
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-MaxSamples

Указывает максимальное число выборок каждого счетчика, которые необходимо импортировать. По умолчанию Get-Counter импортирует все данные в файлах, указанных параметром Path .

Тип:Int64
Position:Named
Default value:No maximum
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Path

Указывает путей к файлам для импорта. Этот параметр является обязательным.

Введите путь и имя файла, .csv.tsv.blg экспортированного с помощью командлета.Export-Counter Можно указать только один .csv или .tsv файл, но можно указать несколько .blg файлов (до 32) в каждой команде. Можно также передать строки пути к файлу (в кавычках) Import-Counterв .

Тип:String[]
Aliases:PSPath
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:True

-StartTime

Указывает дату и время начала, в котором этот командлет получает данные счетчика. Введите объект DateTime, например созданный командлетомGet-Date. По умолчанию Import-Counter импортирует все данные счетчика в файлах, указанных параметром Path .

Тип:DateTime
Position:Named
Default value:No start time
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Summary

Указывает, что этот командлет получает сводку импортированных данных вместо получения отдельных примеров данных счетчика.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

String

Путь к журналам счетчика производительности можно передать в этот командлет.

Выходные данные

Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet, Microsoft.PowerShell.Commands.GetCounter.CounterSet, Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo

Этот командлет возвращает Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. При использовании параметра ListSet этот командлет возвращает объект Microsoft.PowerShell.Commands.GetCounter.CounterSet. При использовании параметра Summary этот командлет возвращает объект Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo .

Примечания

  • Этот командлет не имеет параметра ComputerName . Однако если компьютер настроен для удаленного взаимодействия Windows PowerShell, можно использовать Invoke-Command командлет для выполнения Import-Counter команды на удаленном компьютере.