public void HandleLogMessage(TimestampMessage message) { var userMessage = message as UserTimestampMessage; if (userMessage?.Type != UserTimestampMessage.MessageType.Regular) { return; } var match = LogRegex.Emote.Match(message.RawContent); if (!match.Success) { return; } string[] emote = match.Groups[1].Value.Split('-'); string baseEmote = emote[0]; if (!_userEmoteDictionary.ContainsKey(userMessage.Username)) { _userEmoteDictionary[userMessage.Username] = new Dictionary <string, EmoteStats>(); } var dict = _userEmoteDictionary[userMessage.Username]; if (!dict.ContainsKey(baseEmote)) { dict[baseEmote] = new EmoteStats(); } dict[baseEmote].Count++; emote.Skip(1).ForEach(effect => dict[baseEmote].Effects.AddAndIncrement(effect)); }
public void HandleLogMessage(TimestampMessage message) { var userMessage = message as UserTimestampMessage; if (userMessage?.Type != UserTimestampMessage.MessageType.Join) { return; } if (!loggedInUsers.Contains(userMessage.Username)) { loggedInUsers.Add(userMessage.Username); } }
public void HandleLogMessage(TimestampMessage message) { var userMessage = message as UserTimestampMessage; if (userMessage?.Type != UserTimestampMessage.MessageType.Join) { return; } if (!LoginCount.ContainsKey(userMessage.Username)) { LoginCount[userMessage.Username] = 0; } LoginCount[userMessage.Username]++; }
public void HandleLogMessage(TimestampMessage message) { var userMessage = message as UserTimestampMessage; if (userMessage?.Type != UserTimestampMessage.MessageType.Regular) { return; } if (!NumberMessagesDict.ContainsKey(userMessage.Username)) { NumberMessagesDict[userMessage.Username] = 0; } NumberMessagesDict[userMessage.Username]++; }
public void ReadLines() { string line; while ((line = fileStreamReader.ReadLine()) != null) { TimestampMessage message = TimestampMessage.Create(baseDate, line); if (message == null) { continue; } foreach (var metric in metrics) { metric.HandleLogMessage(message); } } }
public void HandleLogMessage(TimestampMessage message) { var userMessage = message as UserTimestampMessage; if (userMessage?.Type != UserTimestampMessage.MessageType.Join) { return; } var date = new LocalDate(message.Timestamp.Year, message.Timestamp.Month, message.Timestamp.Day); LastLoginDict[userMessage.Username] = date; if (!FirstLoginDict.ContainsKey(userMessage.Username)) { FirstLoginDict[userMessage.Username] = date; } }
public void HandleLogMessage(TimestampMessage message) { var userMessage = message as UserTimestampMessage; if (userMessage?.Type != UserTimestampMessage.MessageType.Join && userMessage?.Type != UserTimestampMessage.MessageType.Leave) { return; } if (userMessage.Type == UserTimestampMessage.MessageType.Join) { UserJoin(userMessage); } else if (userMessage.Type == UserTimestampMessage.MessageType.Leave) { UserLeave(userMessage); } }
public void HandleLogMessage(TimestampMessage message) { var userMessage = message as UserTimestampMessage; if (userMessage?.Type != UserTimestampMessage.MessageType.Join && userMessage?.Type != UserTimestampMessage.MessageType.Leave) { return; } var messageInOffset = userMessage.ToZone(this.TimeZone); if (messageInOffset.Type == UserTimestampMessage.MessageType.Join) { UserJoin(messageInOffset); } else if (messageInOffset.Type == UserTimestampMessage.MessageType.Leave) { UserLeave(messageInOffset); } }
public TimestampMessage(TimestampMessage message) { this.Timestamp = message.Timestamp; this.RawContent = message.RawContent; this.ZonedTimestamp = message.ZonedTimestamp; }