<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix"><tt>Sean,</tt><tt><br>
      </tt><tt><br>
      </tt><tt>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.</tt><tt><br>
      </tt><tt><br>
      </tt><tt>Thanks.</tt><tt><br>
      </tt><br>
      On 6/25/2015 1:08 PM, Sean M wrote:<br>
    </div>
    <blockquote
cite="mid:CAF6nW42YmqiJBRRE2rBi84aHU_Tu3pLcuz4fvHx3Gi6yfzGS+Q@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>Greetings,</div>
        <div><br>
        </div>
        <div>Below are answers to the MOSES repo commit description
          questions you have. Each inaccurate description will be
          resolved in the corresponding patch.</div>
        <div><b><br>
          </b></div>
        <div><b>Question 1)</b> <a moz-do-not-send="true"
href="https://github.com/M-O-S-E-S/opensim/commit/2c7a834c0edaed151046272bc96fbd6bc21d05ae">https://github.com/M-O-S-E-S/opensim/commit/2c7a834c0edaed151046272bc96fbd6bc21d05ae</a>
          : why is MOSES different than regular OpenSim and, if it's
          different, why should this come to core?</div>
        <div><br>
        </div>
        <div><b>Answer 1)</b> 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.</div>
        <div><br>
        </div>
        <div><b>Question 2)</b> <a moz-do-not-send="true"
href="https://github.com/M-O-S-E-S/opensim/commit/be8593a19b748c9a7be097bd7c14bbd519435760">https://github.com/M-O-S-E-S/opensim/commit/be8593a19b748c9a7be097bd7c14bbd519435760</a>
          : the actual code change has nothing to do with the commit
          message. Explanation needed.</div>
        <div><br>
        </div>
        <div><b>Answer 2)</b> 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  <a moz-do-not-send="true"
href="https://github.com/M-O-S-E-S/opensim/commit/c937f49db970e9fdb8d54928b19c5f577289ea94">https://github.com/M-O-S-E-S/opensim/commit/c937f49db970e9fdb8d54928b19c5f577289ea94</a></div>
        <div><br>
        </div>
        <div><b>Question 3)</b> <a moz-do-not-send="true"
href="https://github.com/M-O-S-E-S/opensim/commit/ec573bdf8891e099735391d2ecf91084e86878a4">https://github.com/M-O-S-E-S/opensim/commit/ec573bdf8891e099735391d2ecf91084e86878a4</a>
          : 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.</div>
        <div><b><br>
          </b></div>
        <div><b>Answer 3)</b> 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".</div>
        <div><br>
        </div>
        <div><b>Question 4)</b> <a moz-do-not-send="true"
href="https://github.com/M-O-S-E-S/opensim/commit/38cb2e6217628a1ad04e210c160e0f2ea99f2f22">https://github.com/M-O-S-E-S/opensim/commit/38cb2e6217628a1ad04e210c160e0f2ea99f2f22</a>
          : again, the title of that commit message is misleading. I
          don't see any spacing issues being fixed in that commit.
          Explanation needed.</div>
        <div><b><br>
          </b></div>
        <div><b>Answer 4) </b>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 <a moz-do-not-send="true"
href="https://github.com/M-O-S-E-S/opensim/blob/c6a600ea52d0f96892664e4de3c1deebc96d0408/OpenSim/Region/Framework/Scenes/Scene.cs">https://github.com/M-O-S-E-S/opensim/blob/c6a600ea52d0f96892664e4de3c1deebc96d0408/OpenSim/Region/Framework/Scenes/Scene.cs</a></div>
        <div><br>
        </div>
        <div><b>Question 5)</b> <a moz-do-not-send="true"
