mirror of
https://github.com/prometheus-community/windows_exporter.git
synced 2026-03-07 19:16:36 +00:00
Add a collector generator script
This commit is contained in:
18
tools/collector-generator/New-Collector.ps1
Normal file
18
tools/collector-generator/New-Collector.ps1
Normal 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
|
||||
Reference in New Issue
Block a user