Add a collector generator script

This commit is contained in:
Calle Pettersson
2016-09-24 11:49:09 +02:00
parent c98a0c16b2
commit c0b133d157
5 changed files with 158 additions and 1 deletions

View File

@@ -0,0 +1,18 @@
Param(
[Parameter(Mandatory=$true)]
$Class,
[Parameter(Mandatory=$false)]
$CollectorName = ($Class -replace 'Win32_PerfRawData_Perf','')
)
$members = Get-WMIObject $Class `
| Get-Member -MemberType Properties `
| Where-Object { $_.Definition -Match '^u?int' -and $_.Name -NotMatch '_' } `
| Select-Object Name, @{Name="Type";Expression={$_.Definition.Split(" ")[0]}}
$input = @{
"Class"=$Class;
"CollectorName"=$CollectorName;
"Members"=$members
} | ConvertTo-Json
$outFileName = "..\..\collector\$CollectorName.go".ToLower()
$input | .\collector-generator.exe | Out-File -NoClobber -Encoding UTF8 $outFileName
go fmt $outFileName