href="https://github.com/M-O-S-E-S/opensim/commit/59fabdeab006d311ed5dbc06c514b6dc9e2417be">https://github.com/M-O-S-E-S/opensim/commit/59fabdeab006d311ed5dbc06c514b6dc9e2417be</a>
          : 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"?</div>
        <div><b><br>
          </b></div>
        <div><b>Answer 5)</b> 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.</div>
        <div><br>
        </div>
        <div>Regards,</div>
        <div>Sean Mondesire</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Thu, Jun 25, 2015 at 1:27 PM,
          Maxwell, Douglas CIV USARMY ARL (US) <span dir="ltr"><<a
              moz-do-not-send="true"
              href="mailto:douglas.maxwell3.civ@mail.mil"
              target="_blank">douglas.maxwell3.civ@mail.mil</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">Classification:
            UNCLASSIFIED<br>
            Caveats: NONE<br>
            <br>
            Understood.  We'll discuss your concerns below and generate
            a patch.<br>
            <span class=""><br>
              v/r -doug<br>
              <br>
              Douglas Maxwell, Ph.D.<br>
              Science and Technology Manager<br>
              Virtual World Strategic Applications<br>
              U.S. Army Research Lab<br>
              Simulation & Training Technology Center (STTC)<br>
              (c) <a moz-do-not-send="true"
                href="tel:%28407%29%20242-0209" value="+14072420209">(407)
                242-0209</a><br>
              <br>
              <br>
              <br>
              -----Original Message-----<br>
              From: <a moz-do-not-send="true"
                href="mailto:opensim-dev-bounces@opensimulator.org">opensim-dev-bounces@opensimulator.org</a><br>
            </span>
            <div>
              <div class="h5">[mailto:<a moz-do-not-send="true"
                  href="mailto:opensim-dev-bounces@opensimulator.org">opensim-dev-bounces@opensimulator.org</a>]
                On Behalf Of Diva Canto<br>
                Sent: Thursday, June 25, 2015 11:33 AM<br>
                To: <a moz-do-not-send="true"
                  href="mailto:opensim-dev@opensimulator.org">opensim-dev@opensimulator.org</a><br>
                Subject: Re: [Opensim-dev] New Network Statistics
                (UNCLASSIFIED)<br>
                <br>
                Doug, we prefer patches, because we can discuss them in
                mantis, rather than<br>
                here. Nevertheless, I looked at the the MOSES repo at
                the time, and I looked<br>
                at it again right now. I have some questions.
                Specifically:<br>
                <br>
                <a moz-do-not-send="true"
href="https://github.com/M-O-S-E-S/opensim/commit/2c7a834c0edaed151046272bc96fbd6b%0Ac21d05ae"
                  rel="noreferrer" target="_blank">https://github.com/M-O-S-E-S/opensim/commit/2c7a834c0edaed151046272bc96fbd6b<br>
                  c21d05ae</a> : why is MOSES different than regular
                OpenSim and, if it's<br>
                different, why should this come to core?<br>
                <br>
                <a moz-do-not-send="true"
href="https://github.com/M-O-S-E-S/opensim/commit/be8593a19b748c9a7be097bd7c14bbd5"
                  rel="noreferrer" target="_blank">https://github.com/M-O-S-E-S/opensim/commit/be8593a19b748c9a7be097bd7c14bbd5</a><br>
                19435760 : the actual code change has nothing to do with
                the commit message.<br>
                Explanation needed.<br>
                <br>
                <a moz-do-not-send="true"
href="https://github.com/M-O-S-E-S/opensim/commit/ec573bdf8891e099735391d2ecf91084%0Ae86878a4"
                  rel="noreferrer" target="_blank">https://github.com/M-O-S-E-S/opensim/commit/ec573bdf8891e099735391d2ecf91084<br>
                  e86878a4</a> : the code change and the commit message
                don't really go along. The<br>
                reception of the CompleteAgentMovement packet is
                independent of textures, in<br>
                general. Explanation needed.<br>
                <br>
                <a moz-do-not-send="true"
href="https://github.com/M-O-S-E-S/opensim/commit/38cb2e6217628a1ad04e210c160e0f2e%0Aa99f2f22"
                  rel="noreferrer" target="_blank">https://github.com/M-O-S-E-S/opensim/commit/38cb2e6217628a1ad04e210c160e0f2e<br>
                  a99f2f22</a> : again, the title of that commit message
                is misleading. I don't<br>
                see any spacing issues being fixed in that commit.
                Explanation needed.<br>
                <br>
                <a moz-do-not-send="true"
