Compartilhar via


Import-Counter

Importa arquivos de log do contador de desempenho e cria os objetos que representam cada amostra de contador no log.

Sintaxe

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>]

Description

O Import-Counter cmdlet importa dados do contador de desempenho de arquivos de log do contador de desempenho e cria objetos para cada exemplo de contador no arquivo. Os objetos PerformanceCounterSampleSet que ele cria são idênticos aos objetos que Get-Counter retornam quando ele coleta dados do contador de desempenho.

Você pode importar dados de arquivos de log de desempenho de valor separado por vírgula (.csv), valor separado por tabulação (.tsv) e log de desempenho binário (.blg). Se você estiver usando .blg arquivos, poderá importar até 32 arquivos em cada comando. Você pode usar os parâmetros de Import-Counter para filtrar os dados importados.

Juntamente com os Get-Counter cmdlets e Export-Counter , esse recurso permite coletar, exportar, importar, combinar, filtrar, manipular e reexportar dados do contador de desempenho no Windows PowerShell.

Exemplos

Exemplo 1: Importar todos os dados do contador de um arquivo

$data = Import-Counter -Path ProcessorData.csv

Esse comando importa todos os dados do contador do ProcessorData.csv arquivo para a $data variável.

Exemplo 2: Importar dados específicos do contador de um arquivo

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

Esse comando importa apenas os dados do contador "Processor(_total)\Interrupts/s" do ProcessorData.blg arquivo para a $i variável.

Exemplo 3: Selecionar dados de um contador de desempenho e exportá-los para um arquivo

Este exemplo mostra como selecionar dados de um arquivo de log do contador de desempenho (.blg) e exportar os dados selecionados para um .csv arquivo. Os primeiros quatro comandos obtêm os caminhos do contador do arquivo e os salvam na variável chamada $data. Os dois últimos comandos importam dados selecionados e, em seguida, exportam somente os dados selecionados.

$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

O primeiro comando usa Import-Counter para importar todos os dados do contador de desempenho dos ProcessorData.blg arquivos. O comando salva os dados na $data variável.

O segundo comando exibe os caminhos do contador na $data variável. Para obter a exibição mostrada na saída do comando, o exemplo usa o Format-Table cmdlet para formatar como uma tabela os caminhos do contador do primeiro contador na $data variável.

O terceiro comando obtém os caminhos do contador que terminam em Interrupts/sec e salva os $intCtrs caminhos na variável. Ele usa o Where-Object cmdlet para filtrar os caminhos do contador e o ForEach-Object cmdlet para obter apenas o valor da propriedade Path de cada objeto de caminho selecionado.

O quarto comando exibe os caminhos de contador selecionados na $intCtrs variável.

O quinto comando usa o Import-Counter cmdlet para importar os dados. Ele usa a $intCtrs variável como o valor do parâmetro Counter para importar apenas dados para os caminhos do contador no $intCtrs.

O sexto comando usa o Export-Counter cmdlet para exportar os dados para o Interrupts.csv arquivo.

Exemplo 4: Exibir todos os caminhos de contador em um grupo de conjuntos de contadores importados

Este exemplo mostra como exibir todos os caminhos de contador em um grupo de conjuntos de contadores importados.

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

O primeiro comando usa o parâmetro ListSet do cmdlet para obter todos os conjuntos de contadores representados em um arquivo de Import-Counter dados de contador.

O segundo comando obtém todos os caminhos do contador do conjunto de listas.

Exemplo 5: Importar dados do contador de um intervalo de carimbos de data/hora

Este exemplo importa apenas os dados do contador que têm um carimbo de data/hora entre os intervalos inicial e final especificados no comando.

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

O primeiro comando lista em uma tabela os carimbos de data/hora de todos os dados no ProcessorData.blg arquivo.

O segundo comando salva carimbos $start de data/hora específicos nas variáveis e $end . As cadeias de caracteres são convertidas em objetos DateTime .

O terceiro comando usa o Import-Counter cmdlet para obter apenas dados de contador que têm um carimbo de data/hora entre os horários de início e término (inclusive). O comando usa os parâmetros StartTime e EndTime de Import-Counter para especificar o intervalo.

Exemplo 6: Importar um número especificado dos exemplos mais antigos de um arquivo de log do contador de desempenho

Este exemplo mostra como importar as cinco amostras mais antigas e mais recentes de um arquivo de log do contador de desempenho.

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

O primeiro comando usa o Import-Counter cmdlet para importar os primeiros cinco exemplos (mais antigos) do Disk.blg arquivo. O comando usa o parâmetro MaxSamples para limitar a importação a cinco amostras de contador.

