PowerShell Logo Small

Import-Counter



This is the built-in help made by Microsoft for the command 'Import-Counter', in PowerShell version 2 - as retrieved from Windows version 'Microsoft® Windows Vista™ Ultimate ' PowerShell help files on 2016-06-23.

For PowerShell version 3 and up, where you have Update-Help, this command was run just before creating the web pages from the help files.

SYNOPSIS

Imports performance counter log files (.blg, .csv, .tsv) and creates the objects that represent each counter sample in the log.

SYNTAX


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



Search powershellhelp.space

DESCRIPTION


The Import-Counter cmdlet imports performance counter data from performance counter log files and creates objects for each counter sample in the
file. The PerformanceCounterSampleSet objects that it creates are identical to the objects that Get-Counter returns when it collects performance
counter data.

You can import data from comma-separated value (.csv), tab-separated value ( .tsv), and binary performance log (.blg) performance log files. If y
ou are using .blg files, you can import multiple files (up to 32 different files) in each command. And, you can use the parameters of Import-Coun
ter to filter the data that you import.

Along with Get-Counter and Export-Counter, this feature lets you collect, export, import, combine, filter, manipulate, and re-export performance
counter data within Windows PowerShell.



<

RELATED LINKS

Online version: http://go.microsoft.com/fwlink/?LinkID=138338
Get-Counter
Export-Counter

REMARKS

<

Examples


-------------------------- EXAMPLE 1 --------------------------

C:\PS># Import-Counter



Description
-----------
This command imports all of the counter data from the ProcessorData.csv file into the $data variable.

C:\PS> $data = import-counter -path ProcessorData.csv








-------------------------- EXAMPLE 2 --------------------------

C:\PS># Import-Counter



Description
-----------
This command imports only the Processor(_total)\Interrupts\sec counter data from the ProcessorData.blg file into the $i variable.

C:\PS> $i = import-counter -path ProcessorData.blg -counter "\\SERVER01\Processor(_Total)\Interrupts/sec"








-------------------------- EXAMPLE 3 --------------------------

C:\PS># Import-Counter



Description
-----------
This example shows how to select data from a performance counter log file (.blg) and then export the selected data to a .csv file.

The first four commands get the counter paths from the file and save them in a variable. The last two commands import selected data and then expo
rt only the selected data.


The first command uses Import-Counter to import all of the performance counter data from the ProcessorData.blg files. The command saves the data
in the $data variable.

C:\PS> $data = import-counter .\processordata.blg



The second command displays the counter paths in the $data variable. The display is shown in the command output.

C:\PS> $data[0].countersamples | format-table 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
...


The third command gets the counter paths that end in "Interrupts/sec" and saves the paths in the $IntCtrs variable.

C:\PS> $IntCtrs = $data[0].countersamples | where {$_.path -like "*interrupts/sec"} | foreach {$_.path}



The fourth command displays the selected counter paths.

C:\PS> $IntCtrs

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



The fifth command uses the Import-Counter cmdlet to import the data. It uses the Counter parameter with the $IntCtrs variable to import only data
for the counter paths in $IntCtrs.

C:\PS> $i = import-counter -path .\processordata.blg -counter $intCtrs



The sixth command uses the Export-Counter cmdlet to export the data.

C:\PS> $i | export-counter -path .\interrupts.csv -format CSV








-------------------------- EXAMPLE 4 --------------------------

C:\PS># Import-Counter



Description
-----------
This example shows how to display all the counter paths in a group of imported counter sets.

The first command uses the ListSet parameter to get all of the counter sets that are represented in a counter data file.

C:\PS> 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...}



The second command gets all of the counter paths from the list set.

C:\PS> import-counter -path processordata.csv -listset * | foreach {$_.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








-------------------------- EXAMPLE 5 --------------------------

C:\PS># Import-Counter



Description
-----------
This example imports only the counter data that has a time stamp between the starting an ending ranges specified in the command.

The first command lists the time stamps of all of the data in the ProcessorData.blg file.

C:\PS> import-counter -path .\disk.blg | format-table timestamp


The second and third commands save particular time stamps in the $start and $end variables. The strings are cast to DateTime objects.

C:\PS> $start = [datetime]"7/9/2008 3:47:00 PM"
C:\PS> $end = [datetime]"7/9/2008 3:47:59 PM"


The fourth command uses Import-Counter to get only counter data that has a time stamp between the start and end times (inclusive). The command us
es the StartTime and EndTime parameters to specify the range.

C:\PS> $t-data = import-counter -path disk.blg -starttime $start -endtime $end








-------------------------- EXAMPLE 6 --------------------------

C:\PS># Import-Counter



Description
-----------
This example shows how to import the five oldest and five newest samples from a performance counter log file.

The first command uses the Import-Counter cmdlet to import data from the Disk.blg file. The command uses the MaxSamples parameter to limit the im
port to five counter samples. This command gets the first (oldest) five samples in the file.

C:\PS> import-counter -path disk.blg -maxSamples 5

The second command uses array notation and the Windows PowerShell range operator (..) to get the last five counter samples from the file. These a
re the five newest samples.

C:\PS> (import-counter -path disk.blg)[-1 .. -5]








-------------------------- EXAMPLE 7 --------------------------

C:\PS># Import-Counter



Description
-----------
This command uses the Summary parameter to get a summary of the counter data from the Memory.blg file.

C:\PS> 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








-------------------------- EXAMPLE 8 --------------------------

C:\PS># Import-Counter



Description
-----------
This example updates a performance counter log file.

The first command uses the ListSet parameter of Import-Counter to get the counters in OldData.blg, an existing counter log file. The command uses
a pipeline operator (|) to send the data to a Foreach-Object command that gets only the values of the PathsWithInstances property of each object
.

C:\PS> $counters = import-counter olddata.blg -ListSet * | foreach {$_.PathsWithInstances}


The second command uses those same counters in a new Get-Counter command to get a current sample, and export it to the NewData.blg file.

C:\PS> get-counter -counter $counters -maxSamples 20 | export-counter c:\Logs\newdata.blg








-------------------------- EXAMPLE 9 --------------------------

C:\PS># Import-Counter



Description
-----------
This command imports performance log data from two logs and saves the data in the $counters variable. The command uses a pipeline operator to sen
d performance log paths to Import-Counter.

C:\PS> $counters = "d:\test\pdata.blg", "d:\samples\netlog.blg" | import-counter

Notice that each path is enclosed in quotation marks and that the paths are separated from each other by a comma.