From 9e7f328dd6ff750856ce61e51b13384a387bc610 Mon Sep 17 00:00:00 2001 From: spatten Date: Tue, 28 May 2024 16:18:09 -0700 Subject: [PATCH] add telemetry --- src/App/Fossa/SBOM.hs | 2 ++ src/App/Fossa/SBOM/Analyze.hs | 4 ++++ src/Control/Carrier/Telemetry/Types.hs | 1 + 3 files changed, 7 insertions(+) diff --git a/src/App/Fossa/SBOM.hs b/src/App/Fossa/SBOM.hs index 43538e9263..adba1e92fd 100644 --- a/src/App/Fossa/SBOM.hs +++ b/src/App/Fossa/SBOM.hs @@ -19,6 +19,7 @@ import Control.Effect.Diagnostics ( Has, ) import Control.Effect.Lift (Lift, sendIO) +import Control.Effect.Telemetry (Telemetry) import Data.Aeson qualified as Aeson import Data.ByteString.Lazy qualified as BL import Effect.Exec (Exec) @@ -40,6 +41,7 @@ dispatch :: , Has Logger sig m , Has ReadFS sig m , Has Exec sig m + , Has Telemetry sig m ) => SBOMScanConfig -> m () diff --git a/src/App/Fossa/SBOM/Analyze.hs b/src/App/Fossa/SBOM/Analyze.hs index d3d857e06f..234171a382 100644 --- a/src/App/Fossa/SBOM/Analyze.hs +++ b/src/App/Fossa/SBOM/Analyze.hs @@ -10,8 +10,10 @@ import Control.Carrier.Debug (Debug) import Control.Carrier.Diagnostics qualified as Diag import Control.Carrier.FossaApiClient (runFossaApiClient) import Control.Carrier.StickyLogger (StickyLogger, logSticky, runStickyLogger) +import Control.Carrier.Telemetry.Types (CountableCliFeature (SBOMAnalyzeUsage)) import Control.Effect.FossaApiClient (FossaApiClient, PackageRevision (PackageRevision), getOrganization, getSignedUploadUrl, queueSBOMBuild, uploadArchive) import Control.Effect.Lift +import Control.Effect.Telemetry (Telemetry, trackUsage) import Data.Foldable (traverse_) import Data.String.Conversion import Data.Text (Text) @@ -25,12 +27,14 @@ analyze :: , Has (Lift IO) sig m , Has Logger sig m , Has Debug sig m + , Has Telemetry sig m ) => SBOMAnalyzeConfig -> m () analyze config = do let emptyMetadata = ProjectMetadata Nothing Nothing Nothing Nothing Nothing Nothing [] Nothing let apiOpts = sbomApiOpts config + trackUsage SBOMAnalyzeUsage runFossaApiClient apiOpts . preflightChecks $ AnalyzeChecks (sbomRevision config) emptyMetadata runFossaApiClient apiOpts . runStickyLogger (severity config) $ analyzeInternal config diff --git a/src/Control/Carrier/Telemetry/Types.hs b/src/Control/Carrier/Telemetry/Types.hs index 6977274537..746ce74863 100644 --- a/src/Control/Carrier/Telemetry/Types.hs +++ b/src/Control/Carrier/Telemetry/Types.hs @@ -55,6 +55,7 @@ data CountableCliFeature = ExperimentalGradleSingleConfigurationUsage | ExperimentalKeywordSearchUsage | CustomLicenseSearchUsage + | SBOMAnalyzeUsage deriving (Show, Eq, Ord, Generic) instance ToJSONKey CountableCliFeature where