diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs index b676bee..4561d23 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs | |||
@@ -58,6 +58,11 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
58 | /// </summary> | 58 | /// </summary> |
59 | public bool PerformResponsesAsync { get; private set; } | 59 | public bool PerformResponsesAsync { get; private set; } |
60 | 60 | ||
61 | /// <summary> | ||
62 | /// Number of responses actually processed and sent to viewer (or aborted due to error). | ||
63 | /// </summary> | ||
64 | public int ResponsesProcessed { get; private set; } | ||
65 | |||
61 | private readonly BaseHttpServer m_server; | 66 | private readonly BaseHttpServer m_server; |
62 | 67 | ||
63 | private BlockingQueue<PollServiceHttpRequest> m_requests = new BlockingQueue<PollServiceHttpRequest>(); | 68 | private BlockingQueue<PollServiceHttpRequest> m_requests = new BlockingQueue<PollServiceHttpRequest>(); |
@@ -81,14 +86,27 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
81 | StatsManager.RegisterStat( | 86 | StatsManager.RegisterStat( |
82 | new Stat( | 87 | new Stat( |
83 | "QueuedPollResponses", | 88 | "QueuedPollResponses", |
84 | "Number of poll responses queued for sending.", | 89 | "Number of poll responses queued for processing.", |
90 | "", | ||
91 | "", | ||
92 | "httpserver", | ||
93 | m_server.Port.ToString(), | ||
94 | StatType.Pull, | ||
95 | MeasuresOfInterest.AverageChangeOverTime, | ||
96 | stat => stat.Value = m_requests.Count(), | ||
97 | StatVerbosity.Debug)); | ||
98 | |||
99 | StatsManager.RegisterStat( | ||
100 | new Stat( | ||
101 | "ProcessedPollResponses", | ||
102 | "Number of poll responses processed.", | ||
85 | "", | 103 | "", |
86 | "", | 104 | "", |
87 | "httpserver", | 105 | "httpserver", |
88 | m_server.Port.ToString(), | 106 | m_server.Port.ToString(), |
89 | StatType.Pull, | 107 | StatType.Pull, |
90 | MeasuresOfInterest.AverageChangeOverTime, | 108 | MeasuresOfInterest.AverageChangeOverTime, |
91 | stat => m_requests.Count(), | 109 | stat => stat.Value = ResponsesProcessed, |
92 | StatVerbosity.Debug)); | 110 | StatVerbosity.Debug)); |
93 | } | 111 | } |
94 | 112 | ||
@@ -210,6 +228,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
210 | try | 228 | try |
211 | { | 229 | { |
212 | wreq = m_requests.Dequeue(0); | 230 | wreq = m_requests.Dequeue(0); |
231 | ResponsesProcessed++; | ||
213 | wreq.DoHTTPGruntWork( | 232 | wreq.DoHTTPGruntWork( |
214 | m_server, wreq.PollServiceArgs.NoEvents(wreq.RequestID, wreq.PollServiceArgs.Id)); | 233 | m_server, wreq.PollServiceArgs.NoEvents(wreq.RequestID, wreq.PollServiceArgs.Id)); |
215 | } | 234 | } |
@@ -256,6 +275,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
256 | { | 275 | { |
257 | try | 276 | try |
258 | { | 277 | { |
278 | ResponsesProcessed++; | ||
259 | req.DoHTTPGruntWork(m_server, responsedata); | 279 | req.DoHTTPGruntWork(m_server, responsedata); |
260 | } | 280 | } |
261 | catch (ObjectDisposedException e) // Browser aborted before we could read body, server closed the stream | 281 | catch (ObjectDisposedException e) // Browser aborted before we could read body, server closed the stream |
@@ -270,6 +290,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
270 | { | 290 | { |
271 | try | 291 | try |
272 | { | 292 | { |
293 | ResponsesProcessed++; | ||
273 | req.DoHTTPGruntWork(m_server, responsedata); | 294 | req.DoHTTPGruntWork(m_server, responsedata); |
274 | } | 295 | } |
275 | catch (ObjectDisposedException e) // Browser aborted before we could read body, server closed the stream | 296 | catch (ObjectDisposedException e) // Browser aborted before we could read body, server closed the stream |
@@ -290,6 +311,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
290 | { | 311 | { |
291 | if ((Environment.TickCount - req.RequestTime) > req.PollServiceArgs.TimeOutms) | 312 | if ((Environment.TickCount - req.RequestTime) > req.PollServiceArgs.TimeOutms) |
292 | { | 313 | { |
314 | ResponsesProcessed++; | ||
293 | req.DoHTTPGruntWork( | 315 | req.DoHTTPGruntWork( |
294 | m_server, req.PollServiceArgs.NoEvents(req.RequestID, req.PollServiceArgs.Id)); | 316 | m_server, req.PollServiceArgs.NoEvents(req.RequestID, req.PollServiceArgs.Id)); |
295 | } | 317 | } |