public static void FileAssessmentCollect()

in src/PortingAssistantExtensionTelemetry/Collector.cs [98:128]


        public static void FileAssessmentCollect(IEnumerable<ApiAnalysisResult> selectedApis , string runId, string triggerType, string targetFramework, string extensionVersion, string visualStudioVersion)
        {
            var date = DateTime.Now;
            var apiMetrics = selectedApis.GroupBy(elem => new
            {
                elem.CodeEntityDetails.Name,
                elem.CodeEntityDetails.Namespace,
                elem.CodeEntityDetails.OriginalDefinition,
                elem.CodeEntityDetails.Package?.PackageId,
                elem.CodeEntityDetails.Signature
            }).Select(group => new APIMetrics
            {
                MetricsType = MetricsType.api,
                RunId = runId,
                TriggerType = triggerType,
                PortingAssistantExtensionVersion = extensionVersion,
                VisualStudioClientVersion = visualStudioVersion,
                TargetFramework = targetFramework,
                TimeStamp = date.ToString("MM/dd/yyyy HH:mm"),
                name = group.First().CodeEntityDetails.Name,
                nameSpace = group.First().CodeEntityDetails.Namespace,
                originalDefinition = group.First().CodeEntityDetails.OriginalDefinition,
                compatibility = group.First().CompatibilityResults[targetFramework].Compatibility,
                packageId = group.First().CodeEntityDetails.Package.PackageId,
                packageVersion = group.First().CodeEntityDetails.Package.Version,
                apiType = group.First().CodeEntityDetails.CodeEntityType.ToString(),
                hasActions = group.First().Recommendations.RecommendedActions.Any(action => action.RecommendedActionType != RecommendedActionType.NoRecommendation),
                apiCounts = group.Count()
            });
            apiMetrics.ToList().ForEach(metric => TelemetryCollector.Collect(metric));
        }