Added count metric endpoint
This commit is contained in:
parent
de6296b1d3
commit
98e02f8c40
@ -62,6 +62,14 @@ Service PostAverageMetric(MonitorName, MetricName, Number)
|
||||
Service_Services('PostProcedure', 'MONA_SERVICES', 'SendBufferedAverageMetric':@VM:MonitorName:@VM:MetricName:@VM:Number)
|
||||
end service
|
||||
|
||||
Service SendCountMetric(MonitorName=MONITORS, MetricName, Number)
|
||||
Mona_Services("PostCountMetric", MonitorName, MetricName, Number)
|
||||
end Service
|
||||
|
||||
Service PostCountMetric(MonitorName, MetricName, Number)
|
||||
Service_Services('PostProcedure', 'MONA_SERVICES', 'SendBufferedCountMetric':@VM:MonitorName:@VM:MetricName:@VM:Number)
|
||||
end service
|
||||
|
||||
Service SendBufferedStatus(MonaResource, StatusName, StatusValue)
|
||||
|
||||
If MonaResource EQ '' then
|
||||
@ -178,10 +186,66 @@ Service SendBufferedAverageMetric(MonaResource, MetricName, MetricValue)
|
||||
|
||||
end service
|
||||
|
||||
Service SendBufferedCountMetric(MonaResource, MetricName, MetricValue)
|
||||
|
||||
If MonaResource EQ '' then
|
||||
MonaResource = Environment_Services("GetMonaResource")
|
||||
end
|
||||
|
||||
DateTime = SRP_DateTime('Now')
|
||||
Year = SRP_Datetime("Year", DateTime)
|
||||
Month = SRP_Datetime("Month", DateTime)
|
||||
If Len(Month) EQ 1 then
|
||||
Month = '0':Month
|
||||
end
|
||||
Day = SRP_Datetime("Day", DateTime)
|
||||
If Len(Day) EQ 1 then
|
||||
Day = '0':Day
|
||||
end
|
||||
Hour = SRP_Datetime("Hour", DateTime)
|
||||
If Len(Hour) EQ 1 then
|
||||
Hour = '0':Hour
|
||||
end
|
||||
Minute = SRP_Datetime("Minute", DateTime)
|
||||
If Len(Minute) EQ 1 then
|
||||
Minute = '0':Minute
|
||||
end
|
||||
Second = SRP_Datetime("Second", DateTime)
|
||||
If Len(Second) EQ 1 then
|
||||
Second = '0':Second
|
||||
end
|
||||
|
||||
RequestBodyJson = '{ "resource": "':MonaResource:'"'
|
||||
RequestBodyJson = RequestBodyJson:', "dateTime": "':Year:'-':Month:'-':Day:'T':Hour:':':Minute:':':Second:'Z"'
|
||||
RequestBodyJson = RequestBodyJson:', "metricName": "':MetricName:'"'
|
||||
RequestBodyJson = RequestBodyJson:', "metricValue": "':MetricValue:'" }'
|
||||
|
||||
ApiUrl = Environment_Services("GetMonInBufferedWorkerApiUrl"):'/count'
|
||||
|
||||
retries = 3
|
||||
backoffSeconds = 1
|
||||
isSuccessful = False$
|
||||
|
||||
Loop
|
||||
while (isSuccessful EQ False$ and retries GT 0)
|
||||
waitSeconds = (3 - retries) * backoffSeconds
|
||||
Delay(waitSeconds)
|
||||
|
||||
retries = retries - 1
|
||||
|
||||
response = Httpclient_Services('SendHTTPRequest', 'POST', ApiUrl, 'Content-Type':@VM:'application/json':@FM:'Accept':@VM:'*/*', RequestBodyJson, '', '', False$, False$, '')
|
||||
|
||||
If response EQ '"Request queued for processing"' then
|
||||
isSuccessful = True$
|
||||
end
|
||||
Repeat
|
||||
|
||||
end service
|
||||
|
||||
Service QueueLatencyAndCountMetrics(MonaResource, MetricName, StartTick, EndTick)
|
||||
Diff = EndTick - StartTick
|
||||
Mona_Services('SendMetric', MonaResource, MetricName:'_LATENCY', Diff)
|
||||
Mona_Services('SendMetric', MonaResource, MetricName:'_COUNT', 1)
|
||||
Mona_Services('SendCountMetric', MonaResource, MetricName:'_COUNT', 1)
|
||||
end service
|
||||
|
||||
SwapResourceNames:
|
||||
@ -206,3 +270,4 @@ SwapResourceNames:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user