@@ -26,6 +26,7 @@ import (
2626 installedAppReader "github.com/devtron-labs/devtron/pkg/appStore/installedApp/read"
2727 "github.com/devtron-labs/devtron/pkg/auth/sso"
2828 user2 "github.com/devtron-labs/devtron/pkg/auth/user"
29+ authPolicyRepository "github.com/devtron-labs/devtron/pkg/auth/user/repository"
2930 "github.com/devtron-labs/devtron/pkg/build/git/gitMaterial/read"
3031 repository3 "github.com/devtron-labs/devtron/pkg/build/git/gitProvider/repository"
3132 "github.com/devtron-labs/devtron/pkg/build/pipeline/bean"
@@ -34,6 +35,8 @@ import (
3435 "github.com/devtron-labs/devtron/pkg/cluster/environment"
3536 "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config"
3637 moduleRepo "github.com/devtron-labs/devtron/pkg/module/repo"
38+ pluginRepository "github.com/devtron-labs/devtron/pkg/plugin/repository"
39+ cvePolicyRepository "github.com/devtron-labs/devtron/pkg/policyGovernance/security/imageScanning/repository"
3740 serverDataStore "github.com/devtron-labs/devtron/pkg/server/store"
3841 ucidService "github.com/devtron-labs/devtron/pkg/ucid"
3942 util3 "github.com/devtron-labs/devtron/pkg/util"
@@ -68,6 +71,11 @@ type TelemetryEventClientImplExtended struct {
6871 chartRepository chartRepoRepository.ChartRepository
6972 ciBuildConfigService pipeline.CiBuildConfigService
7073 gitOpsConfigReadService config.GitOpsConfigReadService
74+ // Additional repositories for FULL-mode telemetry metrics
75+ pluginRepository pluginRepository.GlobalPluginRepository
76+ cvePolicyRepository cvePolicyRepository.CvePolicyRepository
77+ defaultAuthPolicyRepository authPolicyRepository.DefaultAuthPolicyRepository
78+ rbacPolicyRepository authPolicyRepository.RbacPolicyDataRepository
7179 * TelemetryEventClientImpl
7280}
7381
@@ -85,7 +93,12 @@ func NewTelemetryEventClientImplExtended(logger *zap.SugaredLogger, client *http
8593 ciBuildConfigService pipeline.CiBuildConfigService , moduleRepository moduleRepo.ModuleRepository , serverDataStore * serverDataStore.ServerDataStore ,
8694 helmAppClient client.HelmAppClient , installedAppReadService installedAppReader.InstalledAppReadService , userAttributesRepository repository.UserAttributesRepository ,
8795 cloudProviderIdentifierService cloudProviderIdentifier.ProviderIdentifierService , cronLogger * cron3.CronLoggerImpl ,
88- gitOpsConfigReadService config.GitOpsConfigReadService , envVariables * util.EnvironmentVariables ) (* TelemetryEventClientImplExtended , error ) {
96+ gitOpsConfigReadService config.GitOpsConfigReadService , envVariables * util.EnvironmentVariables ,
97+ // Optional repositories for additional telemetry metrics
98+ pluginRepository pluginRepository.GlobalPluginRepository ,
99+ cvePolicyRepository cvePolicyRepository.CvePolicyRepository ,
100+ defaultAuthPolicyRepository authPolicyRepository.DefaultAuthPolicyRepository ,
101+ rbacPolicyRepository authPolicyRepository.RbacPolicyDataRepository ) (* TelemetryEventClientImplExtended , error ) {
89102
90103 cron := cron .New (
91104 cron .WithChain (cron .Recover (cronLogger )))
@@ -105,6 +118,11 @@ func NewTelemetryEventClientImplExtended(logger *zap.SugaredLogger, client *http
105118 chartRepository : chartRepository ,
106119 ciBuildConfigService : ciBuildConfigService ,
107120 gitOpsConfigReadService : gitOpsConfigReadService ,
121+ // Initialize FULL-mode specific repositories
122+ pluginRepository : pluginRepository ,
123+ cvePolicyRepository : cvePolicyRepository ,
124+ defaultAuthPolicyRepository : defaultAuthPolicyRepository ,
125+ rbacPolicyRepository : rbacPolicyRepository ,
108126 TelemetryEventClientImpl : & TelemetryEventClientImpl {
109127 cron : cron ,
110128 logger : logger ,
@@ -319,6 +337,21 @@ func (impl *TelemetryEventClientImplExtended) SendSummaryEvent(eventType string)
319337 payload .HelmChartSuccessfulDeploymentCount = HelmChartSuccessfulDeploymentCount
320338 payload .ExternalHelmAppClusterCount = ExternalHelmAppClusterCount
321339
340+ // Collect new telemetry metrics
341+ payload .HelmAppCount = impl .getHelmAppCount ()
342+ payload .DevtronAppCount = impl .getDevtronAppCount ()
343+ payload .JobCount = impl .getJobCount ()
344+ payload .JobPipelineCount = impl .getJobPipelineCount ()
345+ payload .JobPipelineTriggeredLast24h = impl .getJobPipelineTriggeredLast24h ()
346+ payload .JobPipelineSucceededLast24h = impl .getJobPipelineSucceededLast24h ()
347+ payload .UserCreatedPluginCount = impl .getUserCreatedPluginCount ()
348+ payload .PolicyCount = impl .getPolicyCount ()
349+ payload .AppliedPolicyRowCount = impl .getAppliedPolicyRowCount ()
350+ payload .PhysicalClusterCount , payload .IsolatedClusterCount = impl .getClusterCounts ()
351+ payload .ActiveUsersLast30Days = impl .getActiveUsersLast30Days ()
352+ payload .GitOpsPipelineCount = impl .getGitOpsPipelineCount ()
353+ payload .HelmPipelineCount = impl .helmPipelineCount ()
354+
322355 payload .ClusterProvider , err = impl .GetCloudProvider ()
323356 if err != nil {
324357 impl .logger .Errorw ("error while getting cluster provider" , "error" , err )
@@ -374,7 +407,11 @@ func (impl *TelemetryEventClientImplExtended) getCiBuildTypeData() (int, int, in
374407func (impl * TelemetryEventClientImplExtended ) getCiBuildTypeVsStatusVsCount () (successCount map [bean.CiBuildType ]int , failureCount map [bean.CiBuildType ]int ) {
375408 successCount = make (map [bean.CiBuildType ]int )
376409 failureCount = make (map [bean.CiBuildType ]int )
377- buildTypeAndStatusVsCount := impl .ciWorkflowRepository .FindBuildTypeAndStatusDataOfLast1Day ()
410+ buildTypeAndStatusVsCount , err := impl .ciWorkflowRepository .FindBuildTypeAndStatusDataOfLast1Day ()
411+ if err != nil {
412+ impl .logger .Errorw ("error getting build type vs status vs count data" , "err" , err )
413+ return successCount , failureCount
414+ }
378415 for _ , buildTypeCount := range buildTypeAndStatusVsCount {
379416 if buildTypeCount == nil {
380417 continue
0 commit comments