href="https://github.com/M-O-S-E-S/opensim/commit/59fabdeab006d311ed5dbc06c514b6dc%0A9e2417be"
                  rel="noreferrer" target="_blank">https://github.com/M-O-S-E-S/opensim/commit/59fabdeab006d311ed5dbc06c514b6dc<br>
                  9e2417be</a> : I don't understand this commit at all.
                Why is the reading of<br>
                MaptileStaticUUID being eliminated? Why is the telehub
                warning being<br>
                eliminated? Why is the position check being eliminated?
                Why is a large chunk<br>
                of commented code being eliminated under a commit
                message "Fixed compilation<br>
                issues caused by merge"?<br>
                <br>
                These are things that need to be clarified by whoever
                made those commits<br>
                before this code comes into core. That's one of the
                reasons why submitting<br>
                this as a patch would be more appropriate, as we could
                have this<br>
                conversation in mantis, where it will be associated with
                the merge for the<br>
                future. But please forward this email to them and send
                back the answers.<br>
                Independent of the merge process, these things need to
                be clarified before<br>
                any merge happens.<br>
                <br>
                Thanks.<br>
                <br>
                <br>
                <br>
                On 6/25/2015 7:39 AM, Maxwell, Douglas CIV USARMY ARL
                (US) wrote:<br>
                <br>
                <br>
                        Classification: UNCLASSIFIED<br>
                        Caveats: NONE<br>
                <br>
                        OPENSIM-DEVs:  We announced last week that a
                pull was ready for you<br>
                from our Github.  Rather than generate a patch, we
                wanted to see if this<br>
                method of code delivery would be easier for you.  We
                have not seen any<br>
                movement on this yet.  Is there an ETA for when you plan
                to perform the code<br>
                pull or would you rather us provide the patch instead? 
                Pls advise quickly,<br>
                we have more code coming your way in the near future.<br>
                <br>
                        v/r -doug<br>
                <br>
                        Douglas Maxwell, Ph.D.<br>
                        Science and Technology Manager<br>
                        Virtual World Strategic Applications<br>
                        U.S. Army Research Lab<br>
                        Simulation & Training Technology Center
                (STTC)<br>
                        (c) <a moz-do-not-send="true"
                  href="tel:%28407%29%20242-0209" value="+14072420209">(407)
                  242-0209</a><br>
                <br>
                <br>
                <br>
                        -----Original Message-----<br>
                        From: <a moz-do-not-send="true"
                  href="mailto:opensim-dev-bounces@opensimulator.org">opensim-dev-bounces@opensimulator.org</a><br>
                [mailto:<a moz-do-not-send="true"
                  href="mailto:opensim-dev-bounces@opensimulator.org">opensim-dev-bounces@opensimulator.org</a>]
                On Behalf Of Sean M<br>
                        Sent: Friday, June 19, 2015 12:06 PM<br>
                        To: <a moz-do-not-send="true"
                  href="mailto:opensim-dev@opensimulator.org">opensim-dev@opensimulator.org</a><br>
                        Subject: [Opensim-dev] New Network Statistics<br>
                <br>
                <br>
                        Greetings,<br>
                <br>
                <br>
                        The MOSES Team has completed work on adding more
                network-based<br>
                statistics gathering to OpenSim. With these changes, you
                will be able to<br>
                accurately determine, through the JSON SimStats, how
                your simulator is<br>
                performing network-wise with measures in packets, bytes,
                queue size, and<br>
                latency. Particularly with the latency measures, we have
                added variables to<br>
                the OpenSim.ini file (specified below) to allow you to
                turn these features<br>
                on and off (off by default). Furthermore, we have added
                IP-to-avatar<br>
                tracking that is outputted via a new JSON output stream
                (specified below).<br>
                <br>
                        The statistics work is available on our GitHub
                repo, where you may<br>
                pull from:<br>
                <br>
                        <a moz-do-not-send="true"
                  href="https://github.com/M-O-S-E-S/opensim"
                  rel="noreferrer" target="_blank">https://github.com/M-O-S-E-S/opensim</a><br>
                <blockedhttps://<a moz-do-not-send="true"
                  href="http://github.com/M-O-S-E-S/opensim"
                  rel="noreferrer" target="_blank">github.com/M-O-S-E-S/opensim</a>><br>
                <br>
                        Below are details of each of the modified and
                newly added<br>
                statistics.<br>
                <br>
                        Network Statistics<br>
                <br>
                <br>
                <br>
                <br>
                        PktsIn - Now the number of packets received are
                averaged inside the<br>
                LLUDPClient before being sent to the SimStatsReporter.
                The time is<br>
                calculated using a stopwatch. This is done to enforce an
                accurate<br>
                measurement since the SimStatsReporter and the UDP
                message system are<br>
                running on separate threads. The stat is reported as the
                number of packets<br>
                per second.<br>
                <br>
                <br>
                <br>
                <br>
                        PktsOut - Now the number of packets sent are
                averaged inside the<br>
                LLUDPClient before being sent to the SimStatsReporter.
                The time is<br>
                calculated using a stopwatch. This is done to enforce an
                accurate<br>
                measurement since the SimStatsReporter and the UDP
                message system are<br>
                running on separate threads. The stat is reported as the
                number of packets<br>
                per second.<br>
                <br>
                <br>
                <br>
                <br>
                        UDPIn - This is the same as PktsIn except that
                it tracks the number<br>
                of bytes being received instead of the number of
                packets.<br>
                <br>
                <br>
                <br>
                <br>
                        UDPOut - This is the same as PktsOut except that
                it tracks the<br>
                number of bytes being sent instead of the number of
                packets.<br>
                <br>
                <br>
                <br>
                <br>
                        UDPInError - Tracks the number of packets that
                are sent to<br>
                RecordMalformedInboundPacket. Then divides by the time
                in the UDPClient<br>
                before sending the average number of packets that were
                malformed to the<br>
                SimStatsReporter. The stat is reported as the number of
                packets per second.<br>
                <br>
                <br>
                <br>
                <br>
                        ClientPing - Average ping between OpenSim and a
                subset of its<br>
                connected users. This will show a value of -1 if the
                ping reply status was<br>
                not successful. A non-successful status may vary (e.g.
                Timeout, time limit<br>
                exceeded, firewall issues). Check C#'s IPStatus class
                for more information<br>
                on the various states:<br>
                <a moz-do-not-send="true"
