Public/New-LMPushMetricDataPoint.ps1
Function New-LMPushMetricDataPoint { [CmdletBinding()] Param ( [Array]$DataPointsArray, [Parameter(Mandatory)] [Hashtable]$DataPoints, # hashtable with datapoint name and value [ValidateSet("counter", "derive", "gauge")] [String]$DataPointType = "gauge", [ValidateSet("min", "max", "avg","sum","none","percentile")] [String]$DataPointAggregationType = "none", [ValidateRange(0, 100)] [Int]$PercentileValue ) #Check if we are logged in and have valid api creds If ($Script:LMAuth.Valid) { #Add each datapoint to new datapoint array Foreach($Hash in $DataPoints.GetEnumerator()){ $DataPointsArray += $DataPointsObject.PsObject.Properties | ForEach-Object { [PSCustomObject]@{ dataPointName = $($Hash.Name) dataPointType = $DataPointType dataPointAggregationType = $DataPointAggregationType percentileValue = $PercentileValue values = @{$(Get-Date -UFormat %s)=$($Hash.Value)} } } } Return $DataPointsArray } Else { Write-Error "Please ensure you are logged in before running any commands, use Connect-LMAccount to login and try again." } } |