[Opensim-dev] New Network Statistics (UNCLASSIFIED)

Sean M mondesire.sean at gmail.com
Thu Jun 25 20:08:52 UTC 2015


Greetings,

Below are answers to the MOSES repo commit description questions you have.
Each inaccurate description will be resolved in the corresponding patch.

*Question 1)*
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?

*Answer 1)* The commit introduced avatar-to-ip address capability for
non-standalone instances of OpenSim. The comment is too specific because
this change is not exclusive to MOSES and applies to OpenSim in general.
The commit description will be updated.

*Question 2)*
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.

*Answer 2)* The employed code review software has caused erroneous commit
descriptions. The description in this commit will be corrected with the
submitted patch. The actual commit for this instance is
https://github.com/M-O-S-E-S/opensim/commit/c937f49db970e9fdb8d54928b19c5f577289ea94

*Question 3)*
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.

*Answer 3)* This commit is for the "logging in avatar" metric. We use the
first texture update to signify when an avatar is fully realized into the
world because the status qua avatar status changes an avatar's status too
quickly/prematurely. Consider the case when a viewer hangs on "waiting for
region handshake." At this point the sim already considers the user logged
in, although the user cannot control his/her avatar. With this
implementation, the avatar's first texture update guarantees the avatar is
"in world".

*Question 4)*
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.

*Answer 4) *Again, the employed code review software has caused erroneous
commit descriptions. The description in this commit will be corrected with
the submitted patch. The actual commit for this instance is
https://github.com/M-O-S-E-S/opensim/blob/c6a600ea52d0f96892664e4de3c1deebc96d0408/OpenSim/Region/Framework/Scenes/Scene.cs

*Question 5)*
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"?

*Answer 5)* The commit removed duplicated code that was the result of a
merge. Only duplicated code was removed; MaptileStaticUUID, telehub, the
position check, and "a large chunk of commented code" were not eliminated.

Regards,
Sean Mondesire

On Thu, Jun 25, 2015 at 1:27 PM, Maxwell, Douglas CIV USARMY ARL (US) <
douglas.maxwell3.civ at mail.mil> wrote:

> Classification: UNCLASSIFIED
> Caveats: NONE
>
> Understood.  We'll discuss your concerns below and generate a patch.
>
> 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 Diva Canto
> Sent: Thursday, June 25, 2015 11:33 AM
> To: opensim-dev at opensimulator.org
> Subject: Re: [Opensim-dev] New Network Statistics (UNCLASSIFIED)
>
> 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/2c7a834c0edaed151046272bc96fbd6b
> c21d05ae : 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/be8593a19b748c9a7be097bd7c14bbd5
> 19435760 : the actual code change has nothing to do with the commit
> message.
> Explanation needed.
>
>
> https://github.com/M-O-S-E-S/opensim/commit/ec573bdf8891e099735391d2ecf91084
> e86878a4 : 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/38cb2e6217628a1ad04e210c160e0f2e
> a99f2f22 : 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/59fabdeab006d311ed5dbc06c514b6dc
> 9e2417be : 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.ipsta
> tus(v=vs.110).aspx
> <blockedhttps://
> msdn.microsoft.com/en-us/library/system.net.networkinformati
> on.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.ipsta
> tus(v=vs.110).aspx
> <blockedhttps://
> msdn.microsoft.com/en-us/library/system.net.networkinformati
> on.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
>
>
>
> 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/b4c56011/attachment-0001.html>


More information about the Opensim-dev mailing list