<?xml version="1.0"?>
<doc>
    <assembly>
        <name>JetBrains.DotTrace.Features</name>
    </assembly>
    <members>
        <member name="M:JetBrains.DotTrace.Features.CallTree.CallTreeBuilder.CallTreeService`2.CheckIfUserChildrenHasDescendantsWithSpecifiedFuid(JetBrains.Common.Util.Metadata.FunctionUIDm,JetBrains.DotTrace.DataStructures.Metadata.ICallTreeReaderWithIndexes{`0},JetBrains.DotTrace.DataStructures.Metadata.AccessData{`0})">
            <summary>
            Don't take into account visibilty. Cf. <seealso cref="M:JetBrains.DotTrace.Features.CallTree.CallTreeBuilder.CallTreeService`2.CheckIfUserChildrenHasVisibleDescendantsWithSpecifiedFuid(JetBrains.Common.Util.Metadata.FunctionUIDm,JetBrains.DotTrace.DataStructures.Metadata.ICallTreeReaderWithIndexes{`0},JetBrains.DotTrace.DataStructures.CallTree.PayloadGetter{`0,`1},JetBrains.DotTrace.DataStructures.Metadata.AccessData{`0})"/>
            </summary>
        </member>
        <member name="M:JetBrains.DotTrace.Features.CallTree.CallTreeBuilder.CallTreeService`2.CheckIfUserChildrenHasVisibleDescendantsWithSpecifiedFuid(JetBrains.Common.Util.Metadata.FunctionUIDm,JetBrains.DotTrace.DataStructures.Metadata.ICallTreeReaderWithIndexes{`0},JetBrains.DotTrace.DataStructures.CallTree.PayloadGetter{`0,`1},JetBrains.DotTrace.DataStructures.Metadata.AccessData{`0})">
            <summary>
            Take into account visibilty. Cf. <seealso cref="M:JetBrains.DotTrace.Features.CallTree.CallTreeBuilder.CallTreeService`2.CheckIfUserChildrenHasDescendantsWithSpecifiedFuid(JetBrains.Common.Util.Metadata.FunctionUIDm,JetBrains.DotTrace.DataStructures.Metadata.ICallTreeReaderWithIndexes{`0},JetBrains.DotTrace.DataStructures.Metadata.AccessData{`0})"/>
            </summary>
        </member>
        <member name="T:JetBrains.DotTrace.Features.CallTree.CallTreeBuilder.Reader.SortedNonIntersectingPtrMerger`3">
            <summary>
            Merges non intersecting sorted lists of pointers
            The lists of pointers are non intersecting if for every pair the next condition is met
            MaxElement(l1) &lt; MinElement(l2) or MaxElement(l2) &lt; MinElement(l1)
            </summary>
            <typeparam name="TSourceList"></typeparam>
            <typeparam name="TResult"></typeparam>
            <typeparam name="TPtr"></typeparam>
        </member>
        <member name="M:JetBrains.DotTrace.Features.CallTree.CallTreePathHelpers.Normalize(JetBrains.DotTrace.DataStructures.CallTree.CallTreePath)">
            <summary>
            This method is used to propagate PayloadMode restrictions in call tree path down to logical root.
            If some method in call tree path has PayloadMode OwnPlusSystem, this mode can be shifted to the logical root.
            This allows to keep simple nodes in the middle of call tree path, and display warning label "Some children are excluded" considering only logical root node
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.DotTrace.Features.CallTree.CallTreePathHelpers.GetDalRoot(JetBrains.DotTrace.DataStructures.CallTree.CallTreePath)">
            <summary>
            Note: the function is applicable to dal CallTreePath
            We have to make CallTreePath generic and have raw version in dal and merged version in features
            but its quite a big refactoring so we decided to postpone it till we have at least one more such hack
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.DotTrace.Features.CallTree.History.CallTreeHistoryItem">
            <summary>
            Note: To deserialize this class you have to specify instance of <see cref="T:JetBrains.DotTrace.Features.CallTree.History.CallTreeHistoryItemCreationConverter"/> in JsonSerializerSettings 
            </summary>
        </member>
        <member name="T:JetBrains.DotTrace.Features.CallTree.Other.CallTreeRequestProcessor`1">
            <summary>
            Wrapper type user as a type alias with reduced number of type parameters
            </summary>
            <typeparam name="TPayload"></typeparam>
        </member>
        <member name="P:JetBrains.DotTrace.Features.CallTree.StaticTree.IStaticTreeModelNode.IsSystem">
            <summary>
            Null value means undefined systemness. Introduced for aggregated nodes.
            </summary>
        </member>
        <member name="P:JetBrains.DotTrace.Features.CallTree.StaticTree.StaticTreeNode`1.IsSystem">
            <summary>
            Null value means undefined systemness. Introduced for aggregated nodes.
            </summary>
        </member>
        <member name="T:JetBrains.DotTrace.Features.ConverterComponents.Local.ConverterComponentFileLocker">
             <summary>
             When we are converting a snapshot file and encounter some warnings - we are showing a viewmodel with some text but not holding snapshot files anymore.
             This gives an opportunity to remove the snapshot before pressing "Show snapshot" button
             We are using snapshot converter lifetime and assume nobody will try to delete the snapshot that we are processing.
            
             <seealso cref="T:JetBrains.DotTrace.Features.SnapshotComponents.Local.Timeline.SnapshotComponentFileLocker"/>
             </summary>
        </member>
        <member name="M:JetBrains.DotTrace.Features.NamespaceTree.NamespaceTreeNodePresentationHelper.BuildItemsPresentation(JetBrains.Common.Util.SignatureTree.IAdvancedMethodInfoProvider,JetBrains.Common.Util.SignatureTree.INamespaceTreeNode[],JetBrains.Common.Util.SignatureTree.INamespaceTreeNode[],JetBrains.DataFlow.Property{System.Boolean},JetBrains.Text.IdentifierMatcher,System.Func{JetBrains.Common.Util.Metadata.FunctionUIDm,JetBrains.DotTrace.Features.Search.SearchPayload})">
            <param name="isCanceledAction"></param>
            <param name="matcher">If null is passed items will not be containing highlighted rich text parts (used for Rider)</param>
            <param name="infoProvider"></param>
            <param name="historyItems"></param>
            <param name="treeItems"></param>
            <param name="getPayloadFunc"></param>
        </member>
        <member name="M:JetBrains.DotTrace.Features.Processing.Timeline.V2.CallTreePreprocessor.Process(JetBrains.Lifetimes.Lifetime,JetBrains.Common.CallTreeStorage.CompactTreeReader,System.Int32,System.Collections.Generic.HashSet{System.UInt32},System.Func{System.UInt32,JetBrains.Common.Util.Metadata.FunctionUID},JetBrains.Application.Progress.IProgressIndicator)">
            <summary>
            NOTE(Korovin): Possible optimizations: inline the accessing Func`1 in the CompactTreeReader.
            </summary>
        </member>
        <member name="M:JetBrains.DotTrace.Features.Processing.Timeline.V2.CutOffEvents.GCEventsOrThrow(System.Threading.Tasks.Task{System.Collections.Generic.Dictionary{JetBrains.Common.Timeline.EventLog.Interface.ThreadId,JetBrains.DotTrace.Features.Processing.Timeline.V2.GCInfo}},System.Threading.Tasks.Task{System.Collections.Generic.Dictionary{JetBrains.Common.Timeline.EventLog.Interface.ThreadId,JetBrains.Util.DataStructures.ChunkList{JetBrains.DotTrace.Features.Processing.Timeline.V2.ThreadLifetimeChange}}})">
            <summary>
            Fix for DTRC-27501 The first GC Thread interval contains "Thread doesn't exist" region
            </summary>
            <param name="gcEvents"></param>
            <param name="threadLifetimesTask"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.DotTrace.Features.Processing.Timeline.V2.EventTreesSectionEx.WriteOnOffLayer``1(JetBrains.Lifetimes.Lifetime,System.String,JetBrains.Util.ILogger,System.Threading.Tasks.Task{JetBrains.DotTrace.Features.Processing.Timeline.V2.ServiceSectionInfo},JetBrains.Util.FileSystemPath,System.Collections.Generic.Dictionary{JetBrains.Common.Timeline.EventLog.Interface.ThreadId,JetBrains.Util.DataStructures.ChunkList{``0}},JetBrains.Common.Timeline.EventLog.Interface.KnownEventTypes,System.Collections.Generic.IEnumerable{JetBrains.Common.Timeline.EventLog.Protobuf.EventPropertyDescriptor},System.Func{``0,System.ValueTuple{JetBrains.DotTrace.Features.Processing.Timeline.V2.WriteEvent,System.UInt64[]}})">
            <summary>
            Helper for small on-off layers, which will call write delegate for every event
            </summary>
            <param name="lifetime"></param>
            <param name="layerName"></param>
            <param name="log"></param>
            <param name="serviceSectionReader"></param>
            <param name="convertedPath"></param>
            <param name="eventsMap"></param>
            <param name="onState"></param>
            <param name="propertyDescriptors"></param>
            <param name="write"></param>
            <typeparam name="T"></typeparam>
            <returns></returns>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
        </member>
        <member name="M:JetBrains.DotTrace.Features.Processing.Timeline.V2.KernelStatesSummary.ProcessOrThrow(System.Threading.Tasks.Task{System.Collections.Generic.Dictionary{JetBrains.Common.Timeline.EventLog.Interface.ThreadId,JetBrains.DotTrace.Features.Processing.Timeline.V2.ThreadStateChangeInfo}},System.Threading.Tasks.Task{JetBrains.DotTrace.Features.Processing.Timeline.V2.ServiceSectionInfo})">
            <summary>
            Previously we were creating a layer with an event for each context switch that contained a number of currently running threads.
            This caused long processing, big memory consumption and long writing times of such layer for big snapshots.
            But we don't need such accuracy to show static non-resizable CPU chart. I've averaged the numbers on a "pixel" width range so that we would see
            more or less the same chart but will write and store only `pixels` number of events.
            </summary>
            <param name="kernelStatesTask"></param>
            <param name="serviceSectionReader"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.DotTrace.Features.Processing.Timeline.V2.ProcessingPipeline.ProcessSnapshot(JetBrains.Lifetimes.Lifetime,System.Threading.Tasks.TaskScheduler,JetBrains.Util.FileSystemPath,JetBrains.DotTrace.DalInterface.Timeline.ProcessingMode,JetBrains.DotTrace.DalInterface.Timeline.ProcessingFlags,JetBrains.DotTrace.Features.Processing.Timeline.V2.UnpackingPaths,JetBrains.DotTrace.DalInterface.Timeline.ProcessingStats@,System.Action{JetBrains.DotTrace.DalInterface.Timeline.Processing.Message},JetBrains.Application.Progress.IProgressIndicator)">
            <summary>
            Processes the snapshot
            </summary>
            <param name="lifetime"></param>
            <param name="scheduler"></param>
            <param name="originalSnapshotPath"></param>
            <param name="mode"></param>
            <param name="flags"></param>
            <param name="unpackingPaths"></param>
            <param name="stats">This parameter is passed as a reference because we sometimes want to observe the values even if the processing threw an exception. Used for statistics.</param>
            <param name="onMessage"></param>
            <param name="progress"></param>
            <returns></returns>
            <exception cref="T:JetBrains.DotTrace.Features.Processing.Timeline.SnapshotProcessingException"></exception>
        </member>
        <member name="T:JetBrains.DotTrace.Features.Processing.Timeline.V2.ThreadLifetimeInfo.Result">
            <summary>
            
            </summary>
            <param name="Events">Thread lifetime events within [session.Start; session.Stop] interval for profiled process</param>
            <param name="ThreadsStoppedBeforeStartTick"></param>
            <param name="AllProcessesRundownThreadEventsCount"></param>
        </member>
        <member name="M:JetBrains.DotTrace.Features.Processing.Timeline.V2.ThreadLifetimeInfo.Result.#ctor(System.Collections.Generic.Dictionary{JetBrains.Common.Timeline.EventLog.Interface.ThreadId,JetBrains.Util.DataStructures.ChunkList{JetBrains.DotTrace.Features.Processing.Timeline.V2.ThreadLifetimeChange}},System.Boolean,System.Int32)">
            <summary>
            
            </summary>
            <param name="Events">Thread lifetime events within [session.Start; session.Stop] interval for profiled process</param>
            <param name="ThreadsStoppedBeforeStartTick"></param>
            <param name="AllProcessesRundownThreadEventsCount"></param>
        </member>
        <member name="P:JetBrains.DotTrace.Features.Processing.Timeline.V2.ThreadLifetimeInfo.Result.Events">
            <summary>Thread lifetime events within [session.Start; session.Stop] interval for profiled process</summary>
        </member>
        <member name="P:JetBrains.DotTrace.Features.Processing.Timeline.V2.ThreadLifetimeInfo.Result.ThreadsStoppedBeforeStartTick">
            <summary></summary>
        </member>
        <member name="P:JetBrains.DotTrace.Features.Processing.Timeline.V2.ThreadLifetimeInfo.Result.AllProcessesRundownThreadEventsCount">
            <summary></summary>
        </member>
        <member name="M:JetBrains.DotTrace.Features.Processing.Timeline.V2.Utils.Select``2(System.Threading.Tasks.Task{``0},System.Func{``0,``1})">
            <summary>
            Copy paste of the JetBrains.Threading.TaskEx.Select[TSrc, TDst] but without `.ConfigureAwait(false)`
            </summary>
            <param name="task"></param>
            <param name="selector"></param>
            <typeparam name="TSrc"></typeparam>
            <typeparam name="TDst"></typeparam>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:JetBrains.DotTrace.Features.SavedState.SavedStateValueAccessorBase`1.WriteCore(`0)">
            <summary>
            It returns normalized state
            </summary>
            <param name="state"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.DotTrace.Features.SavedState.SavedStateValueAccessorBase`1.ResetCore">
            <summary>
            It returns default state
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.DotTrace.Features.ShellComponentsViewerOpener.PerformanceSnapshotVersionChecker.GenerateSupportedSectionCode(JetBrains.Util.FileSystemPath)">
            <summary>
            See PerformanceSnapshotViewer.CheckSnapshotStatus
            </summary>
            <param name="snapshotPath"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.DotTrace.Features.ShellComponents.Local.SnapshotContainer.SnapshotScopeLifetime">
            <summary>
            This is the lifetime of the "Snapshot scope" which is terminated last, after all other activities already finished
            </summary>
        </member>
        <member name="M:JetBrains.DotTrace.Features.SnapshotComponents.Local.Common.Metadada.MethodPrinter.AppendSignature(JetBrains.Common.Util.Union.Union{System.String,JetBrains.Common.Util.FormattedText.FormattedTextBuilder},System.String)">
            <summary>
            Keep memory traffic at minimum. Hot path function.
            </summary>
            <param name="fullName"></param>
            <param name="metadataCacheSignature"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.DotTrace.Features.SnapshotComponents.Local.Common.SnapshotSaver.TimelineSnapshotSaver.SaveSnapshotAsync(JetBrains.Common.SnapshotManagement.IRecentSnapshot)">
            <summary>
            Shows "File save dialog" for currently opened in the viewer snapshot and saves it in the chosen place.
            </summary>
            <returns>Returns true if snapshot is successfully saved. False if user rejected to save the snapshot
            or canceled the saving process.</returns>
            <exception cref="T:System.InvalidOperationException"></exception>
        </member>
        <member name="M:JetBrains.DotTrace.Features.SnapshotComponents.Local.Common.SnapshotSaver.TimelineSnapshotSaver.SaveSnapshot(JetBrains.Common.SnapshotManagement.IRecentSnapshot)">
            <summary>
            Shows "File save dialog" for currently opened in the viewer snapshot and saves it in the chosen place.
            </summary>
            <returns>Returns true if snapshot is successfully saved. False if user rejected to save the snapshot
            or canceled the saving process.</returns>
            <exception cref="T:System.InvalidOperationException"></exception>
        </member>
        <member name="T:JetBrains.DotTrace.Features.SnapshotComponents.Local.Timeline.SnapshotComponentFileLocker">
             <summary>
             When we are opening a snapshot file indirectly(through unpacking) we want to "protect" original input file from modifications by the outer world.
             Here we use snapshot component's lifetime for this, keeping in mind that all destructive actions with the snapshot files can happen in the outer SnapshotScopeLifetime.
            
             <seealso cref="T:JetBrains.DotTrace.Features.ConverterComponents.Local.ConverterComponentFileLocker"/>
             </summary>
        </member>
        <member name="T:JetBrains.DotTrace.Features.SnapshotComponents.Local.Timeline.Viewports.TimelineSharedViewportRangesComponent">
            <summary>
            This class is used to share Visible and Total ranges between viewports in VS.
            First one is used to summary and second for threads toolwindows.
            </summary>
        </member>
        <member name="T:JetBrains.DotTrace.Features.SnapshotSelector.RootStack.ISelectorSnapshotCallTreeRootsHistoryFactory">
            <summary>
            The interface is exposed to the features layer
            So it contains merged FunctionUID (FunctionUIDm)
            Those values cannot be directly stored using snapshot settings accessor
            and must be converted using IFuidsMatcher before saving
            <seealso cref="T:JetBrains.DotTrace.Features.SnapshotSelector.RootStack.ISelectorSnapshotDalCallTreeRootsHistoryFactory" />
            </summary>
        </member>
        <member name="T:JetBrains.DotTrace.Features.SnapshotSelector.RootStack.ISelectorSnapshotDalCallTreeRootsHistoryFactory">
            <summary>
            The interface is similar to <see cref="T:JetBrains.DotTrace.Features.SnapshotSelector.RootStack.ISelectorSnapshotCallTreeRootsHistoryFactory"/>
            But it has raw FunctionUID (FunctionUID)
            Those values cannot be directly used in features layer
            and must be converted using IFuidsMatcher
            </summary>
        </member>
        <member name="F:JetBrains.DotTrace.Features.Timeline.CallStacks.EventScanner.myEnumeratorRecreations">
            <summary>
            Diagnostics fields, don't have to be exact, we will check ratio of recreations/moves to detect problems.
            </summary>
        </member>
        <member name="T:JetBrains.DotTrace.Features.Timeline.Filtration.InstantiatedFilters.PayloadItemsListener`1">
            <summary>
            Class used as alias to shorten template syntax for EnumerationListener
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="P:JetBrains.DotTrace.Features.Timeline.Filtration.Processing.ITimeFilter.NextAcceptanceTick">
            <summary>
            Next tick defines the longest interval from current tick, where all of the following conditions are true: <br />
            1. Filter acceptance is not changed (AcceptsCurrentRange is constant) <br />
            2. Listener activity is not changed (ListensToCurrentRange is constant) <br />
            3. If filter has own payload, then CurrentRangePayloadDensity is constant <br />
            </summary>
        </member>
        <member name="M:JetBrains.DotTrace.Features.Timeline.Filtration.Processing.ITimeFilter.Accept(System.UInt64,JetBrains.DotTrace.DataStructures.CallTree.LongPayload)">
            <summary>
            Convention for callee: (tick &lt;= NextTick). <br />
            Conventions for implementor (before call ===> after call): <br />
            (tick &lt; NextTick) ===> NextTick doesn't change. <br />
            (tick == NextTick) ===> (NextTick > tick) <br />
            (tick > NextTick) ===> Exception
            </summary>
            <param name="tick"></param>
            <param name="payloadDensity"></param>
        </member>
        <member name="M:JetBrains.DotTrace.Features.Timeline.Filtration.Processing.ITimeFilter.Skip(System.UInt64)">
            <summary>
            Conventions for implementor: <br />
            (tick &lt; NextTick) ===> NextTick doesn't change. <br />
            (tick == NextTick) ===> (NextTick > tick) <br />
            </summary>
            <param name="tick"></param>
        </member>
        <member name="T:JetBrains.DotTrace.Features.UndoRedo.IFilterHistoryContainer">
            <summary>
            List of all filter history management objects.
            First one is Undo history, second - Redo history and all subsequent items - individual filter histories.
            </summary>
        </member>
        <member name="M:JetBrains.DotTrace.Features.Util.ProgressAndTitleModelEx.CreateProgressModel(JetBrains.Common.Util.DataPipes.IDataProvider{JetBrains.Common.Util.ProgressProvider[]},System.Nullable{System.TimeSpan})">
            <summary>
            
            </summary>
            <param name="progresses"></param>
            <param name="deferUpdateTime">If null is passed - default defer update time is set, which is 1 second</param>
            <returns></returns>
        </member>
    </members>
</doc>
