[Opensim-dev] New Network Statistics (UNCLASSIFIED)

Diva Canto diva at metaverseink.com
Thu Jun 25 15:33:11 UTC 2015


Doug, we prefer patches, because we can discuss them in mantis, rather 
than here. Nevertheless, I looked at the the MOSES repo at the time, and 
I looked at it again right now. I have some questions. Specifically:

https://github.com/M-O-S-E-S/opensim/commit/2c7a834c0edaed151046272bc96fbd6bc21d05ae 
: why is MOSES different than regular OpenSim and, if it's different, 
why should this come to core?

https://github.com/M-O-S-E-S/opensim/commit/be8593a19b748c9a7be097bd7c14bbd519435760 
: the actual code change has nothing to do with the commit message. 
Explanation needed.

https://github.com/M-O-S-E-S/opensim/commit/ec573bdf8891e099735391d2ecf91084e86878a4 
: the code change and the commit message don't really go along. The 
reception of the CompleteAgentMovement packet is independent of 
textures, in general. Explanation needed.

https://github.com/M-O-S-E-S/opensim/commit/38cb2e6217628a1ad04e210c160e0f2ea99f2f22 
: again, the title of that commit message is misleading. I don't see any 
spacing issues being fixed in that commit. Explanation needed.

https://github.com/M-O-S-E-S/opensim/commit/59fabdeab006d311ed5dbc06c514b6dc9e2417be 
: I don't understand this commit at all. Why is the reading of 
MaptileStaticUUID being eliminated? Why is the telehub warning being 
eliminated? Why is the position check being eliminated? Why is a large 
chunk of commented code being eliminated under a commit message "Fixed 
compilation issues caused by merge"?

These are things that need to be clarified by whoever made those commits 
before this code comes into core. That's one of the reasons why 
submitting this as a patch would be more appropriate, as we could have 
this conversation in mantis, where it will be associated with the merge 
for the future. But please forward this email to them and send back the 
answers. Independent of the merge process, these things need to be 
clarified before any merge happens.

Thanks.



