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

51 lines
1.2 KiB
Go
Raw Normal View History

2017-08-16 14:37:37 -07:00
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
2017-01-16 14:59:50 -08:00
// See License.txt for license information.
package einterfaces
type MetricsInterface interface {
StartServer()
StopServer()
IncrementPostCreate()
2017-03-25 13:04:10 -07:00
IncrementWebhookPost()
2017-01-16 14:59:50 -08:00
IncrementPostSentEmail()
IncrementPostSentPush()
IncrementPostBroadcast()
IncrementPostFileAttachment(count int)
IncrementHttpRequest()
IncrementHttpError()
ObserveHttpRequestDuration(elapsed float64)
2017-03-25 13:04:10 -07:00
IncrementClusterRequest()
ObserveClusterRequestDuration(elapsed float64)
2017-01-16 14:59:50 -08:00
IncrementLogin()
IncrementLoginFail()
IncrementEtagHitCounter(route string)
IncrementEtagMissCounter(route string)
IncrementMemCacheHitCounter(cacheName string)
IncrementMemCacheMissCounter(cacheName string)
2017-03-25 13:04:10 -07:00
IncrementMemCacheMissCounterSession()
IncrementMemCacheHitCounterSession()
IncrementWebsocketEvent(eventType string)
2017-08-16 14:37:37 -07:00
IncrementWebSocketBroadcast(eventType string)
2017-01-16 14:59:50 -08: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
}