chore: add telemetry for channel types (#5602)

This commit is contained in:
Srikanth Chekuri 2024-07-31 15:15:19 +05:30 committed by GitHub
parent 18b608a1d8
commit f300518d61
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 28 additions and 0 deletions

View File

@ -638,6 +638,12 @@ type AlertsInfo struct {
LogsBasedAlerts int `json:"logsBasedAlerts"` LogsBasedAlerts int `json:"logsBasedAlerts"`
MetricBasedAlerts int `json:"metricBasedAlerts"` MetricBasedAlerts int `json:"metricBasedAlerts"`
TracesBasedAlerts int `json:"tracesBasedAlerts"` TracesBasedAlerts int `json:"tracesBasedAlerts"`
SlackChannels int `json:"slackChannels"`
WebHookChannels int `json:"webHookChannels"`
PagerDutyChannels int `json:"pagerDutyChannels"`
OpsGenieChannels int `json:"opsGenieChannels"`
EmailChannels int `json:"emailChannels"`
MSTeamsChannels int `json:"microsoftTeamsChannels"`
} }
type SavedViewsInfo struct { type SavedViewsInfo struct {

View File

@ -293,6 +293,22 @@ func createTelemetry() {
if err == nil { if err == nil {
channels, err := telemetry.reader.GetChannels() channels, err := telemetry.reader.GetChannels()
if err == nil { if err == nil {
for _, channel := range *channels {
switch channel.Type {
case "slack":
alertsInfo.SlackChannels++
case "webhook":
alertsInfo.WebHookChannels++
case "pagerduty":
alertsInfo.PagerDutyChannels++
case "opsgenie":
alertsInfo.OpsGenieChannels++
case "email":
alertsInfo.EmailChannels++
case "msteams":
alertsInfo.MSTeamsChannels++
}
}
savedViewsInfo, err := telemetry.reader.GetSavedViewsInfo(ctx) savedViewsInfo, err := telemetry.reader.GetSavedViewsInfo(ctx)
if err == nil { if err == nil {
dashboardsAlertsData := map[string]interface{}{ dashboardsAlertsData := map[string]interface{}{
@ -309,6 +325,12 @@ func createTelemetry() {
"totalSavedViews": savedViewsInfo.TotalSavedViews, "totalSavedViews": savedViewsInfo.TotalSavedViews,
"logsSavedViews": savedViewsInfo.LogsSavedViews, "logsSavedViews": savedViewsInfo.LogsSavedViews,
"tracesSavedViews": savedViewsInfo.TracesSavedViews, "tracesSavedViews": savedViewsInfo.TracesSavedViews,
"slackChannels": alertsInfo.SlackChannels,
"webHookChannels": alertsInfo.WebHookChannels,
"pagerDutyChannels": alertsInfo.PagerDutyChannels,
"opsGenieChannels": alertsInfo.OpsGenieChannels,
"emailChannels": alertsInfo.EmailChannels,
"msteamsChannels": alertsInfo.MSTeamsChannels,
} }
// send event only if there are dashboards or alerts or channels // send event only if there are dashboards or alerts or channels
if (dashboardsInfo.TotalDashboards > 0 || alertsInfo.TotalAlerts > 0 || len(*channels) > 0 || savedViewsInfo.TotalSavedViews > 0) && apiErr == nil { if (dashboardsInfo.TotalDashboards > 0 || alertsInfo.TotalAlerts > 0 || len(*channels) > 0 || savedViewsInfo.TotalSavedViews > 0) && apiErr == nil {