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 dos arquivos de log do contador de desempenho e cria objetos para cada amostra 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írgulas (.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.
Junto 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
Este comando importa todos os ProcessorData.csv
dados do contador do 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"
Este comando importa apenas os dados do contador "Processor(_total)\Interrupts/sec" do ProcessorData.blg
ficheiro para a $i
variável.
Exemplo 3: Selecione dados de um contador de desempenho e exporte-os para um arquivo
Este exemplo mostra como selecionar dados de um arquivo de log do contador de desempenho (.blg
) e, em seguida, exportar os dados selecionados para um .csv
arquivo. Os quatro primeiros 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 apenas 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 é usado 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 $data
contador na 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 e Interrupts/sec
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 do 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 Import-Counter
cmdlet para obter todos os conjuntos de contadores representados em um arquivo de dados do 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 iniciais e finais 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 de data/hora específicos nas $start
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 do contador que tenham um carimbo de data/hora entre as horas 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 das amostras mais antigas de um arquivo de log do contador de desempenho
Este exemplo mostra como importar os cinco exemplos mais antigos e os cinco 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 cinco primeiros (mais antigos) exemplos 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 as últimas cinco amostras 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
Este 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 do 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
Este 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 está entre aspas e que os caminhos estã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. Curingas são permitidos na parte Instância do caminho.
Cada caminho do 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[] |
Position: | Named |
Default value: | All counter |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | True |
-EndTime
Especifica uma data e hora de término que este cmdlet importa dados do 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 |
Position: | Named |
Default value: | No end time |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-ListSet
Especifica os conjuntos de contadores de desempenho representados nos arquivos exportados. Os comandos com este parâmetro não importam dados.
Insira um ou mais nomes de conjuntos de contadores. Curingas são permitidos. Para obter todos os conjuntos de contadores no arquivo, digite Import-Counter -ListSet *
.
Tipo: | String[] |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | True |
-MaxSamples
Especifica o número máximo de amostras de cada contador a importar. Por padrão, Get-Counter
importa todos os dados nos arquivos especificados pelo parâmetro Path .
Tipo: | Int64 |
Position: | Named |
Default value: | No maximum |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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
, .tsv
ou .blg
arquivo que você exportou usando o Export-Counter
cmdlet. 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 |
Position: | 1 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | True |
-StartTime
Especifica a data e a hora de início nas quais 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 |
Position: | Named |
Default value: | No start time |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Summary
Indica que esse cmdlet obtém um resumo dos dados importados, em vez de obter amostras de dados de contador individuais.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
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
Este 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 .
Notas
- Este 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 umImport-Counter
comando em um computador remoto.