Add Prometheus metrics

Closes #197

Co-authored-by: haywo <haywo@nct08.de>
This commit is contained in:
Tulir Asokan
2020-06-17 17:50:06 +03:00
parent 8e30262275
commit beed19fdad
7 changed files with 370 additions and 25 deletions

View File

@@ -55,6 +55,7 @@ func NewMatrixHandler(bridge *Bridge) *MatrixHandler {
}
func (mx *MatrixHandler) HandleEncryption(evt *event.Event) {
defer mx.bridge.Metrics.TrackEvent(evt.Type)()
if evt.Content.AsEncryption().Algorithm != id.AlgorithmMegolmV1 {
return
}
@@ -132,6 +133,7 @@ func (mx *MatrixHandler) HandleMembership(evt *event.Event) {
if _, isPuppet := mx.bridge.ParsePuppetMXID(evt.Sender); evt.Sender == mx.bridge.Bot.UserID || isPuppet {
return
}
defer mx.bridge.Metrics.TrackEvent(evt.Type)()
if mx.bridge.Crypto != nil {
mx.bridge.Crypto.HandleMemberEvent(evt)
@@ -170,6 +172,7 @@ func (mx *MatrixHandler) HandleMembership(evt *event.Event) {
}
func (mx *MatrixHandler) HandleRoomMetadata(evt *event.Event) {
defer mx.bridge.Metrics.TrackEvent(evt.Type)()
user := mx.bridge.GetUserByMXID(evt.Sender)
if user == nil || !user.Whitelisted || !user.IsConnected() {
return
@@ -214,6 +217,7 @@ func (mx *MatrixHandler) shouldIgnoreEvent(evt *event.Event) bool {
}
func (mx *MatrixHandler) HandleEncrypted(evt *event.Event) {
defer mx.bridge.Metrics.TrackEvent(evt.Type)()
if mx.shouldIgnoreEvent(evt) || mx.bridge.Crypto == nil {
return
}
@@ -227,6 +231,7 @@ func (mx *MatrixHandler) HandleEncrypted(evt *event.Event) {
}
func (mx *MatrixHandler) HandleMessage(evt *event.Event) {
defer mx.bridge.Metrics.TrackEvent(evt.Type)()
if mx.shouldIgnoreEvent(evt) {
return
}
@@ -252,6 +257,7 @@ func (mx *MatrixHandler) HandleMessage(evt *event.Event) {
}
func (mx *MatrixHandler) HandleRedaction(evt *event.Event) {
defer mx.bridge.Metrics.TrackEvent(evt.Type)()
if _, isPuppet := mx.bridge.ParsePuppetMXID(evt.Sender); evt.Sender == mx.bridge.Bot.UserID || isPuppet {
return
}