@@ -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