Sean,
Please open a mantis even if the intent is for one of us to pull (a
patch would be better...). Mantis is a better place to have this highly
technical conversation.
Thanks.
On 6/25/2015 1:08 PM, Sean M wrote:
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)
<[email protected] <mailto:[email protected]>>
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 <tel:%28407%29%20242-0209>
-----Original Message-----
From: [email protected]
<mailto:[email protected]>
[mailto:[email protected]
<mailto:[email protected]>] On Behalf Of Diva
Canto
Sent: Thursday, June 25, 2015 11:33 AM
To: [email protected]
<mailto:[email protected]>
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
<https://github.com/M-O-S-E-S/opensim/commit/2c7a834c0edaed151046272bc96fbd6b%0Ac21d05ae>
: 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
<https://github.com/M-O-S-E-S/opensim/commit/ec573bdf8891e099735391d2ecf91084%0Ae86878a4>
: 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
<https://github.com/M-O-S-E-S/opensim/commit/38cb2e6217628a1ad04e210c160e0f2e%0Aa99f2f22>
: 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
<https://github.com/M-O-S-E-S/opensim/commit/59fabdeab006d311ed5dbc06c514b6dc%0A9e2417be>
: 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 <tel:%28407%29%20242-0209>
-----Original Message-----
From: [email protected]
<mailto:[email protected]>
[mailto:[email protected]
<mailto:[email protected]>] On Behalf Of Sean M
Sent: Friday, June 19, 2015 12:06 PM
To: [email protected]
<mailto:[email protected]>
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
<http://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
<https://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipsta%0Atus%28v=vs.110%29.aspx>
<blockedhttps://msdn.microsoft.com/en-us/library/system.net.networkinformati
on.ipstatus(v=vs.110).aspx
<http://msdn.microsoft.com/en-us/library/system.net.networkinformati%0Aon.ipstatus%28v=vs.110%29.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
<https://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipsta%0Atus%28v=vs.110%29.aspx>
<blockedhttps://msdn.microsoft.com/en-us/library/system.net.networkinformati
on.ipstatus(v=vs.110).aspx
<http://msdn.microsoft.com/en-us/library/system.net.networkinformati%0Aon.ipstatus%28v=vs.110%29.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 <http://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
[email protected] <mailto:[email protected]>
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Classification: UNCLASSIFIED
Caveats: NONE
_______________________________________________
Opensim-dev mailing list
[email protected] <mailto:[email protected]>
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev