Beispiel #1
0
        public ModelTrackingIssue AddTrackingIssue(
            TrackingKind trackingKind,
            string?title = null,
            SearchTestsRequest?testsRequest         = null,
            SearchTimelinesRequest?timelinesRequest = null,
            SearchBuildLogsRequest?buildLogsRequest = null,
            SearchHelixLogsRequest?helixLogsRequest = null,
            ModelBuildDefinition?definition         = null)
        {
            var query = testsRequest?.GetQueryString();

            query ??= timelinesRequest?.GetQueryString();
            query ??= buildLogsRequest?.GetQueryString();
            query ??= helixLogsRequest?.GetQueryString();

            var trackingIssue = new ModelTrackingIssue()
            {
                TrackingKind         = trackingKind,
                SearchQuery          = query,
                IsActive             = true,
                ModelBuildDefinition = definition,
                IssueTitle           = title ?? $"Tracking Issue {trackingKind}",
            };

            Context.ModelTrackingIssues.Add(trackingIssue);
            return(trackingIssue);
        }
Beispiel #2
0
 /// <summary>
 /// Full tracking is enabled only when <paramref name="trackingKind"/> is <see cref="TrackingKind.TrackEverything"/>.
 /// If <paramref name="trackingKind"/> is <see cref="TrackingKind.TrackImportedModules"/> only imported modules will be tracked.
 /// Otherwise (like for configuration evaluation) no tracking will be used.
 /// </summary>
 /// <remarks>
 /// The tracking is enabled only when the debugger is presented.
 /// </remarks>
 private VisitedModuleTracker(TrackingKind trackingKind)
 {
     m_trackingKind = trackingKind;
 }