O segundo comando usa a notação de matriz e o operador de intervalo do Windows PowerShell (..) para obter os últimos cinco exemplos de contador do arquivo. Estas são as cinco amostras mais recentes.

Exemplo 7: Obter um resumo dos dados do contador de um arquivo

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

Esse comando usa o parâmetro Summary do Import-Counter cmdlet para obter um resumo dos dados do contador no Memory.blg arquivo.

Exemplo 8: Atualizar um arquivo de log do contador de desempenho

Este exemplo atualiza um arquivo de log de contador de desempenho.

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

O primeiro comando usa o parâmetro ListSet de para obter os contadores em OldData.blg, um arquivo de log de Import-Counter contador existente. O comando usa um operador de pipeline (|) para enviar os dados para um ForEach-Object comando que obtém apenas os valores da propriedade PathsWithInstances de cada objeto

O segundo comando obtém dados atualizados para os contadores na $counters variável. Ele usa o Get-Counter cmdlet para obter um exemplo atual e, em seguida, exportar os resultados para o NewData.blg arquivo.

Exemplo 9: importar dados de log de desempenho de vários arquivos e salvá-los

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

Esse comando importa dados de log de desempenho de dois logs e salva os $counters dados na variável. O comando usa um operador de pipeline para enviar os caminhos do log de desempenho para Import-Counter, que importa os dados dos caminhos especificados.

Observe que cada caminho é colocado entre aspas e que os caminhos são separados uns dos outros por uma vírgula.

Parâmetros

-Counter

Especifica, como uma matriz de cadeia de caracteres, os contadores de desempenho. Por padrão, Import-Counter importa todos os dados de todos os contadores nos arquivos de entrada. Insira um ou mais caminhos de contador. Caracteres curinga são permitidos na parte de Instância do caminho.

Cada caminho de contador tem o seguinte formato. O ComputerName valor é necessário no caminho. Por exemplo:

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

Por exemplo:

  • \\Server01\Processor(2)\% User Time
  • \\Server01\Processor(*)\% Processor Time
Tipo:String[]
Cargo:Named
Valor padrão:All counter
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:True

-EndTime

Especifica uma data e hora de término em que esse cmdlet importa dados de contador entre os carimbos de data/hora StartTime e esse parâmetro. Insira um objeto DateTime , como um criado pelo Get-Date cmdlet. Por padrão, Import-Counter importa todos os dados do contador nos arquivos especificados pelo parâmetro Path .

Tipo:DateTime
Cargo:Named
Valor padrão:No end time
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ListSet

Especifica os conjuntos de contadores de desempenho representados nos arquivos exportados. Comandos com esse parâmetro não importam dados.

Insira um ou mais nomes de pilha de locais. Caracteres curinga são permitidos. Para obter todos os conjuntos de contadores no arquivo, digite Import-Counter -ListSet *.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:True

-MaxSamples

Especifica o número máximo de amostras a serem importadas por cada contador. Por padrão, Get-Counter importa todos os dados nos arquivos especificados pelo parâmetro Path .

Tipo:Int64
Cargo:Named
Valor padrão:No maximum
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Path

Especifica os caminhos de arquivo dos arquivos a serem importados. Este parâmetro é obrigatório.

Insira o caminho e o nome do arquivo de um, .csv, , ou .blg arquivo que você exportou usando o Export-Counter .tsvcmdlet. Você pode especificar apenas um .csv ou .tsv arquivo, mas pode especificar vários .blg arquivos (até 32) em cada comando. Você também pode canalizar cadeias de caracteres de caminho de arquivo (entre aspas) para Import-Counter.

Tipo:String[]
Aliases:PSPath
Cargo:1
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

-StartTime

Especifica a data e a hora de início em que esse cmdlet obtém dados do contador. Insira um objeto DateTime , como um criado pelo Get-Date cmdlet. Por padrão, Import-Counter importa todos os dados do contador nos arquivos especificados pelo parâmetro Path .

Tipo:DateTime
Cargo:Named
Valor padrão:No start time
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Summary

Indica que esse cmdlet obtém um resumo dos dados importados, em vez de obter exemplos de dados de contador individuais.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

String

Você pode canalizar caminhos de log do contador de desempenho para esse cmdlet.

Saídas

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

Esse cmdlet retorna um Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. Se você usar o parâmetro ListSet , esse cmdlet retornará um objeto Microsoft.PowerShell.Commands.GetCounter.CounterSet . Se você usar o parâmetro Summary , esse cmdlet retornará um objeto Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo .

Observações

  • Esse cmdlet não tem um parâmetro ComputerName . No entanto, se o computador estiver configurado para comunicação remota do Windows PowerShell, você poderá usar o Invoke-Command cmdlet para executar um Import-Counter comando em um computador remoto.