matterbridge/vendor/github.com/mattermost/platform/einterfaces/metrics.go

50 lines
1.2 KiB
Go
Raw Normal View History

2017-01-16 23:59:50 +01:00
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package einterfaces
type MetricsInterface interface {
StartServer()
StopServer()
IncrementPostCreate()
2017-03-25 21:04:10 +01:00
IncrementWebhookPost()
2017-01-16 23:59:50 +01:00
IncrementPostSentEmail()
IncrementPostSentPush()
IncrementPostBroadcast()
IncrementPostFileAttachment(count int)
IncrementHttpRequest()
IncrementHttpError()
ObserveHttpRequestDuration(elapsed float64)
2017-03-25 21:04:10 +01:00
IncrementClusterRequest()
ObserveClusterRequestDuration(elapsed float64)
2017-01-16 23:59:50 +01:00
IncrementLogin()
IncrementLoginFail()
IncrementEtagHitCounter(route string)
IncrementEtagMissCounter(route string)
IncrementMemCacheHitCounter(cacheName string)
IncrementMemCacheMissCounter(cacheName string)
2017-03-25 21:04:10 +01:00
IncrementMemCacheMissCounterSession()
IncrementMemCacheHitCounterSession()
IncrementWebsocketEvent(eventType string)
2017-01-16 23:59:50 +01:00
AddMemCacheHitCounter(cacheName string, amount float64)
AddMemCacheMissCounter(cacheName string, amount float64)
}
var theMetricsInterface MetricsInterface
func RegisterMetricsInterface(newInterface MetricsInterface) {
theMetricsInterface = newInterface
}
func GetMetricsInterface() MetricsInterface {
return theMetricsInterface
}