2015-03-22 14:14:00 -05:00
|
|
|
package metrics
|
|
|
|
|
2016-06-03 10:15:17 -05:00
|
|
|
var MetricStats Registry
|
|
|
|
var UseNilMetrics bool
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
// init with nil metrics
|
|
|
|
initMetricVars(&MetricSettings{})
|
|
|
|
}
|
2015-03-22 14:14:00 -05:00
|
|
|
|
|
|
|
var (
|
2016-09-13 08:09:55 -05:00
|
|
|
M_Instance_Start Counter
|
|
|
|
M_Page_Status_200 Counter
|
|
|
|
M_Page_Status_500 Counter
|
|
|
|
M_Page_Status_404 Counter
|
|
|
|
M_Page_Status_Unknown Counter
|
|
|
|
M_Api_Status_200 Counter
|
|
|
|
M_Api_Status_404 Counter
|
|
|
|
M_Api_Status_500 Counter
|
|
|
|
M_Api_Status_Unknown Counter
|
|
|
|
M_Proxy_Status_200 Counter
|
|
|
|
M_Proxy_Status_404 Counter
|
|
|
|
M_Proxy_Status_500 Counter
|
|
|
|
M_Proxy_Status_Unknown Counter
|
|
|
|
M_Api_User_SignUpStarted Counter
|
|
|
|
M_Api_User_SignUpCompleted Counter
|
|
|
|
M_Api_User_SignUpInvite Counter
|
|
|
|
M_Api_Dashboard_Save Timer
|
|
|
|
M_Api_Dashboard_Get Timer
|
|
|
|
M_Api_Dashboard_Search Timer
|
|
|
|
M_Api_Admin_User_Create Counter
|
|
|
|
M_Api_Login_Post Counter
|
|
|
|
M_Api_Login_OAuth Counter
|
|
|
|
M_Api_Org_Create Counter
|
|
|
|
M_Api_Dashboard_Snapshot_Create Counter
|
|
|
|
M_Api_Dashboard_Snapshot_External Counter
|
|
|
|
M_Api_Dashboard_Snapshot_Get Counter
|
|
|
|
M_Models_Dashboard_Insert Counter
|
|
|
|
M_Alerting_Result_State_Alerting Counter
|
|
|
|
M_Alerting_Result_State_Ok Counter
|
|
|
|
M_Alerting_Result_State_Paused Counter
|
|
|
|
M_Alerting_Result_State_NoData Counter
|
|
|
|
M_Alerting_Result_State_ExecError Counter
|
2016-10-28 16:44:45 -05:00
|
|
|
M_Alerting_Result_State_Initialized Counter
|
2016-09-13 08:09:55 -05:00
|
|
|
M_Alerting_Active_Alerts Counter
|
|
|
|
M_Alerting_Notification_Sent_Slack Counter
|
|
|
|
M_Alerting_Notification_Sent_Email Counter
|
|
|
|
M_Alerting_Notification_Sent_Webhook Counter
|
2016-06-03 05:50:51 -05:00
|
|
|
|
|
|
|
// Timers
|
|
|
|
M_DataSource_ProxyReq_Timer Timer
|
2016-08-11 14:12:39 -05:00
|
|
|
M_Alerting_Exeuction_Time Timer
|
2016-09-22 04:16:19 -05:00
|
|
|
|
|
|
|
// StatTotals
|
|
|
|
M_StatTotal_Dashboards Gauge
|
|
|
|
M_StatTotal_Users Gauge
|
|
|
|
M_StatTotal_Orgs Gauge
|
|
|
|
M_StatTotal_Playlists Gauge
|
2016-06-03 05:50:51 -05:00
|
|
|
)
|
2015-03-22 14:14:00 -05:00
|
|
|
|
2016-06-03 05:50:51 -05:00
|
|
|
func initMetricVars(settings *MetricSettings) {
|
|
|
|
UseNilMetrics = settings.Enabled == false
|
2016-06-03 10:15:17 -05:00
|
|
|
MetricStats = NewRegistry()
|
2015-03-22 14:14:00 -05:00
|
|
|
|
2016-06-03 05:50:51 -05:00
|
|
|
M_Instance_Start = RegCounter("instance_start")
|
2015-03-22 14:14:00 -05:00
|
|
|
|
2016-06-03 05:50:51 -05:00
|
|
|
M_Page_Status_200 = RegCounter("page.resp_status", "code", "200")
|
|
|
|
M_Page_Status_500 = RegCounter("page.resp_status", "code", "500")
|
|
|
|
M_Page_Status_404 = RegCounter("page.resp_status", "code", "404")
|
2016-09-12 06:29:31 -05:00
|
|
|
M_Page_Status_Unknown = RegCounter("page.resp_status", "code", "unknown")
|
2016-06-01 08:04:58 -05:00
|
|
|
|
2016-09-09 06:28:19 -05:00
|
|
|
M_Api_Status_200 = RegCounter("api.resp_status", "code", "200")
|
2016-09-12 06:29:31 -05:00
|
|
|
M_Api_Status_404 = RegCounter("api.resp_status", "code", "404")
|
|
|
|
M_Api_Status_500 = RegCounter("api.resp_status", "code", "500")
|
|
|
|
M_Api_Status_Unknown = RegCounter("api.resp_status", "code", "unknown")
|
|
|
|
|
|
|
|
M_Proxy_Status_200 = RegCounter("proxy.resp_status", "code", "200")
|
|
|
|
M_Proxy_Status_404 = RegCounter("proxy.resp_status", "code", "404")
|
|
|
|
M_Proxy_Status_500 = RegCounter("proxy.resp_status", "code", "500")
|
|
|
|
M_Proxy_Status_Unknown = RegCounter("proxy.resp_status", "code", "unknown")
|
2015-03-22 14:14:00 -05:00
|
|
|
|
2016-06-03 05:50:51 -05:00
|
|
|
M_Api_User_SignUpStarted = RegCounter("api.user.signup_started")
|
|
|
|
M_Api_User_SignUpCompleted = RegCounter("api.user.signup_completed")
|
|
|
|
M_Api_User_SignUpInvite = RegCounter("api.user.signup_invite")
|
2015-03-24 10:49:12 -05:00
|
|
|
|
2016-06-03 10:00:39 -05:00
|
|
|
M_Api_Dashboard_Save = RegTimer("api.dashboard.save")
|
|
|
|
M_Api_Dashboard_Get = RegTimer("api.dashboard.get")
|
|
|
|
M_Api_Dashboard_Search = RegTimer("api.dashboard.search")
|
|
|
|
|
2016-06-03 05:50:51 -05:00
|
|
|
M_Api_Admin_User_Create = RegCounter("api.admin.user_create")
|
|
|
|
M_Api_Login_Post = RegCounter("api.login.post")
|
|
|
|
M_Api_Login_OAuth = RegCounter("api.login.oauth")
|
|
|
|
M_Api_Org_Create = RegCounter("api.org.create")
|
|
|
|
|
|
|
|
M_Api_Dashboard_Snapshot_Create = RegCounter("api.dashboard_snapshot.create")
|
|
|
|
M_Api_Dashboard_Snapshot_External = RegCounter("api.dashboard_snapshot.external")
|
|
|
|
M_Api_Dashboard_Snapshot_Get = RegCounter("api.dashboard_snapshot.get")
|
|
|
|
|
|
|
|
M_Models_Dashboard_Insert = RegCounter("models.dashboard.insert")
|
2016-06-03 02:17:36 -05:00
|
|
|
|
2016-09-13 08:09:55 -05:00
|
|
|
M_Alerting_Result_State_Alerting = RegCounter("alerting.result", "state", "alerting")
|
2016-08-31 04:55:35 -05:00
|
|
|
M_Alerting_Result_State_Ok = RegCounter("alerting.result", "state", "ok")
|
|
|
|
M_Alerting_Result_State_Paused = RegCounter("alerting.result", "state", "paused")
|
2016-09-13 08:09:55 -05:00
|
|
|
M_Alerting_Result_State_NoData = RegCounter("alerting.result", "state", "no_data")
|
|
|
|
M_Alerting_Result_State_ExecError = RegCounter("alerting.result", "state", "exec_error")
|
2016-10-28 16:44:45 -05:00
|
|
|
M_Alerting_Result_State_Initialized = RegCounter("alerting.result", "state", "initialized")
|
2016-08-31 04:55:35 -05:00
|
|
|
|
2016-08-11 14:12:39 -05:00
|
|
|
M_Alerting_Active_Alerts = RegCounter("alerting.active_alerts")
|
2016-08-12 01:15:53 -05:00
|
|
|
M_Alerting_Notification_Sent_Slack = RegCounter("alerting.notifications_sent", "type", "slack")
|
|
|
|
M_Alerting_Notification_Sent_Email = RegCounter("alerting.notifications_sent", "type", "email")
|
|
|
|
M_Alerting_Notification_Sent_Webhook = RegCounter("alerting.notifications_sent", "type", "webhook")
|
2016-08-11 14:12:39 -05:00
|
|
|
|
2016-06-03 02:17:36 -05:00
|
|
|
// Timers
|
2016-06-03 05:50:51 -05:00
|
|
|
M_DataSource_ProxyReq_Timer = RegTimer("api.dataproxy.request.all")
|
2016-08-11 14:12:39 -05:00
|
|
|
M_Alerting_Exeuction_Time = RegTimer("alerting.execution_time")
|
2016-09-22 04:16:19 -05:00
|
|
|
|
|
|
|
// StatTotals
|
|
|
|
M_StatTotal_Dashboards = RegGauge("stat_totals", "stat", "dashboards")
|
|
|
|
M_StatTotal_Users = RegGauge("stat_totals", "stat", "users")
|
|
|
|
M_StatTotal_Orgs = RegGauge("stat_totals", "stat", "orgs")
|
|
|
|
M_StatTotal_Playlists = RegGauge("stat_totals", "stat", "playlists")
|
2016-06-03 05:50:51 -05:00
|
|
|
}
|