コード例 #1
0
ファイル: Telemetry.cs プロジェクト: h-a-r-s-h-p/hello-world
        /// <summary>
        ///     get the SessionAnalytics to transfer
        ///     back to UX module to display the analytics
        /// </summary>
        /// <params> Array of ChatContext objects which contains information about messages of each thread </params>
        /// <returns>
        ///     Returns SessionAnalytics object which contains analytics of session
        /// </returns>
        public SessionAnalytics GetTelemetryAnalytics(ChatContext[] all_messages)
        {
            SessionAnalytics sessionAnalyticsToSend = new SessionAnalytics();

            sessionAnalyticsToSend.chatCountForEachUser = userIdChatCountDic;
            sessionAnalyticsToSend.userCountAtAnyTime   = userCountAtEachTimeStamp;
            sessionAnalyticsToSend.insincereMembers     = insincereMembers;
            return(sessionAnalyticsToSend);
        }
コード例 #2
0
        public SessionAnalytics GetSessionAnalytics(string ownerName, string name, DateTime startDate, DateTime endDate)
        {
            var command = CreateCommand(AnalyticsCommand, $"sessions --app \"{ownerName}/{name}\"  -s \"{endDate.ToShortDateString()}\"  -e \"{startDate.ToShortDateString()}\"");
            var result  = BashHelper.ExecuteBashCommand(command);

            string[] lines = Regex.Split(result.Output, "\n");

            return(SessionAnalytics.ParseFromString(lines));
        }
コード例 #3
0
ファイル: Telemetry.cs プロジェクト: h-a-r-s-h-p/hello-world
        /// <summary>
        ///     Used to simplify the ChatContext and saved all analytics when the session is over.
        /// </summary>
        /// <params name="allMessages"> Array of ChatContext objects which contains information about messages of each thread </params>
        public void SaveAnalytics(ChatContext[] allMessages)
        {
            // save the session data
            GetUserVsChatCount(allMessages);
            SessionAnalytics sessionAnalyticsToSave = new SessionAnalytics();

            sessionAnalyticsToSave.chatCountForEachUser = userIdChatCountDic;
            sessionAnalyticsToSave.userCountAtAnyTime   = userCountAtEachTimeStamp;
            sessionAnalyticsToSave.insincereMembers     = insincereMembers;
            Save(sessionAnalyticsToSave);
            // saving server data
            int totalChats = 0;
            int totalUsers = 0;

            foreach (KeyValuePair <int, int> user_i in userIdChatCountDic)
            {
                totalChats += user_i.Value;
                totalUsers += 1;
            }
            UpdateServerData(totalUsers, totalChats);
        }