summaryrefslogtreecommitdiffstats
path: root/einterfaces/metrics.go
diff options
context:
space:
mode:
authorCorey Hulen <corey@hulen.com>2016-11-22 11:05:54 -0800
committerHarrison Healey <harrisonmhealey@gmail.com>2016-11-22 14:05:54 -0500
commit7961599b2e41c71720a42b3bfde641f7529f05fe (patch)
tree3c039e1d3790a954ba65fe551c7b348331bce994 /einterfaces/metrics.go
parente033dcce8e57ed6b6684227adf9b29347e4718b3 (diff)
downloadchat-7961599b2e41c71720a42b3bfde641f7529f05fe.tar.gz
chat-7961599b2e41c71720a42b3bfde641f7529f05fe.tar.bz2
chat-7961599b2e41c71720a42b3bfde641f7529f05fe.zip
PLT-4357 adding performance monitoring (#4622)
* WIP * WIP * Adding metrics collection * updating vendor packages * Adding metrics to config * Adding admin console page for perf monitoring * Updating glide * switching to tylerb/graceful
Diffstat (limited to 'einterfaces/metrics.go')
-rw-r--r--einterfaces/metrics.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/einterfaces/metrics.go b/einterfaces/metrics.go
new file mode 100644
index 000000000..192639e02
--- /dev/null
+++ b/einterfaces/metrics.go
@@ -0,0 +1,32 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package einterfaces
+
+type MetricsInterface interface {
+ StartServer()
+ StopServer()
+
+ IncrementPostCreate()
+ IncrementPostSentEmail()
+ IncrementPostSentPush()
+ IncrementPostBroadcast()
+ IncrementPostFileAttachment(count int)
+
+ IncrementHttpRequest()
+ IncrementHttpError()
+ ObserveHttpRequestDuration(elapsed float64)
+
+ IncrementLogin()
+ IncrementLoginFail()
+}
+
+var theMetricsInterface MetricsInterface
+
+func RegisterMetricsInterface(newInterface MetricsInterface) {
+ theMetricsInterface = newInterface
+}
+
+func GetMetricsInterface() MetricsInterface {
+ return theMetricsInterface
+}