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); }
/// <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; }