[Opensim-dev] New Network Statistics (UNCLASSIFIED)
Maxwell, Douglas CIV USARMY ARL (US)
douglas.maxwell3.civ at mail.mil
Thu Jun 25 17:27:30 UTC 2015
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5629 bytes
Desc: not available
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20150625/5f0da50f/attachment.bin>
More information about the Opensim-dev
mailing list