add gs
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
local percentReporting = tonumber(settings():GetFVariable("PercentReportingNetworkProfileAfterStartup"))
|
||||
|
||||
local FEATURE_NAME = "NetworkProfileDuringStartup"
|
||||
local QUEUED_MEASURE_NAME = "Queued"
|
||||
local NAME_LOOKUP_MEASURE_NAME = "NameLookup"
|
||||
local CONNECT_MEASURE_NAME = "Connect"
|
||||
local SSL_HANDSHAKE_MEASURE_NAME = "SSLHandshake"
|
||||
local MAKE_REQUEST_MEASURE_NAME = "MakeRequest"
|
||||
local RECEIVE_RESPONSE_MEASURE_NAME = "ReceiveResponse"
|
||||
|
||||
local NetworkProfiler = {}
|
||||
NetworkProfiler.__index = NetworkProfiler
|
||||
|
||||
NetworkProfiler.aggregate = {
|
||||
queued = 0.0,
|
||||
nameLookup = 0.0,
|
||||
connect = 0.0,
|
||||
sslHandshake = 0.0,
|
||||
makeRequest = 0.0,
|
||||
receiveResponse = 0.0,
|
||||
}
|
||||
|
||||
function NetworkProfiler:track(timeProfile)
|
||||
self.aggregate.queued = self.aggregate.queued + timeProfile.queued
|
||||
if timeProfile.nameLookup >= 0 then
|
||||
self.aggregate.nameLookup = self.aggregate.nameLookup + timeProfile.nameLookup
|
||||
end
|
||||
if timeProfile.connect >= 0 then
|
||||
self.aggregate.connect = self.aggregate.connect + timeProfile.connect
|
||||
end
|
||||
if timeProfile.sslHandshake >= 0 then
|
||||
self.aggregate.sslHandshake = self.aggregate.sslHandshake + timeProfile.sslHandshake
|
||||
end
|
||||
if timeProfile.makeRequest >= 0 then
|
||||
self.aggregate.makeRequest = self.aggregate.makeRequest + timeProfile.makeRequest
|
||||
end
|
||||
if timeProfile.receiveResponse >= 0 then
|
||||
self.aggregate.receiveResponse = self.aggregate.receiveResponse + timeProfile.receiveResponse
|
||||
end
|
||||
end
|
||||
|
||||
function NetworkProfiler:report(reportToDiag)
|
||||
reportToDiag(FEATURE_NAME, QUEUED_MEASURE_NAME, self.aggregate.queued, percentReporting)
|
||||
reportToDiag(FEATURE_NAME, NAME_LOOKUP_MEASURE_NAME, self.aggregate.nameLookup, percentReporting)
|
||||
reportToDiag(FEATURE_NAME, CONNECT_MEASURE_NAME, self.aggregate.connect, percentReporting)
|
||||
reportToDiag(FEATURE_NAME, SSL_HANDSHAKE_MEASURE_NAME, self.aggregate.sslHandshake, percentReporting)
|
||||
reportToDiag(FEATURE_NAME, MAKE_REQUEST_MEASURE_NAME, self.aggregate.makeRequest, percentReporting)
|
||||
reportToDiag(FEATURE_NAME, RECEIVE_RESPONSE_MEASURE_NAME, self.aggregate.receiveResponse, percentReporting)
|
||||
end
|
||||
|
||||
return NetworkProfiler
|
||||
Reference in New Issue
Block a user