To send Windows Performance Counters from Windows to Hosted Graphite, Graphite PowerShell Functions can be used.
<Graphite>
<CarbonServer>carbon.hostedgraphite.com</CarbonServer>
<CarbonServerPort>2003</CarbonServerPort>
<MetricPath>YOUR-API-KEY.foo.bar</MetricPath>
<MetricSendIntervalSeconds>30</MetricSendIntervalSeconds>
<TimeZoneOfGraphiteServer>UTC</TimeZoneOfGraphiteServer>
</Graphite>
cd C:\GraphitePowerShell
. .\Graphite-PowerShell.ps1
Start-StatsToGraphite -Verbose
Your output should look something like the following:
VERBOSE: Metric Received: YOUR-API-KEY.foo.bar.servername.physicaldisk.total.diskreadqueuelength 0.000393834171592958 1408416870
VERBOSE: Metric Received: YOUR-API-KEY.foo.bar.servername.memory.pagesinput-sec 0.996814761294544 1408416870
PerfMon Job Execution Time: 5.4987477 seconds
You can read more details about the configuration options and how to run the functions as a service over on the Graphite PowerShell Functions GitHub Page.