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-11-29 09:45:26 -06: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_Pending Counter
|
|
|
|
M_Alerting_Notification_Sent_Slack Counter
|
|
|
|
M_Alerting_Notification_Sent_Email Counter
|
|
|
|
M_Alerting_Notification_Sent_Webhook Counter
|
2017-07-04 08:16:32 -05:00
|
|
|
M_Alerting_Notification_Sent_DingDing Counter
|
2016-11-29 09:45:26 -06:00
|
|
|
M_Alerting_Notification_Sent_PagerDuty Counter
|
2017-01-19 01:25:21 -06:00
|
|
|
M_Alerting_Notification_Sent_LINE Counter
|
2016-10-27 14:45:55 -05:00
|
|
|
M_Alerting_Notification_Sent_Victorops Counter
|
2016-12-06 14:48:13 -06:00
|
|
|
M_Alerting_Notification_Sent_OpsGenie Counter
|
2016-12-30 06:57:12 -06:00
|
|
|
M_Alerting_Notification_Sent_Telegram Counter
|
2017-02-07 04:02:12 -06:00
|
|
|
M_Alerting_Notification_Sent_Threema Counter
|
2017-01-11 06:57:07 -06:00
|
|
|
M_Alerting_Notification_Sent_Sensu Counter
|
2016-12-25 14:57:08 -06:00
|
|
|
M_Alerting_Notification_Sent_Pushover Counter
|
2016-12-16 03:48:05 -06:00
|
|
|
M_Aws_CloudWatch_GetMetricStatistics Counter
|
|
|
|
M_Aws_CloudWatch_ListMetrics Counter
|
2016-06-03 05:50:51 -05:00
|
|
|
|
|
|
|
// Timers
|
|
|
|
M_DataSource_ProxyReq_Timer Timer
|
2016-12-19 06:26:42 -06:00
|
|
|
M_Alerting_Execution_Time Timer
|
2016-09-22 04:16:19 -05:00
|
|
|
|
|
|
|
// StatTotals
|
2016-11-29 09:45:26 -06:00
|
|
|
M_Alerting_Active_Alerts Gauge
|
|
|
|
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")
|
2016-11-01 09:30:55 -05:00
|
|
|
M_Alerting_Result_State_Pending = RegCounter("alerting.result", "state", "pending")
|
2016-08-31 04:55:35 -05:00
|
|
|
|
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")
|
2017-07-04 08:16:32 -05:00
|
|
|
M_Alerting_Notification_Sent_DingDing = RegCounter("alerting.notifications_sent", "type", "dingding")
|
2016-10-29 00:19:51 -05:00
|
|
|
M_Alerting_Notification_Sent_PagerDuty = RegCounter("alerting.notifications_sent", "type", "pagerduty")
|
2016-10-27 14:45:55 -05:00
|
|
|
M_Alerting_Notification_Sent_Victorops = RegCounter("alerting.notifications_sent", "type", "victorops")
|
2016-12-06 14:48:13 -06:00
|
|
|
M_Alerting_Notification_Sent_OpsGenie = RegCounter("alerting.notifications_sent", "type", "opsgenie")
|
2016-12-30 06:57:12 -06:00
|
|
|
M_Alerting_Notification_Sent_Telegram = RegCounter("alerting.notifications_sent", "type", "telegram")
|
2017-02-07 04:02:12 -06:00
|
|
|
M_Alerting_Notification_Sent_Threema = RegCounter("alerting.notifications_sent", "type", "threema")
|
2017-01-11 06:57:07 -06:00
|
|
|
M_Alerting_Notification_Sent_Sensu = RegCounter("alerting.notifications_sent", "type", "sensu")
|
2017-01-19 01:25:21 -06:00
|
|
|
M_Alerting_Notification_Sent_LINE = RegCounter("alerting.notifications_sent", "type", "LINE")
|
2016-12-25 14:57:08 -06:00
|
|
|
M_Alerting_Notification_Sent_Pushover = RegCounter("alerting.notifications_sent", "type", "pushover")
|
2016-08-11 14:12:39 -05:00
|
|
|
|
2016-12-16 03:48:05 -06:00
|
|
|
M_Aws_CloudWatch_GetMetricStatistics = RegCounter("aws.cloudwatch.get_metric_statistics")
|
|
|
|
M_Aws_CloudWatch_ListMetrics = RegCounter("aws.cloudwatch.list_metrics")
|
|
|
|
|
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-12-13 21:20:50 -06:00
|
|
|
M_Alerting_Execution_Time = RegTimer("alerting.execution_time")
|
2016-09-22 04:16:19 -05:00
|
|
|
|
|
|
|
// StatTotals
|
2016-11-29 09:45:26 -06:00
|
|
|
M_Alerting_Active_Alerts = RegGauge("alerting.active_alerts")
|
2016-09-22 04:16:19 -05:00
|
|
|
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
|
|
|
}
|