mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-16 02:23:10 -06:00
Tweaks
This commit is contained in:
parent
f48d0fb569
commit
f284e8872f
|
|
@ -95,30 +95,7 @@ func (s *OutputRoomEventConsumer) onMessage(ctx context.Context, msgs []*nats.Ms
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
_, sender, _ := gomatrixserverlib.SplitID('@', event.Sender())
|
s.storeMessageStats(ctx, event.Type(), event.Sender())
|
||||||
|
|
||||||
switch event.Type() {
|
|
||||||
case "m.room.message":
|
|
||||||
s.msgCountsLock.Lock()
|
|
||||||
msgCount := s.msgCounts[s.serverName]
|
|
||||||
msgCount.Messages++
|
|
||||||
if sender == s.serverName {
|
|
||||||
msgCount.SentMessages++
|
|
||||||
}
|
|
||||||
s.msgCounts[s.serverName] = msgCount
|
|
||||||
s.msgCountsLock.Unlock()
|
|
||||||
case "m.room.encrypted":
|
|
||||||
s.msgCountsLock.Lock()
|
|
||||||
msgCount := s.msgCounts[s.serverName]
|
|
||||||
msgCount.MessagesE2EE++
|
|
||||||
if sender == s.serverName {
|
|
||||||
msgCount.SentMessagesE2EE++
|
|
||||||
}
|
|
||||||
s.msgCounts[s.serverName] = msgCount
|
|
||||||
s.msgCountsLock.Unlock()
|
|
||||||
}
|
|
||||||
|
|
||||||
s.storeMessageStats(ctx)
|
|
||||||
|
|
||||||
log.WithFields(log.Fields{
|
log.WithFields(log.Fields{
|
||||||
"event_id": event.EventID(),
|
"event_id": event.EventID(),
|
||||||
|
|
@ -139,17 +116,30 @@ func (s *OutputRoomEventConsumer) onMessage(ctx context.Context, msgs []*nats.Ms
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *OutputRoomEventConsumer) storeMessageStats(ctx context.Context) {
|
func (s *OutputRoomEventConsumer) storeMessageStats(ctx context.Context, eventType, eventSender string) {
|
||||||
s.msgCountsLock.Lock()
|
s.msgCountsLock.Lock()
|
||||||
defer s.msgCountsLock.Unlock()
|
defer s.msgCountsLock.Unlock()
|
||||||
var sumStats int64 = 0
|
|
||||||
for _, stats := range s.msgCounts {
|
_, sender, err := gomatrixserverlib.SplitID('@', eventSender)
|
||||||
sumStats += stats.Messages + stats.SentMessages + stats.MessagesE2EE + stats.SentMessagesE2EE
|
if err != nil {
|
||||||
}
|
|
||||||
// Nothing to do
|
|
||||||
if sumStats == 0 {
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
msgCount := s.msgCounts[s.serverName]
|
||||||
|
switch eventType {
|
||||||
|
case "m.room.message":
|
||||||
|
msgCount.Messages++
|
||||||
|
if sender == s.serverName {
|
||||||
|
msgCount.SentMessages++
|
||||||
|
}
|
||||||
|
case "m.room.encrypted":
|
||||||
|
msgCount.MessagesE2EE++
|
||||||
|
if sender == s.serverName {
|
||||||
|
msgCount.SentMessagesE2EE++
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return
|
||||||
|
}
|
||||||
|
s.msgCounts[s.serverName] = msgCount
|
||||||
for serverName, stats := range s.msgCounts {
|
for serverName, stats := range s.msgCounts {
|
||||||
err := s.db.UpsertDailyMessages(ctx, serverName, stats)
|
err := s.db.UpsertDailyMessages(ctx, serverName, stats)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue