summaryrefslogtreecommitdiffstats
path: root/utils/diagnostic.go
diff options
context:
space:
mode:
author=Corey Hulen <corey@hulen.com>2015-10-01 13:02:04 -0700
committer=Corey Hulen <corey@hulen.com>2015-10-01 13:02:04 -0700
commit9d688821aa8bb8d766793aeaec6920f9985a30a3 (patch)
tree9431e56bb28f3ca580175cba4dd7ed687952158d /utils/diagnostic.go
parente0c3d74146ffa608aa83a5e44e52976b9a7f56d2 (diff)
downloadchat-9d688821aa8bb8d766793aeaec6920f9985a30a3.tar.gz
chat-9d688821aa8bb8d766793aeaec6920f9985a30a3.tar.bz2
chat-9d688821aa8bb8d766793aeaec6920f9985a30a3.zip
PLT-462 Adding diagnostic info
Diffstat (limited to 'utils/diagnostic.go')
-rw-r--r--utils/diagnostic.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/utils/diagnostic.go b/utils/diagnostic.go
new file mode 100644
index 000000000..2f3893cec
--- /dev/null
+++ b/utils/diagnostic.go
@@ -0,0 +1,45 @@
+// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package utils
+
+import (
+ "net/http"
+
+ l4g "code.google.com/p/log4go"
+
+ "github.com/mattermost/platform/model"
+)
+
+const (
+ PROP_DIAGNOSTIC_ID = "id"
+ PROP_DIAGNOSTIC_CATEGORY = "c"
+ VAL_DIAGNOSTIC_CATEGORY_DEFALUT = "d"
+ PROP_DIAGNOSTIC_BUILD = "b"
+ PROP_DIAGNOSTIC_DATABASE = "db"
+ PROP_DIAGNOSTIC_OS = "os"
+ PROP_DIAGNOSTIC_USER_COUNT = "uc"
+)
+
+func SendDiagnostic(data model.StringMap) *model.AppError {
+ if Cfg.PrivacySettings.EnableDiagnostic && model.BuildNumber != "_BUILD_NUMBER_" {
+
+ query := "?"
+ for name, value := range data {
+ if len(query) > 1 {
+ query += "&"
+ }
+
+ query += name + "=" + UrlEncode(value)
+ }
+
+ res, err := http.Get("http://d7zmvsa9e04kk.cloudfront.net/i" + query)
+ if err != nil {
+ l4g.Error("Failed to send diagnostics %v", err.Error())
+ }
+
+ res.Body.Close()
+ }
+
+ return nil
+}