On 6/25/2015 7:39 AM, Maxwell, Douglas CIV USARMY ARL (US) wrote:
> Classification: UNCLASSIFIED
> Caveats: NONE
>
> OPENSIM-DEVs:  We announced last week that a pull was ready for you from our Github.  Rather than generate a patch, we wanted to see if this method of code delivery would be easier for you.  We have not seen any movement on this yet.  Is there an ETA for when you plan to perform the code pull or would you rather us provide the patch instead?  Pls advise quickly, we have more code coming your way in the near future.
>
> v/r -doug
>
> Douglas Maxwell, Ph.D.
> Science and Technology Manager
> Virtual World Strategic Applications
> U.S. Army Research Lab
> Simulation & Training Technology Center (STTC)
> (c) (407) 242-0209
>
>
>
> -----Original Message-----
> From: opensim-dev-bounces at opensimulator.org [mailto:opensim-dev-bounces at opensimulator.org] On Behalf Of Sean M
> Sent: Friday, June 19, 2015 12:06 PM
> To: opensim-dev at opensimulator.org
> Subject: [Opensim-dev] New Network Statistics
>
>
> Greetings,
>
>
> The MOSES Team has completed work on adding more network-based statistics gathering to OpenSim. With these changes, you will be able to accurately determine, through the JSON SimStats, how your simulator is performing network-wise with measures in packets, bytes, queue size, and latency. Particularly with the latency measures, we have added variables to the OpenSim.ini file (specified below) to allow you to turn these features on and off (off by default). Furthermore, we have added IP-to-avatar tracking that is outputted via a new JSON output stream (specified below).
>
> The statistics work is available on our GitHub repo, where you may pull from:
>
> https://github.com/M-O-S-E-S/opensim <blockedhttps://github.com/M-O-S-E-S/opensim>
>
> Below are details of each of the modified and newly added statistics.
>
> Network Statistics
>
>
>   
>
> PktsIn – Now the number of packets received are averaged inside the LLUDPClient before being sent to the SimStatsReporter. The time is calculated using a stopwatch. This is done to enforce an accurate measurement since the SimStatsReporter and the UDP message system are running on separate threads. The stat is reported as the number of packets per second.
>
>
>
>
> PktsOut - Now the number of packets sent are averaged inside the LLUDPClient before being sent to the SimStatsReporter. The time is calculated using a stopwatch. This is done to enforce an accurate measurement since the SimStatsReporter and the UDP message system are running on separate threads. The stat is reported as the number of packets per second.
>
>
>
>
> UDPIn – This is the same as PktsIn except that it tracks the number of bytes being received instead of the number of packets.
>
>
>
>
> UDPOut – This is the same as PktsOut except that it tracks the number of bytes being sent instead of the number of packets.
>
>
>
>
> UDPInError – Tracks the number of packets that are sent to RecordMalformedInboundPacket. Then divides by the time in the UDPClient before sending the average number of packets that were malformed to the SimStatsReporter. The stat is reported as the number of packets per second.
>
>
>
>
> ClientPing – Average ping between OpenSim and a subset of its connected users. This will show a value of -1 if the ping reply status was not successful. A non-successful status may vary (e.g. Timeout, time limit exceeded, firewall issues). Check C#'s IPStatus class for more information on the various states: https://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipstatus(v=vs.110).aspx <blockedhttps://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipstatus(v=vs.110).aspx>
>
>
>
>
> AvgPing – Average ping to an external server. This will show a value of -1 if the ping reply status was not successful. A non-successful status may vary (e.g. Timeout, time limit exceeded, firewall issues). Check C#'s IPStatus class for more information on the various states: https://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipstatus(v=vs.110).aspx <blockedhttps://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipstatus(v=vs.110).aspx>
>
> NetFT – Split into 2 statistics which are NetEvtTime and NetQSize.
>
>
>
>
> NetEvtTime – This is acquired inside the LLUDPServer class inside the IncomingPacketHandler. This records the time it took each time a packet is processed then divides by the number of packets. This is a moving average over N number of packets. Where N is equal to the number of frames being stored for Total, Simulation, and Physics frame time.
>
>
>
>
> NetQSize – This is acquired at the same time as NetEvtTime. This is the size of the queue that is left to be processed. This is also a moving average based on N, where N is equal to the number of frames being stored for Total, Simulation, and Physics frame time.
>
>
>
>
> Client IP Addresses – This is a list of clients and their IP Addresses. In order to access the list use the address format as follows
>
>                  [Server IP address]:[Port number]/[Custom URI name]
>
> The default using the value in the example of Agent_Stats_URI would be
>
>                  127.0.0.1:9000/jsonUserStats
>
>   
>
>
> OpenSim.ini Changes
>
>
>   
>
> The subheadings in this section correspond with the Sections inside of the OpenSim.ini file.
>
>   
>
>
> Startup
>
>
>   
>
> Agent_Stats_URI – Provides the web URI that will allow the developer to access the current clients and there IP Addresses. An example is
>
>      ; Agent Login Stats URI
>
>      ; Enable JSON agent data by setting a URI name (case sensitive)
>
>      ; Returns regular agent stats (Name, IPAddress, Login)
>
>      Agent_Stats_URI = "jsonUserStats"
>
>   
>
>   
>
>
> Statistics
>
>
>   
>
> NumberOfFrames – This is the number of frames or packets that will be held onto and then averaged for total frame time, simulation frame time, physics frame time, NetEvtTime, and NetQSize.
>
> ClientPingSubset – This is an integer that defaults to 1. It is the number of clients that will be pinged to create an average ping rate. This is done as a subset of the total number of clients.
>
> ClientPingFrequency – The frequency with which we ping the client. This value is in seconds.
>
> ExternalServer – Address of the external server to be pinged.
>
> ExternalPingFrequency – The frequency with which we ping the external server. This value is in seconds.
>
> PingExternalServerEnabled – A flag that tells opensim whether it should be pinging the external server.
>
> PingClientEnabled – A flag that tells opensim whether it should be pinging the clients.
>
> StatsUpdateEveryMS – An integer that will control how often the SimStatsReporter heartbeat will run for. This value should be given in milliseconds.
>
>
>
>
>
>
>
> Best regards,
>
> Sean Mondesire, Ph.D.
>
> MOSES Team
>
>
> Classification: UNCLASSIFIED
> Caveats: NONE
>
>
>
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20150625/b71f4262/attachment-0001.html>


More information about the Opensim-dev mailing list