11package usage
22
33import (
4- "encoding/json"
54 "os"
65
76 "github.com/jfrog/jfrog-cli-core/v2/artifactory/utils"
87 "github.com/jfrog/jfrog-cli-core/v2/utils/config"
98 "github.com/jfrog/jfrog-cli-core/v2/utils/coreutils"
9+ "github.com/jfrog/jfrog-client-go/jfconnect/services"
1010)
1111
1212type VisibilitySystemManager struct {
@@ -19,24 +19,8 @@ func NewVisibilitySystemManager(serverDetails *config.ServerDetails) *Visibility
1919 }
2020}
2121
22- type labels struct {
23- ProductID string `json:"product_id"`
24- FeatureID string `json:"feature_id"`
25- OIDCUsed string `json:"oidc_used"`
26- JobID string `json:"job_id"`
27- RunID string `json:"run_id"`
28- GitRepo string `json:"git_repo"`
29- GhTokenForCodeScanningAlertsProvided string `json:"gh_token_for_code_scanning_alerts_provided"`
30- }
31-
32- type visibilityMetric struct {
33- Value int `json:"value"`
34- MetricsName string `json:"metrics_name"`
35- Labels labels `json:"labels"`
36- }
37-
38- func (vsm * VisibilitySystemManager ) createMetric (commandName string ) ([]byte , error ) {
39- metricLabels := labels {
22+ func (vsm * VisibilitySystemManager ) createMetric (commandName string ) services.VisibilityMetric {
23+ metricLabels := services.Labels {
4024 ProductID : coreutils .GetCliUserAgentName (),
4125 FeatureID : commandName ,
4226 OIDCUsed : os .Getenv ("JFROG_CLI_USAGE_OIDC_USED" ),
@@ -46,23 +30,17 @@ func (vsm *VisibilitySystemManager) createMetric(commandName string) ([]byte, er
4630 GhTokenForCodeScanningAlertsProvided : os .Getenv ("JFROG_CLI_USAGE_GH_TOKEN_FOR_CODE_SCANNING_ALERTS_PROVIDED" ),
4731 }
4832
49- metric := visibilityMetric {
33+ return services. VisibilityMetric {
5034 Value : 1 ,
5135 MetricsName : "jfcli_commands_count" ,
5236 Labels : metricLabels ,
5337 }
54-
55- return json .Marshal (metric )
5638}
5739
5840func (vsm * VisibilitySystemManager ) SendUsage (commandName string ) error {
5941 manager , err := utils .CreateJfConnectServiceManager (vsm .serverDetails )
6042 if err != nil {
6143 return err
6244 }
63- metric , err := vsm .createMetric (commandName )
64- if err != nil {
65- return err
66- }
67- return manager .PostMetric (metric )
45+ return manager .PostVisibilityMetric (vsm .createMetric (commandName ))
6846}
0 commit comments