예제 #1
0
        public static MonitoringData CreateMonitoringData()
        {
            var monitoringData = new MonitoringData();

            monitoringData.FillBaseData(ElephantCore.Instance.GetCurrentSession().GetSessionID());
            return(monitoringData);
        }
예제 #2
0
        void OnApplicationFocus(bool focus)
        {
            if (focus)
            {
                currentSession = SessionData.CreateSessionData();

                Log("Focus Gained");
                // rebuild queues from disk..
                RebuildQueue();

                // start queue processing
                processQueues = true;
            }
            else
            {
                Log("Focus Lost");
                // pause late update
                processQueues = false;

                // send session log
                var currentSession = ElephantCore.Instance.GetCurrentSession();
                currentSession.end_time = Utils.Timestamp();

                var sessionReq = new ElephantRequest(SESSION_EP, currentSession);
                AddToQueue(sessionReq);

                var monitoringReq = new ElephantRequest(MONITORING_EP, MonitoringData.CreateMonitoringData());
                AddToQueue(monitoringReq);

                // process queues
                ProcessQueues(true);

                // drain queues and persist them to send after gaining focus
                SaveQueues();
            }
        }