Files
mattermost/einterfaces/metrics.go

51 lines
1.2 KiB
Go
Raw Normal View History

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