href="https://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipsta%0Atus%28v=vs.110%29.aspx"
                  rel="noreferrer" target="_blank">https://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipsta<br>
                  tus(v=vs.110).aspx</a><br>
                <blockedhttps://<a moz-do-not-send="true"
href="http://msdn.microsoft.com/en-us/library/system.net.networkinformati%0Aon.ipstatus%28v=vs.110%29.aspx"
                  rel="noreferrer" target="_blank">msdn.microsoft.com/en-us/library/system.net.networkinformati<br>
                  on.ipstatus(v=vs.110).aspx</a>><br>
                <br>
                <br>
                <br>
                <br>
                        AvgPing - Average ping to an external server.
                This will show a value<br>
                of -1 if the ping reply status was not successful. A
                non-successful status<br>
                may vary (e.g. Timeout, time limit exceeded, firewall
                issues). Check C#'s<br>
                IPStatus class for more information on the various
                states:<br>
                <a moz-do-not-send="true"
href="https://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipsta%0Atus%28v=vs.110%29.aspx"
                  rel="noreferrer" target="_blank">https://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipsta<br>
                  tus(v=vs.110).aspx</a><br>
                <blockedhttps://<a moz-do-not-send="true"
href="http://msdn.microsoft.com/en-us/library/system.net.networkinformati%0Aon.ipstatus%28v=vs.110%29.aspx"
                  rel="noreferrer" target="_blank">msdn.microsoft.com/en-us/library/system.net.networkinformati<br>
                  on.ipstatus(v=vs.110).aspx</a>><br>
                <br>
                        NetFT - Split into 2 statistics which are
                NetEvtTime and NetQSize.<br>
                <br>
                <br>
                <br>
                <br>
                        NetEvtTime - This is acquired inside the
                LLUDPServer class inside<br>
                the IncomingPacketHandler. This records the time it took
                each time a packet<br>
                is processed then divides by the number of packets. This
                is a moving average<br>
                over N number of packets. Where N is equal to the number
                of frames being<br>
                stored for Total, Simulation, and Physics frame time.<br>
                <br>
                <br>
                <br>
                <br>
                        NetQSize - This is acquired at the same time as
                NetEvtTime. This is<br>
                the size of the queue that is left to be processed. This
                is also a moving<br>
                average based on N, where N is equal to the number of
                frames being stored<br>
                for Total, Simulation, and Physics frame time.<br>
                <br>
                <br>
                <br>
                <br>
                        Client IP Addresses - This is a list of clients
                and their IP<br>
                Addresses. In order to access the list use the address
                format as follows<br>
                <br>
                                        [Server IP address]:[Port
                number]/[Custom URI name]<br>
                <br>
                        The default using the value in the example of
                Agent_Stats_URI would<br>
                be<br>
                <br>
                                        <a moz-do-not-send="true"
                  href="http://127.0.0.1:9000/jsonUserStats"
                  rel="noreferrer" target="_blank">127.0.0.1:9000/jsonUserStats</a><br>
                <br>
                <br>
                <br>
                <br>
                        OpenSim.ini Changes<br>
                <br>
                <br>
                <br>
                <br>
                        The subheadings in this section correspond with
                the Sections inside<br>
                of the OpenSim.ini file.<br>
                <br>
                <br>
                <br>
                <br>
                        Startup<br>
                <br>
                <br>
                <br>
                <br>
                        Agent_Stats_URI - Provides the web URI that will
                allow the developer<br>
                to access the current clients and there IP Addresses. An
                example is<br>
                <br>
                            ; Agent Login Stats URI<br>
                <br>
                            ; Enable JSON agent data by setting a URI
                name (case sensitive)<br>
                <br>
                            ; Returns regular agent stats (Name,
                IPAddress, Login)<br>
                <br>
                            Agent_Stats_URI = "jsonUserStats"<br>
                <br>
                <br>
                <br>
                <br>
                <br>
                <br>
                        Statistics<br>
                <br>
                <br>
                <br>
                <br>
                        NumberOfFrames - This is the number of frames or
                packets that will<br>
                be held onto and then averaged for total frame time,
                simulation frame time,<br>
                physics frame time, NetEvtTime, and NetQSize.<br>
                <br>
                        ClientPingSubset - This is an integer that
                defaults to 1. It is the<br>
                number of clients that will be pinged to create an
                average ping rate. This<br>
                is done as a subset of the total number of clients.<br>
                <br>
                        ClientPingFrequency - The frequency with which
                we ping the client.<br>
                This value is in seconds.<br>
                <br>
                        ExternalServer - Address of the external server
                to be pinged.<br>
                <br>
                        ExternalPingFrequency - The frequency with which
                we ping the<br>
                external server. This value is in seconds.<br>
                <br>
                        PingExternalServerEnabled - A flag that tells
                opensim whether it<br>
                should be pinging the external server.<br>
                <br>
                        PingClientEnabled - A flag that tells opensim
                whether it should be<br>
                pinging the clients.<br>
                <br>
                        StatsUpdateEveryMS - An integer that will
                control how often the<br>
                SimStatsReporter heartbeat will run for. This value
                should be given in<br>
                milliseconds.<br>
                <br>
                <br>
                <br>
                <br>
                <br>
                <br>
                <br>
                        Best regards,<br>
                <br>
                        Sean Mondesire, Ph.D.<br>
                <br>
                        MOSES Team<br>
                <br>
                <br>
                        Classification: UNCLASSIFIED<br>
                        Caveats: NONE<br>
                <br>
                <br>
                <br>
                <br>
                <br>
                        _______________________________________________<br>
                        Opensim-dev mailing list<br>
                        <a moz-do-not-send="true"
                  href="mailto:Opensim-dev@opensimulator.org">Opensim-dev@opensimulator.org</a><br>
                        <a moz-do-not-send="true"
                  href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev"
                  rel="noreferrer" target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
                <br>
                <br>
                <br>
              </div>
            </div>
            Classification: UNCLASSIFIED<br>
            Caveats: NONE<br>
            <br>
            <br>
            <br>
            _______________________________________________<br>
            Opensim-dev mailing list<br>
            <a moz-do-not-send="true"
              href="mailto:Opensim-dev@opensimulator.org">Opensim-dev@opensimulator.org</a><br>
            <a moz-do-not-send="true"
              href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev"
              rel="noreferrer" target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Opensim-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-dev@opensimulator.org">Opensim-dev@opensimulator.org</a>
<a class="moz-txt-link-freetext" href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>