diff --git a/NzbDrone.Core/Datastore/DbProviderFactory.cs b/NzbDrone.Core/Datastore/DbProviderFactory.cs index 5e4d18898..4e94284d3 100644 --- a/NzbDrone.Core/Datastore/DbProviderFactory.cs +++ b/NzbDrone.Core/Datastore/DbProviderFactory.cs @@ -1,8 +1,8 @@ using System; using System.Data.Common; using System.Data.SqlServerCe; -using MvcMiniProfiler; -using MvcMiniProfiler.Data; +using StackExchange.Profiling; +using StackExchange.Profiling.Data; namespace NzbDrone.Core.Datastore { diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 3fbdebb49..7dedf5250 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -156,9 +156,8 @@ <SpecificVersion>False</SpecificVersion> <HintPath>..\Libraries\Migrator.NET\Migrator.Providers.dll</HintPath> </Reference> - <Reference Include="MvcMiniProfiler, Version=1.9.0.0, Culture=neutral, PublicKeyToken=b44f9351044011a3, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\MiniProfiler.1.9\lib\net40\MvcMiniProfiler.dll</HintPath> + <Reference Include="MiniProfiler"> + <HintPath>..\packages\MiniProfiler.2.0.2\lib\net40\MiniProfiler.dll</HintPath> </Reference> <Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> diff --git a/NzbDrone.Core/packages.config b/NzbDrone.Core/packages.config index d9651c9ed..28e5af301 100644 --- a/NzbDrone.Core/packages.config +++ b/NzbDrone.Core/packages.config @@ -5,7 +5,7 @@ <package id="EntityFramework.SqlServerCompact" version="4.1.8482.2" /> <package id="Growl" version="0.6" /> <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" /> - <package id="MiniProfiler" version="1.9" /> + <package id="MiniProfiler" version="2.0.2" /> <package id="Newtonsoft.Json" version="4.5.3" /> <package id="Ninject" version="2.2.1.4" /> <package id="NLog" version="2.0.0.2000" /> diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 211ae6028..74005fcb6 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -68,7 +68,8 @@ <Private>True</Private> <HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath> </Reference> - <Reference Include="MiniProfiler"> + <Reference Include="MiniProfiler, Version=2.0.2.0, Culture=neutral, PublicKeyToken=b44f9351044011a3, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\MiniProfiler.2.0.2\lib\net40\MiniProfiler.dll</HintPath> </Reference> <Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> @@ -549,6 +550,9 @@ <ItemGroup> <Content Include="Views\Settings\MetadataPartial.cshtml" /> </ItemGroup> + <ItemGroup> + <Content Include="Views\Shared\_MINIPROFILER UPDATED Layout.cshtml" /> + </ItemGroup> <PropertyGroup> <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> diff --git a/NzbDrone.Web/Views/Shared/_MINIPROFILER UPDATED Layout.cshtml b/NzbDrone.Web/Views/Shared/_MINIPROFILER UPDATED Layout.cshtml new file mode 100644 index 000000000..87b393155 --- /dev/null +++ b/NzbDrone.Web/Views/Shared/_MINIPROFILER UPDATED Layout.cshtml @@ -0,0 +1,45 @@ +@* Required so you have extention methods for client timings *@ +@using StackExchange.Profiling; +<!DOCTYPE html> +<html> +<head> + @* optional (enable client timing framework) *@ + @this.InitClientTimings() + <meta charset="utf-8" /> + <title>@ViewBag.Title</title> + + @* optional time scripts in the header *@ + @this.TimeScript("Content Site.css", + @<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />) + @this.TimeScript("jQuery 1.5.1", + @<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>) + @this.TimeScript("modernizr", + @<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>) + +</head> +<body> + <div class="page"> + <header> + <div id="title"> + <h1>My MVC Application</h1> + </div> + <div id="logindisplay"> + @Html.Partial("_LogOnPartial") + </div> + <nav> + <ul id="menu"> + <li>@Html.ActionLink("Home", "Index", "Home")</li> + <li>@Html.ActionLink("About", "About", "Home")</li> + </ul> + </nav> + </header> + <section id="main"> + @RenderBody() + </section> + <footer> + </footer> + </div> + @* Make sure you've added this one line to your LAYOUT or MASTER PAGE *@ + @MiniProfiler.RenderIncludes() +</body> +</html> diff --git a/packages/MiniProfiler.1.9/MiniProfiler.1.9.nupkg b/packages/MiniProfiler.1.9/MiniProfiler.1.9.nupkg deleted file mode 100644 index 245ccfcdd..000000000 Binary files a/packages/MiniProfiler.1.9/MiniProfiler.1.9.nupkg and /dev/null differ diff --git a/packages/MiniProfiler.1.9/lib/net40/MvcMiniProfiler.dll b/packages/MiniProfiler.1.9/lib/net40/MvcMiniProfiler.dll deleted file mode 100644 index 98f7259bf..000000000 Binary files a/packages/MiniProfiler.1.9/lib/net40/MvcMiniProfiler.dll and /dev/null differ diff --git a/packages/MiniProfiler.1.9/lib/net40/MvcMiniProfiler.pdb b/packages/MiniProfiler.1.9/lib/net40/MvcMiniProfiler.pdb deleted file mode 100644 index fab3f2cdd..000000000 Binary files a/packages/MiniProfiler.1.9/lib/net40/MvcMiniProfiler.pdb and /dev/null differ diff --git a/packages/MiniProfiler.1.9/lib/net40/MvcMiniProfiler.xml b/packages/MiniProfiler.1.9/lib/net40/MvcMiniProfiler.xml deleted file mode 100644 index a2baacbbd..000000000 --- a/packages/MiniProfiler.1.9/lib/net40/MvcMiniProfiler.xml +++ /dev/null @@ -1,1512 +0,0 @@ -<?xml version="1.0"?> -<doc> - <assembly> - <name>MvcMiniProfiler</name> - </assembly> - <members> - <member name="T:MvcMiniProfiler.ISqlFormatter"> - <summary> - Takes a SqlTiming and returns a formatted SQL string, for parameter replacement, etc. - </summary> - </member> - <member name="M:MvcMiniProfiler.ISqlFormatter.FormatSql(MvcMiniProfiler.SqlTiming)"> - <summary> - Return SQL the way you want it to look on the in the trace. Usually used to format parameters - </summary> - <param name="timing"></param> - <returns>Formatted SQL</returns> - </member> - <member name="T:MvcMiniProfiler.MiniProfiler"> - <summary> - A single MiniProfiler can be used to represent any number of steps/levels in a call-graph, via Step() - </summary> - <remarks>Totally baller.</remarks> - </member> - <member name="T:MvcMiniProfiler.Data.IDbProfiler"> - <summary> - A callback for ProfiledDbConnection and family - </summary> - </member> - <member name="M:MvcMiniProfiler.Data.IDbProfiler.ExecuteStart(System.Data.Common.DbCommand,MvcMiniProfiler.Data.ExecuteType)"> - <summary> - Called when a command starts executing - </summary> - <param name="profiledDbCommand"></param> - <param name="executeType"></param> - </member> - <member name="M:MvcMiniProfiler.Data.IDbProfiler.ExecuteFinish(System.Data.Common.DbCommand,MvcMiniProfiler.Data.ExecuteType,System.Data.Common.DbDataReader)"> - <summary> - Called when a reader finishes executing - </summary> - <param name="profiledDbCommand"></param> - <param name="executeType"></param> - <param name="reader"></param> - </member> - <member name="M:MvcMiniProfiler.Data.IDbProfiler.ExecuteFinish(System.Data.Common.DbCommand,MvcMiniProfiler.Data.ExecuteType)"> - <summary> - Called when a command finishes executing - </summary> - <param name="profiledDbCommand"></param> - <param name="executeType"></param> - </member> - <member name="M:MvcMiniProfiler.Data.IDbProfiler.ReaderFinish(System.Data.Common.DbDataReader)"> - <summary> - Called when a reader is done iterating through the data - </summary> - <param name="reader"></param> - </member> - <member name="P:MvcMiniProfiler.Data.IDbProfiler.IsActive"> - <summary> - True if the profiler instance is active - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.GetInProgressCommands"> - <summary> - Returns all currently open commands on this connection - </summary> - </member> - <member name="F:MvcMiniProfiler.MiniProfiler._watch"> - <summary> - Starts when this profiler is instantiated. Each <see cref="T:MvcMiniProfiler.Timing"/> step will use this Stopwatch's current ticks as - their starting time. - </summary> - </member> - <member name="F:MvcMiniProfiler.MiniProfiler._sqlCounts"> - <summary> - - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.#ctor(System.String,MvcMiniProfiler.ProfileLevel)"> - <summary> - Creates and starts a new MiniProfiler for the root <paramref name="url"/>, filtering <see cref="T:MvcMiniProfiler.Timing"/> steps to <paramref name="level"/>. - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.#ctor"> - <summary> - Obsolete - used for serialization. - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.GetTimingHierarchy"> - <summary> - Walks the <see cref="T:MvcMiniProfiler.Timing"/> hierarchy contained in this profiler, starting with <see cref="P:MvcMiniProfiler.MiniProfiler.Root"/>, and returns each Timing found. - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.GetSqlTimings"> - <summary> - Returns all <see cref="T:MvcMiniProfiler.SqlTiming"/> results contained in all child <see cref="T:MvcMiniProfiler.Timing"/> steps. - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.GetRoundedMilliseconds(System.Int64)"> - <summary> - Returns milliseconds based on Stopwatch's Frequency. - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.Start(MvcMiniProfiler.ProfileLevel)"> - <summary> - Starts a new MiniProfiler based on the current <see cref="T:MvcMiniProfiler.IProfilerProvider"/>. This new profiler can be accessed by - <see cref="P:MvcMiniProfiler.MiniProfiler.Current"/> - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.Stop(System.Boolean)"> - <summary> - Ends the current profiling session, if one exists. - </summary> - <param name="discardResults"> - When true, clears the <see cref="P:MvcMiniProfiler.MiniProfiler.Current"/> for this HttpContext, allowing profiling to - be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled. - </param> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.StepStatic(System.String,MvcMiniProfiler.ProfileLevel)"> - <summary> - Returns an <see cref="T:System.IDisposable"/> that will time the code between its creation and disposal. Use this method when you - do not wish to include the MvcMiniProfiler namespace for the <see cref="M:MvcMiniProfiler.MiniProfilerExtensions.Step(MvcMiniProfiler.MiniProfiler,System.String,MvcMiniProfiler.ProfileLevel)"/> extension method. - </summary> - <param name="name">A descriptive name for the code that is encapsulated by the resulting IDisposable's lifetime.</param> - <param name="level">This step's visibility level; allows filtering when <see cref="M:MvcMiniProfiler.MiniProfiler.Start(MvcMiniProfiler.ProfileLevel)"/> is called.</param> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.RenderIncludes(System.Nullable{MvcMiniProfiler.RenderPosition},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Int32},System.Boolean)"> - <summary> - Returns the css and javascript includes needed to display the MiniProfiler results UI. - </summary> - <param name="position">Which side of the page the profiler popup button should be displayed on (defaults to left)</param> - <param name="showTrivial">Whether to show trivial timings by default (defaults to false)</param> - <param name="showTimeWithChildren">Whether to show time the time with children column by default (defaults to false)</param> - <param name="maxTracesToShow">The maximum number of trace popups to show before removing the oldest (defaults to 15)</param> - <param name="xhtml">xhtml rendering mode, ensure script tag is closed ... etc</param> - <returns>Script and link elements normally; an empty string when there is no active profiling session.</returns> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.ToJson"> - <summary> - Renders the current <see cref="T:MvcMiniProfiler.MiniProfiler"/> to json. - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.ToJson(MvcMiniProfiler.MiniProfiler)"> - <summary> - Renders the parameter <see cref="T:MvcMiniProfiler.MiniProfiler"/> to json. - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.FromJson(System.String)"> - <summary> - Deserializes the json string parameter to a <see cref="T:MvcMiniProfiler.MiniProfiler"/>. - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.Clone"> - <summary> - Create a DEEP clone of this object - </summary> - <returns></returns> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Id"> - <summary> - Identifies this Profiler so it may be stored/cached. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Name"> - <summary> - A display name for this profiling session. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Started"> - <summary> - When this profiler was instantiated. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.MachineName"> - <summary> - Where this profiler was run. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Level"> - <summary> - Allows filtering of <see cref="T:MvcMiniProfiler.Timing"/> steps based on what <see cref="T:MvcMiniProfiler.ProfileLevel"/> - the steps are created with. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Root"> - <summary> - The first <see cref="T:MvcMiniProfiler.Timing"/> that is created and started when this profiler is instantiated. - All other <see cref="T:MvcMiniProfiler.Timing"/>s will be children of this one. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.User"> - <summary> - A string identifying the user/client that is profiling this request. Set <see cref="P:MvcMiniProfiler.MiniProfiler.Settings.UserProvider"/> - with an <see cref="T:MvcMiniProfiler.IUserProvider"/>-implementing class to provide a custom value. - </summary> - <remarks> - If this is not set manually at some point, the <see cref="P:MvcMiniProfiler.MiniProfiler.Settings.UserProvider"/> implementation will be used; - by default, this will be the current request's ip address. - </remarks> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.HasUserViewed"> - <summary> - Returns true when this MiniProfiler has been viewed by the <see cref="P:MvcMiniProfiler.MiniProfiler.User"/> that recorded it. - </summary> - <remarks> - Allows POSTs that result in a redirect to be profiled. <see cref="P:MvcMiniProfiler.MiniProfiler.Settings.Storage"/> implementation - will keep a list of all profilers that haven't been fetched down. - </remarks> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.SqlProfiler"> - <summary> - Contains information about queries executed during this profiling session. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.DurationMilliseconds"> - <summary> - Milliseconds, to one decimal place, that this MiniProfiler ran. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.DurationMillisecondsInSql"> - <summary> - Milliseconds, to one decimal place, that this MiniProfiler was executing sql. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.HasSqlTimings"> - <summary> - Returns true when we have profiled queries. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.HasDuplicateSqlTimings"> - <summary> - Returns true when any child Timings have duplicate queries. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.HasTrivialTimings"> - <summary> - Returns true when <see cref="P:MvcMiniProfiler.MiniProfiler.Root"/> or any of its <see cref="P:MvcMiniProfiler.Timing.Children"/> are <see cref="P:MvcMiniProfiler.Timing.IsTrivial"/>. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.HasAllTrivialTimings"> - <summary> - Returns true when all child <see cref="T:MvcMiniProfiler.Timing"/>s are <see cref="P:MvcMiniProfiler.Timing.IsTrivial"/>. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.TrivialDurationThresholdMilliseconds"> - <summary> - Any Timing step with a duration less than or equal to this will be hidden by default in the UI; defaults to 2.0 ms. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.ElapsedTicks"> - <summary> - Ticks since this MiniProfiler was started. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Head"> - <summary> - Points to the currently executing Timing. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Current"> - <summary> - Gets the currently running MiniProfiler for the current HttpContext; null if no MiniProfiler was <see cref="M:MvcMiniProfiler.MiniProfiler.Start(MvcMiniProfiler.ProfileLevel)"/>ed. - </summary> - </member> - <member name="T:MvcMiniProfiler.MiniProfiler.Settings"> - <summary> - Various configuration properties. - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.Settings.ExcludeAssembly(System.String)"> - <summary> - Excludes the specified assembly from the stack trace output. - </summary> - <param name="assemblyName">The short name of the assembly. AssemblyName.Name</param> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.Settings.ExcludeType(System.String)"> - <summary> - Excludes the specified type from the stack trace output. - </summary> - <param name="typeToExclude">The System.Type name to exclude</param> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.Settings.ExcludeMethod(System.String)"> - <summary> - Excludes the specified method name from the stack trace output. - </summary> - <param name="methodName">The name of the method</param> - </member> - <member name="M:MvcMiniProfiler.MiniProfiler.Settings.EnsureStorageStrategy"> - <summary> - Make sure we can at least store profiler results to the http runtime cache. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.AssembliesToExclude"> - <summary> - Assemblies to exclude from the stack trace report. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.TypesToExclude"> - <summary> - Types to exclude from the stack trace report. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.MethodsToExclude"> - <summary> - Methods to exclude from the stack trace report. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.StackMaxLength"> - <summary> - The max length of the stack string to report back; defaults to 120 chars. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.TrivialDurationThresholdMilliseconds"> - <summary> - Any Timing step with a duration less than or equal to this will be hidden by default in the UI; defaults to 2.0 ms. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.PopupShowTimeWithChildren"> - <summary> - Dictates if the "time with children" column is displayed by default, defaults to false. - For a per-page override you can use .RenderIncludes(showTimeWithChildren: true/false) - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.PopupShowTrivial"> - <summary> - Dictates if trivial timings are displayed by default, defaults to false. - For a per-page override you can use .RenderIncludes(showTrivial: true/false) - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.PopupMaxTracesToShow"> - <summary> - Determines how many traces to show before removing the oldest; defaults to 15. - For a per-page override you can use .RenderIncludes(maxTracesToShow: 10) - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.PopupRenderPosition"> - <summary> - Dictates on which side of the page the profiler popup button is displayed; defaults to left. - For a per-page override you can use .RenderIncludes(position: RenderPosition.Left/Right) - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.ExcludeStackTraceSnippetFromSqlTimings"> - <summary> - By default, SqlTimings will grab a stack trace to help locate where queries are being executed. - When this setting is true, no stack trace will be collected, possibly improving profiler performance. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.IgnoredPaths"> - <summary> - When <see cref="M:MvcMiniProfiler.MiniProfiler.Start(MvcMiniProfiler.ProfileLevel)"/> is called, if the current request url contains any items in this property, - no profiler will be instantiated and no results will be displayed. - Default value is { "/mini-profiler-", "/content/", "/scripts/", "/favicon.ico" }. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.RouteBasePath"> - <summary> - The path under which ALL routes are registered in, defaults to the application root. For example, "~/myDirectory/" would yield - "/myDirectory/mini-profiler-includes.js" rather than just "/mini-profiler-includes.js" - Any setting here should be in APP RELATIVE FORM, e.g. "~/myDirectory/" - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.Storage"> - <summary> - Understands how to save and load MiniProfilers. Used for caching between when - a profiling session ends and results can be fetched to the client, and for showing shared, full-page results. - </summary> - <remarks> - The normal profiling session life-cycle is as follows: - 1) request begins - 2) profiler is started - 3) normal page/controller/request execution - 4) profiler is stopped - 5) profiler is cached with <see cref="P:MvcMiniProfiler.MiniProfiler.Settings.Storage"/>'s implementation of <see cref="M:MvcMiniProfiler.Storage.IStorage.Save(MvcMiniProfiler.MiniProfiler)"/> - 6) request ends - 7) page is displayed and profiling results are ajax-fetched down, pulling cached results from - <see cref="P:MvcMiniProfiler.MiniProfiler.Settings.Storage"/>'s implementation of <see cref="M:MvcMiniProfiler.Storage.IStorage.Load(System.Guid)"/> - </remarks> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.SqlFormatter"> - <summary> - The formatter applied to the SQL being rendered (used only for UI) - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.UserProvider"> - <summary> - Provides user identification for a given profiling request. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.Version"> - <summary> - Assembly version of this dank MiniProfiler. - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.ProfilerProvider"> - <summary> - The provider used to provider the current instance of a provider - This is also - </summary> - </member> - <member name="P:MvcMiniProfiler.MiniProfiler.Settings.Results_Authorize"> - <summary> - A function that determines who can access the MiniProfiler results url. It should return true when - the request client has access, false for a 401 to be returned. HttpRequest parameter is the current request and - MiniProfiler parameter is the results that were profiled. - </summary> - <remarks> - Both the HttpRequest and MiniProfiler parameters that will be passed into this function should never be null. - </remarks> - </member> - <member name="M:MvcMiniProfiler.Helpers.SqlMapper.Execute(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable{System.Int32},System.Nullable{System.Data.CommandType})"> - <summary> - Execute parameterized SQL - </summary> - <returns>Number of rows affected</returns> - </member> - <member name="M:MvcMiniProfiler.Helpers.SqlMapper.Query(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Boolean,System.Nullable{System.Int32},System.Nullable{System.Data.CommandType})"> - <summary> - Return a list of dynamic objects, reader is closed after the call - </summary> - </member> - <member name="M:MvcMiniProfiler.Helpers.SqlMapper.QueryMultiple(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable{System.Int32},System.Nullable{System.Data.CommandType})"> - <summary> - Execute a command that returns multiple result sets, and access each in turn - </summary> - </member> - <member name="M:MvcMiniProfiler.Helpers.SqlMapper.QueryInternal``1(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable{System.Int32},System.Nullable{System.Data.CommandType})"> - <summary> - Return a typed list of objects, reader is closed after the call - </summary> - </member> - <member name="M:MvcMiniProfiler.Helpers.SqlMapper.Query``3(System.Data.IDbConnection,System.String,System.Func{``0,``1,``2},System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable{System.Int32},System.Nullable{System.Data.CommandType})"> - <summary> - Maps a query to objects - </summary> - <typeparam name="T">The return type</typeparam> - <typeparam name="U"></typeparam> - <param name="cnn"></param> - <param name="sql"></param> - <param name="map"></param> - <param name="param"></param> - <param name="transaction"></param> - <param name="buffered"></param> - <param name="splitOn">The Field we should split and read the second object from (default: id)</param> - <param name="commandTimeout">Number of seconds before command execution timeout</param> - <returns></returns> - </member> - <member name="T:MvcMiniProfiler.Helpers.SqlMapper.Link`2"> - <summary> - This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), - and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** - equality. The type is fully thread-safe. - </summary> - </member> - <member name="M:MvcMiniProfiler.Helpers.SqlMapper.GridReader.Read``1"> - <summary> - Read the next grid of results - </summary> - </member> - <member name="T:MvcMiniProfiler.Data.ProfiledDbConnection"> - <summary> - Wraps a database connection, allowing sql execution timings to be collected when a <see cref="T:MvcMiniProfiler.MiniProfiler"/> session is started. - </summary> - </member> - <member name="F:MvcMiniProfiler.Data.ProfiledDbConnection._conn"> - <summary> - Current unwrapped connection - </summary> - </member> - <member name="F:MvcMiniProfiler.Data.ProfiledDbConnection._profiler"> - <summary> - The current profiler instance - </summary> - </member> - <member name="M:MvcMiniProfiler.Data.ProfiledDbConnection.#ctor(System.Data.Common.DbConnection,MvcMiniProfiler.Data.IDbProfiler)"> - <summary> - Returns a new <see cref="T:MvcMiniProfiler.Data.ProfiledDbConnection"/> that wraps <paramref name="connection"/>, - providing query execution profiling. If profiler is null, no profiling will occur. - </summary> - <param name="connection">Your provider-specific flavor of connection, e.g. SqlConnection, OracleConnection</param> - <param name="profiler">The currently started <see cref="T:MvcMiniProfiler.MiniProfiler"/> or null.</param> - </member> - <member name="P:MvcMiniProfiler.Data.ProfiledDbConnection.WrappedConnection"> - <summary> - The raw connection this is wrapping - </summary> - </member> - <member name="T:MvcMiniProfiler.Storage.DatabaseStorageBase"> - <summary> - Understands how to save MiniProfiler results to a MSSQL database, allowing more permanent storage and - querying of slow results. - </summary> - </member> - <member name="T:MvcMiniProfiler.Storage.IStorage"> - <summary> - Provides saving and loading <see cref="T:MvcMiniProfiler.MiniProfiler"/>s to a storage medium. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.IStorage.Save(MvcMiniProfiler.MiniProfiler)"> - <summary> - Stores <paramref name="profiler"/> under its <see cref="P:MvcMiniProfiler.MiniProfiler.Id"/>. - </summary> - <param name="profiler">The results of a profiling session.</param> - <remarks> - Should also ensure the profiler is stored as being unviewed by its profiling <see cref="P:MvcMiniProfiler.MiniProfiler.User"/>. - </remarks> - </member> - <member name="M:MvcMiniProfiler.Storage.IStorage.Load(System.Guid)"> - <summary> - Returns a <see cref="T:MvcMiniProfiler.MiniProfiler"/> from storage based on <paramref name="id"/>, which should map to <see cref="P:MvcMiniProfiler.MiniProfiler.Id"/>. - </summary> - <remarks> - Should also update that the resulting profiler has been marked as viewed by its profiling <see cref="P:MvcMiniProfiler.MiniProfiler.User"/>. - </remarks> - </member> - <member name="M:MvcMiniProfiler.Storage.IStorage.GetUnviewedIds(System.String)"> - <summary> - Returns a list of <see cref="P:MvcMiniProfiler.MiniProfiler.Id"/>s that haven't been seen by <paramref name="user"/>. - </summary> - <param name="user">User identified by the current <see cref="P:MvcMiniProfiler.MiniProfiler.Settings.UserProvider"/>.</param> - </member> - <member name="M:MvcMiniProfiler.Storage.DatabaseStorageBase.#ctor(System.String)"> - <summary> - Returns a new SqlServerDatabaseStorage object that will insert into the database identified by connectionString. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.DatabaseStorageBase.Save(MvcMiniProfiler.MiniProfiler)"> - <summary> - Saves 'profiler' to a database under its <see cref="P:MvcMiniProfiler.MiniProfiler.Id"/>. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.DatabaseStorageBase.Load(System.Guid)"> - <summary> - Returns the MiniProfiler identified by 'id' from the database or null when no MiniProfiler exists under that 'id'. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.DatabaseStorageBase.GetUnviewedIds(System.String)"> - <summary> - Returns a list of <see cref="P:MvcMiniProfiler.MiniProfiler.Id"/>s that haven't been seen by <paramref name="user"/>. - </summary> - <param name="user">User identified by the current <see cref="P:MvcMiniProfiler.MiniProfiler.Settings.UserProvider"/>.</param> - </member> - <member name="M:MvcMiniProfiler.Storage.DatabaseStorageBase.GetConnection"> - <summary> - Returns a DbConnection for your specific provider. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.DatabaseStorageBase.GetOpenConnection"> - <summary> - Returns a DbConnection already opened for execution. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.DatabaseStorageBase.MapTimings(MvcMiniProfiler.MiniProfiler,System.Collections.Generic.List{MvcMiniProfiler.Timing},System.Collections.Generic.List{MvcMiniProfiler.SqlTiming},System.Collections.Generic.List{MvcMiniProfiler.SqlTimingParameter})"> - <summary> - Giving freshly selected collections, this method puts them in the correct - hierarchy under the 'result' MiniProfiler. - </summary> - </member> - <member name="P:MvcMiniProfiler.Storage.DatabaseStorageBase.ConnectionString"> - <summary> - How we connect to the database used to save/load MiniProfiler results. - </summary> - </member> - <member name="T:MvcMiniProfiler.SqlFormatters.SqlServerFormatter"> - <summary> - Formats SQL server queries with a DECLARE up top for parameter values - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlFormatters.SqlServerFormatter.FormatSql(MvcMiniProfiler.SqlTiming)"> - <summary> - Formats the SQL in a SQL-Server friendly way, with DECLARE statements for the parameters up top. - </summary> - <param name="timing">The SqlTiming to format</param> - <returns>A formatted SQL string</returns> - </member> - <member name="T:MvcMiniProfiler.Data.ProfiledDbProviderFactory"> - <summary> - Wrapper for a db provider factory to enable profiling - </summary> - </member> - <member name="F:MvcMiniProfiler.Data.ProfiledDbProviderFactory.Instance"> - <summary> - Every provider factory must have an Instance public field - </summary> - </member> - <member name="M:MvcMiniProfiler.Data.ProfiledDbProviderFactory.#ctor"> - <summary> - Used for db provider apis internally - </summary> - </member> - <member name="M:MvcMiniProfiler.Data.ProfiledDbProviderFactory.InitProfiledDbProviderFactory(MvcMiniProfiler.Data.IDbProfiler,System.Data.Common.DbProviderFactory)"> - <summary> - Allow to re-init the provider factory. - </summary> - <param name="profiler"></param> - <param name="tail"></param> - </member> - <member name="M:MvcMiniProfiler.Data.ProfiledDbProviderFactory.#ctor(MvcMiniProfiler.Data.IDbProfiler,System.Data.Common.DbProviderFactory)"> - <summary> - proxy - </summary> - <param name="profiler"></param> - <param name="tail"></param> - </member> - <member name="M:MvcMiniProfiler.Data.ProfiledDbProviderFactory.CreateDataSourceEnumerator"> - <summary> - proxy - </summary> - </member> - <member name="M:MvcMiniProfiler.Data.ProfiledDbProviderFactory.CreateCommand"> - <summary> - proxy - </summary> - </member> - <member name="M:MvcMiniProfiler.Data.ProfiledDbProviderFactory.CreateConnection"> - <summary> - proxy - </summary> - </member> - <member name="M:MvcMiniProfiler.Data.ProfiledDbProviderFactory.CreateParameter"> - <summary> - proxy - </summary> - </member> - <member name="M:MvcMiniProfiler.Data.ProfiledDbProviderFactory.CreateConnectionStringBuilder"> - <summary> - proxy - </summary> - </member> - <member name="M:MvcMiniProfiler.Data.ProfiledDbProviderFactory.CreateCommandBuilder"> - <summary> - proxy - </summary> - </member> - <member name="M:MvcMiniProfiler.Data.ProfiledDbProviderFactory.CreateDataAdapter"> - <summary> - proxy - </summary> - </member> - <member name="M:MvcMiniProfiler.Data.ProfiledDbProviderFactory.CreatePermission(System.Security.Permissions.PermissionState)"> - <summary> - proxy - </summary> - </member> - <member name="P:MvcMiniProfiler.Data.ProfiledDbProviderFactory.CanCreateDataSourceEnumerator"> - <summary> - proxy - </summary> - </member> - <member name="T:MvcMiniProfiler.BaseProfilerProvider"> - <summary> - BaseProfilerProvider. This providers some helper methods which provide access to - internals not otherwise available. - To use, override the <see cref="M:MvcMiniProfiler.BaseProfilerProvider.Start(MvcMiniProfiler.ProfileLevel)"/>, <see cref="M:MvcMiniProfiler.BaseProfilerProvider.Stop(System.Boolean)"/> and <see cref="M:MvcMiniProfiler.BaseProfilerProvider.GetCurrentProfiler"/> - methods. - </summary> - </member> - <member name="T:MvcMiniProfiler.IProfilerProvider"> - <summary> - A provider used to create <see cref="T:MvcMiniProfiler.MiniProfiler"/> instances and maintain the current instance. - </summary> - </member> - <member name="M:MvcMiniProfiler.IProfilerProvider.Start(MvcMiniProfiler.ProfileLevel)"> - <summary> - Starts a new MiniProfiler and sets it to be current. By the end of this method - <see cref="M:MvcMiniProfiler.IProfilerProvider.GetCurrentProfiler"/> should return the new MiniProfiler. - </summary> - </member> - <member name="M:MvcMiniProfiler.IProfilerProvider.Stop(System.Boolean)"> - <summary> - Ends the current profiling session, if one exists. - </summary> - <param name="discardResults"> - When true, clears the <see cref="P:MvcMiniProfiler.MiniProfiler.Current"/> for this HttpContext, allowing profiling to - be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled. - </param> - </member> - <member name="M:MvcMiniProfiler.IProfilerProvider.GetCurrentProfiler"> - <summary> - Returns the current MiniProfiler. This is used by <see cref="P:MvcMiniProfiler.MiniProfiler.Current"/>. - </summary> - <returns></returns> - </member> - <member name="M:MvcMiniProfiler.BaseProfilerProvider.Start(MvcMiniProfiler.ProfileLevel)"> - <summary> - Starts a new MiniProfiler and sets it to be current. By the end of this method - <see cref="M:MvcMiniProfiler.BaseProfilerProvider.GetCurrentProfiler"/> should return the new MiniProfiler. - </summary> - </member> - <member name="M:MvcMiniProfiler.BaseProfilerProvider.Stop(System.Boolean)"> - <summary> - Stops the current MiniProfiler (if any is currently running). - <see cref="M:MvcMiniProfiler.BaseProfilerProvider.SaveProfiler(MvcMiniProfiler.MiniProfiler)"/> should be called if <paramref name="discardResults"/> is false - </summary> - <param name="discardResults">If true, any current results will be thrown away and nothing saved</param> - </member> - <member name="M:MvcMiniProfiler.BaseProfilerProvider.GetCurrentProfiler"> - <summary> - Returns the current MiniProfiler. This is used by <see cref="P:MvcMiniProfiler.MiniProfiler.Current"/>. - </summary> - <returns></returns> - </member> - <member name="M:MvcMiniProfiler.BaseProfilerProvider.SetProfilerActive(MvcMiniProfiler.MiniProfiler)"> - <summary> - Sets <paramref name="profiler"/> to be active (read to start profiling) - This should be called once a new MiniProfiler has been created. - </summary> - <param name="profiler">The profiler to set to active</param> - <exception cref="T:System.ArgumentNullException">If <paramref name="profiler"/> is null</exception> - </member> - <member name="M:MvcMiniProfiler.BaseProfilerProvider.StopProfiler(MvcMiniProfiler.MiniProfiler)"> - <summary> - Stops the profiler and marks it as inactive. - </summary> - <param name="profiler">The profiler to stop</param> - <returns>True if successful, false if Stop had previously been called on this profiler</returns> - <exception cref="T:System.ArgumentNullException">If <paramref name="profiler"/> is null</exception> - </member> - <member name="M:MvcMiniProfiler.BaseProfilerProvider.SaveProfiler(MvcMiniProfiler.MiniProfiler)"> - <summary> - Calls <see cref="M:MvcMiniProfiler.MiniProfiler.Settings.EnsureStorageStrategy"/> to save the current - profiler using the current storage settings - </summary> - <param name="current"></param> - </member> - <member name="T:MvcMiniProfiler.MVCHelpers.ProfilingActionFilter"> - <summary> - This filter can be applied globally to hook up automatic action profiling - </summary> - </member> - <member name="M:MvcMiniProfiler.MVCHelpers.ProfilingActionFilter.OnActionExecuting(System.Web.Mvc.ActionExecutingContext)"> - <summary> - Happens before the action starts running - </summary> - </member> - <member name="M:MvcMiniProfiler.MVCHelpers.ProfilingActionFilter.OnActionExecuted(System.Web.Mvc.ActionExecutedContext)"> - <summary> - Happens after the action executes - </summary> - </member> - <member name="T:MvcMiniProfiler.ProfileLevel"> - <summary> - Categorizes individual <see cref="T:MvcMiniProfiler.Timing"/> steps to allow filtering. - </summary> - </member> - <member name="F:MvcMiniProfiler.ProfileLevel.Info"> - <summary> - Default level given to Timings. - </summary> - </member> - <member name="F:MvcMiniProfiler.ProfileLevel.Verbose"> - <summary> - Useful when profiling many items in a loop, but you don't wish to always see this detail. - </summary> - </member> - <member name="T:MvcMiniProfiler.RenderPosition"> - <summary> - Dictates on which side of the page the profiler popup button is displayed; defaults to left. - </summary> - </member> - <member name="F:MvcMiniProfiler.RenderPosition.Left"> - <summary> - Profiler popup button is displayed on the left. - </summary> - </member> - <member name="F:MvcMiniProfiler.RenderPosition.Right"> - <summary> - Profiler popup button is displayed on the right. - </summary> - </member> - <member name="T:MvcMiniProfiler.MiniProfilerExtensions"> - <summary> - Contains helper methods that ease working with null <see cref="T:MvcMiniProfiler.MiniProfiler"/>s. - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfilerExtensions.Inline``1(MvcMiniProfiler.MiniProfiler,System.Func{``0},System.String)"> - <summary> - Wraps <paramref name="selector"/> in a <see cref="M:MvcMiniProfiler.MiniProfilerExtensions.Step(MvcMiniProfiler.MiniProfiler,System.String,MvcMiniProfiler.ProfileLevel)"/> call and executes it, returning its result. - </summary> - <param name="profiler">The current profiling session or null.</param> - <param name="selector">Method to execute and profile.</param> - <param name="name">The <see cref="T:MvcMiniProfiler.Timing"/> step name used to label the profiler results.</param> - <returns></returns> - </member> - <member name="M:MvcMiniProfiler.MiniProfilerExtensions.Step(MvcMiniProfiler.MiniProfiler,System.String,MvcMiniProfiler.ProfileLevel)"> - <summary> - Returns an <see cref="T:System.IDisposable"/> that will time the code between its creation and disposal. - </summary> - <param name="profiler">The current profiling session or null.</param> - <param name="name">A descriptive name for the code that is encapsulated by the resulting IDisposable's lifetime.</param> - <param name="level">This step's visibility level; allows filtering when <see cref="M:MvcMiniProfiler.MiniProfiler.Start(MvcMiniProfiler.ProfileLevel)"/> is called.</param> - </member> - <member name="M:MvcMiniProfiler.MiniProfilerExtensions.AddProfilerResults(MvcMiniProfiler.MiniProfiler,MvcMiniProfiler.MiniProfiler)"> - <summary> - Adds <paramref name="externalProfiler"/>'s <see cref="T:MvcMiniProfiler.Timing"/> hierarchy to this profiler's current Timing step, - allowing other threads, remote calls, etc. to be profiled and joined into this profiling session. - </summary> - </member> - <member name="M:MvcMiniProfiler.MiniProfilerExtensions.Render(MvcMiniProfiler.MiniProfiler)"> - <summary> - Returns an html-encoded string with a text-representation of <paramref name="profiler"/>; returns "" when profiler is null. - </summary> - <param name="profiler">The current profiling session or null.</param> - </member> - <member name="T:MvcMiniProfiler.Helpers.StackTraceSnippet"> - <summary> - Gets part of a stack trace containing only methods we care about. - </summary> - </member> - <member name="M:MvcMiniProfiler.Helpers.StackTraceSnippet.Get"> - <summary> - Gets the current formatted and filted stack trace. - </summary> - <returns>Space separated list of methods</returns> - </member> - <member name="T:MvcMiniProfiler.Storage.HttpRuntimeCacheStorage"> - <summary> - Understands how to store a <see cref="T:MvcMiniProfiler.MiniProfiler"/> to the <see cref="P:System.Web.HttpRuntime.Cache"/> with absolute expiration. - </summary> - </member> - <member name="F:MvcMiniProfiler.Storage.HttpRuntimeCacheStorage.CacheKeyPrefix"> - <summary> - The string that prefixes all keys that MiniProfilers are saved under, e.g. - "mini-profiler-ecfb0050-7ce8-4bf1-bf82-2cb38e90e31e". - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.HttpRuntimeCacheStorage.#ctor(System.TimeSpan)"> - <summary> - Returns a new HttpRuntimeCacheStorage class that will cache MiniProfilers for the specified duration. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.HttpRuntimeCacheStorage.Save(MvcMiniProfiler.MiniProfiler)"> - <summary> - Saves <paramref name="profiler"/> to the HttpRuntime.Cache under a key concated with <see cref="F:MvcMiniProfiler.Storage.HttpRuntimeCacheStorage.CacheKeyPrefix"/> - and the parameter's <see cref="P:MvcMiniProfiler.MiniProfiler.Id"/>. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.HttpRuntimeCacheStorage.Load(System.Guid)"> - <summary> - Returns the saved <see cref="T:MvcMiniProfiler.MiniProfiler"/> identified by <paramref name="id"/>. Also marks the resulting - profiler <see cref="P:MvcMiniProfiler.MiniProfiler.HasUserViewed"/> to true. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.HttpRuntimeCacheStorage.GetUnviewedIds(System.String)"> - <summary> - Returns a list of <see cref="P:MvcMiniProfiler.MiniProfiler.Id"/>s that haven't been seen by <paramref name="user"/>. - </summary> - <param name="user">User identified by the current <see cref="P:MvcMiniProfiler.MiniProfiler.Settings.UserProvider"/>.</param> - </member> - <member name="F:MvcMiniProfiler.Storage.HttpRuntimeCacheStorage.AddPerUserUnviewedIdsLock"> - <summary> - Syncs access to runtime cache when adding a new list of ids for a user. - </summary> - </member> - <member name="P:MvcMiniProfiler.Storage.HttpRuntimeCacheStorage.CacheDuration"> - <summary> - How long to cache each <see cref="T:MvcMiniProfiler.MiniProfiler"/> for (i.e. the absolute expiration parameter of - <see cref="M:System.Web.Caching.Cache.Insert(System.String,System.Object,System.Web.Caching.CacheDependency,System.DateTime,System.TimeSpan,System.Web.Caching.CacheItemUpdateCallback)"/>) - </summary> - </member> - <member name="T:MvcMiniProfiler.WebRequestProfilerProvider"> - <summary> - HttpContext based profiler provider. This is the default provider to use in a web context. - The current profiler is associated with a HttpContext.Current ensuring that profilers are - specific to a individual HttpRequest. - </summary> - </member> - <member name="M:MvcMiniProfiler.WebRequestProfilerProvider.#ctor"> - <summary> - Public constructor. This also registers any UI routes needed to display results - </summary> - </member> - <member name="M:MvcMiniProfiler.WebRequestProfilerProvider.Start(MvcMiniProfiler.ProfileLevel)"> - <summary> - Starts a new MiniProfiler and associates it with the current <see cref="P:System.Web.HttpContext.Current"/>. - </summary> - </member> - <member name="M:MvcMiniProfiler.WebRequestProfilerProvider.Stop(System.Boolean)"> - <summary> - Ends the current profiling session, if one exists. - </summary> - <param name="discardResults"> - When true, clears the <see cref="P:MvcMiniProfiler.MiniProfiler.Current"/> for this HttpContext, allowing profiling to - be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled. - </param> - </member> - <member name="M:MvcMiniProfiler.WebRequestProfilerProvider.EnsureName(MvcMiniProfiler.MiniProfiler,System.Web.HttpRequest)"> - <summary> - Makes sure 'profiler' has a Name, pulling it from route data or url. - </summary> - </member> - <member name="M:MvcMiniProfiler.WebRequestProfilerProvider.GetCurrentProfiler"> - <summary> - Returns the current profiler - </summary> - <returns></returns> - </member> - <member name="P:MvcMiniProfiler.WebRequestProfilerProvider.Current"> - <summary> - Gets the currently running MiniProfiler for the current HttpContext; null if no MiniProfiler was <see cref="M:MvcMiniProfiler.WebRequestProfilerProvider.Start(MvcMiniProfiler.ProfileLevel)"/>ed. - </summary> - </member> - <member name="T:MvcMiniProfiler.WebRequestProfilerProvider.Settings"> - <summary> - WebRequestProfilerProvider specific configurations - </summary> - </member> - <member name="P:MvcMiniProfiler.WebRequestProfilerProvider.Settings.UserProvider"> - <summary> - Provides user identification for a given profiling request. - </summary> - </member> - <member name="T:MvcMiniProfiler.Timing"> - <summary> - An individual profiling step that can contain child steps. - </summary> - </member> - <member name="M:MvcMiniProfiler.Timing.RebuildParentTimings"> - <summary> - Rebuilds all the parent timings on deserialization calls - </summary> - </member> - <member name="F:MvcMiniProfiler.Timing._startTicks"> - <summary> - Offset from parent MiniProfiler's creation that this Timing was created. - </summary> - </member> - <member name="M:MvcMiniProfiler.Timing.#ctor(MvcMiniProfiler.MiniProfiler,MvcMiniProfiler.Timing,System.String)"> - <summary> - Creates a new Timing named 'name' in the 'profiler's session, with 'parent' as this Timing's immediate ancestor. - </summary> - </member> - <member name="M:MvcMiniProfiler.Timing.#ctor"> - <summary> - Obsolete - used for serialization. - </summary> - </member> - <member name="M:MvcMiniProfiler.Timing.ToString"> - <summary> - Returns this Timing's Name. - </summary> - </member> - <member name="M:MvcMiniProfiler.Timing.AddKeyValue(System.String,System.String)"> - <summary> - Adds arbitrary string 'value' under 'key', allowing custom properties to be stored in this Timing step. - </summary> - </member> - <member name="M:MvcMiniProfiler.Timing.Stop"> - <summary> - Completes this Timing's duration and sets the MiniProfiler's Head up one level. - </summary> - </member> - <member name="M:MvcMiniProfiler.Timing.AddChild(MvcMiniProfiler.Timing)"> - <summary> - Add the parameter 'timing' to this Timing's Children collection. - </summary> - <remarks> - Used outside this assembly for custom deserialization when creating an <see cref="T:MvcMiniProfiler.Storage.IStorage"/> implementation. - </remarks> - </member> - <member name="M:MvcMiniProfiler.Timing.AddSqlTiming(MvcMiniProfiler.SqlTiming)"> - <summary> - Adds the parameter 'sqlTiming' to this Timing's SqlTimings collection. - </summary> - <param name="sqlTiming">A sql statement profiling that was executed in this Timing step.</param> - <remarks> - Used outside this assembly for custom deserialization when creating an <see cref="T:MvcMiniProfiler.Storage.IStorage"/> implementation. - </remarks> - </member> - <member name="P:MvcMiniProfiler.Timing.Id"> - <summary> - Unique identifer for this timing; set during construction. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.Name"> - <summary> - Text displayed when this Timing is rendered. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.DurationMilliseconds"> - <summary> - How long this Timing step took in ms; includes any <see cref="P:MvcMiniProfiler.Timing.Children"/> Timings' durations. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.StartMilliseconds"> - <summary> - The offset from the start of profiling. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.Children"> - <summary> - All sub-steps that occur within this Timing step. Add new children through <see cref="M:MvcMiniProfiler.Timing.AddChild(MvcMiniProfiler.Timing)"/> - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.KeyValues"> - <summary> - Stores arbitrary key/value strings on this Timing step. Add new tuples through <see cref="M:MvcMiniProfiler.Timing.AddKeyValue(System.String,System.String)"/>. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.SqlTimings"> - <summary> - Any queries that occurred during this Timing step. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.ParentTimingId"> - <summary> - Needed for database deserialization and JSON serialization. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.ParentTiming"> - <summary> - Which Timing this Timing is under - the duration that this step takes will be added to its parent's duration. - </summary> - <remarks>This will be null for the root (initial) Timing.</remarks> - </member> - <member name="P:MvcMiniProfiler.Timing.DurationWithoutChildrenMilliseconds"> - <summary> - Gets the ellapsed milliseconds in this step without any children's durations. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.SqlTimingsDurationMilliseconds"> - <summary> - Gets the aggregate ellapsed milliseconds of all SqlTimings executed in this Timing, excluding Children Timings. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.IsTrivial"> - <summary> - Returns true when this <see cref="P:MvcMiniProfiler.Timing.DurationWithoutChildrenMilliseconds"/> is less than the configured - <see cref="P:MvcMiniProfiler.MiniProfiler.Settings.TrivialDurationThresholdMilliseconds"/>, by default 2.0 ms. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.Profiler"> - <summary> - Reference to the containing profiler, allowing this Timing to affect the Head and get Stopwatch readings. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.HasChildren"> - <summary> - Returns true when this Timing has inner Timing steps. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.HasSqlTimings"> - <summary> - Returns true if this Timing step collected sql execution timings. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.HasDuplicateSqlTimings"> - <summary> - Returns true if any <see cref="T:MvcMiniProfiler.SqlTiming"/>s executed in this step are detected as duplicate statements. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.IsRoot"> - <summary> - Returns true when this Timing is the first one created in a MiniProfiler session. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.Depth"> - <summary> - How far away this Timing is from the Profiler's Root. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.ExecutedReaders"> - <summary> - How many sql data readers were executed in this Timing step. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.ExecutedScalars"> - <summary> - How many sql scalar queries were executed in this Timing step. - </summary> - </member> - <member name="P:MvcMiniProfiler.Timing.ExecutedNonQueries"> - <summary> - How many sql non-query statements were executed in this Timing step. - </summary> - </member> - <member name="T:MvcMiniProfiler.Data.ExecuteType"> - <summary> - Categories of sql statements. - </summary> - </member> - <member name="F:MvcMiniProfiler.Data.ExecuteType.None"> - <summary> - Unknown - </summary> - </member> - <member name="F:MvcMiniProfiler.Data.ExecuteType.NonQuery"> - <summary> - DML statements that alter database state, e.g. INSERT, UPDATE - </summary> - </member> - <member name="F:MvcMiniProfiler.Data.ExecuteType.Scalar"> - <summary> - Statements that return a single record - </summary> - </member> - <member name="F:MvcMiniProfiler.Data.ExecuteType.Reader"> - <summary> - Statements that iterate over a result set - </summary> - </member> - <member name="T:MvcMiniProfiler.SqlTiming"> - <summary> - Profiles a single sql execution. - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlTiming.#ctor(System.Data.Common.DbCommand,MvcMiniProfiler.Data.ExecuteType,MvcMiniProfiler.MiniProfiler)"> - <summary> - Creates a new SqlTiming to profile 'command'. - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlTiming.#ctor"> - <summary> - Obsolete - used for serialization. - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlTiming.ExecutionComplete(System.Boolean)"> - <summary> - Called when command execution is finished to determine this SqlTiming's duration. - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlTiming.ReaderFetchComplete"> - <summary> - Called when database reader is closed, ending profiling for <see cref="F:MvcMiniProfiler.Data.ExecuteType.Reader"/> SqlTimings. - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlTiming.AddSpacesToParameters(System.String)"> - <summary> - To help with display, put some space around sammiched commas - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.Id"> - <summary> - Unique identifier for this SqlTiming. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.ExecuteType"> - <summary> - Category of sql statement executed. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.CommandString"> - <summary> - The sql that was executed. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.RawCommandString"> - <summary> - The sql that was executed. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.FormattedCommandString"> - <summary> - The command string with special formatting applied based on MiniProfiler.Settings.SqlFormatter - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.StackTraceSnippet"> - <summary> - Roughly where in the calling code that this sql was executed. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.StartMilliseconds"> - <summary> - Offset from main MiniProfiler start that this sql began. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.DurationMilliseconds"> - <summary> - How long this sql statement took to execute. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.FirstFetchDurationMilliseconds"> - <summary> - When executing readers, how long it took to come back initially from the database, - before all records are fetched and reader is closed. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.Parameters"> - <summary> - Stores any parameter names and values used by the profiled DbCommand. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.ParentTimingId"> - <summary> - Id of the Timing this statement was executed in. - </summary> - <remarks> - Needed for database deserialization. - </remarks> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.ParentTiming"> - <summary> - The Timing step that this sql execution occurred in. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTiming.IsDuplicate"> - <summary> - True when other identical sql statements have been executed during this MiniProfiler session. - </summary> - </member> - <member name="P:MvcMiniProfiler.Data.ProfiledDbCommand.BindByName"> - <summary> - If the underlying command supports BindByName, this sets/clears the underlying - implementation accordingly. This is required to support OracleCommand from dapper-dot-net - </summary> - </member> - <member name="T:MvcMiniProfiler.SqlFormatters.InlineFormatter"> - <summary> - Formats any SQL query with inline parameters, optionally including the value type - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlFormatters.InlineFormatter.#ctor(System.Boolean)"> - <summary> - Creates a new Inline SQL Formatter, optionally including the parameter type info in comments beside the replaced value - </summary> - <param name="includeTypeInfo">whether to include a comment after the value, indicating the type, e.g. /* @myParam DbType.Int32 */</param> - </member> - <member name="M:MvcMiniProfiler.SqlFormatters.InlineFormatter.FormatSql(MvcMiniProfiler.SqlTiming)"> - <summary> - Formats the SQL in a generic frieldly format, including the parameter type information in a comment if it was specified in the InlineFormatter constructor - </summary> - <param name="timing">The SqlTiming to format</param> - <returns>A formatted SQL string</returns> - </member> - <member name="M:MvcMiniProfiler.SqlFormatters.InlineFormatter.GetParameterValue(MvcMiniProfiler.SqlTimingParameter)"> - <summary> - Returns a string representation of the parameter's value, including the type - </summary> - <param name="p">The parameter to get a value for</param> - <returns></returns> - </member> - <member name="T:MvcMiniProfiler.IpAddressIdentity"> - <summary> - Identifies users based on ip address. - </summary> - </member> - <member name="T:MvcMiniProfiler.IUserProvider"> - <summary> - Provides functionality to identify which user is profiling a request. - </summary> - </member> - <member name="M:MvcMiniProfiler.IUserProvider.GetUser(System.Web.HttpRequest)"> - <summary> - Returns a string to identify the user profiling the current 'request'. - </summary> - <param name="request">The current HttpRequest being profiled.</param> - </member> - <member name="M:MvcMiniProfiler.IpAddressIdentity.GetUser(System.Web.HttpRequest)"> - <summary> - Returns the paramter HttpRequest's client ip address. - </summary> - </member> - <member name="T:MvcMiniProfiler.Data.Link`2"> - <summary> - This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), - and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** - equality. The type is fully thread-safe. - </summary> - </member> - <member name="T:MvcMiniProfiler.SqlFormatters.OracleFormatter"> - <summary> - NOT IMPLEMENTED - will format statements with paramters in an Oracle friendly way - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlFormatters.OracleFormatter.FormatSql(MvcMiniProfiler.SqlTiming)"> - <summary> - Does NOTHING, implement me! - </summary> - </member> - <member name="T:MvcMiniProfiler.Storage.SqlServerStorage"> - <summary> - Understands how to store a <see cref="T:MvcMiniProfiler.MiniProfiler"/> to a MSSQL database. - </summary> - </member> - <member name="F:MvcMiniProfiler.Storage.SqlServerStorage.TableCreationScript"> - <summary> - Creates needed tables. Run this once on your database. - </summary> - <remarks> - Works in sql server and sqlite (with documented removals). - TODO: add indexes - </remarks> - </member> - <member name="M:MvcMiniProfiler.Storage.SqlServerStorage.#ctor(System.String)"> - <summary> - Returns a new <see cref="T:MvcMiniProfiler.Storage.SqlServerStorage"/>. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.SqlServerStorage.Save(MvcMiniProfiler.MiniProfiler)"> - <summary> - Stores <param name="profiler"/> to dbo.MiniProfilers under its <see cref="P:MvcMiniProfiler.MiniProfiler.Id"/>; - stores all child Timings and SqlTimings to their respective tables. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.SqlServerStorage.SaveTiming(System.Data.Common.DbConnection,MvcMiniProfiler.MiniProfiler,MvcMiniProfiler.Timing)"> - <summary> - Saves parameter Timing to the dbo.MiniProfilerTimings table. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.SqlServerStorage.SaveSqlTiming(System.Data.Common.DbConnection,MvcMiniProfiler.MiniProfiler,MvcMiniProfiler.SqlTiming)"> - <summary> - Saves parameter SqlTiming to the dbo.MiniProfilerSqlTimings table. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.SqlServerStorage.SaveSqlTimingParameters(System.Data.Common.DbConnection,MvcMiniProfiler.MiniProfiler,MvcMiniProfiler.SqlTiming)"> - <summary> - Saves any SqlTimingParameters used in the profiled SqlTiming to the dbo.MiniProfilerSqlTimingParameters table. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.SqlServerStorage.Load(System.Guid)"> - <summary> - Loads the MiniProfiler identifed by 'id' from the database. - </summary> - </member> - <member name="M:MvcMiniProfiler.Storage.SqlServerStorage.GetUnviewedIds(System.String)"> - <summary> - Returns a list of <see cref="P:MvcMiniProfiler.MiniProfiler.Id"/>s that haven't been seen by <paramref name="user"/>. - </summary> - <param name="user">User identified by the current <see cref="P:MvcMiniProfiler.MiniProfiler.Settings.UserProvider"/>.</param> - </member> - <member name="M:MvcMiniProfiler.Storage.SqlServerStorage.GetConnection"> - <summary> - Returns a connection to Sql Server. - </summary> - </member> - <member name="T:MvcMiniProfiler.SqlProfiler"> - <summary> - Contains helper code to time sql statements. - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlProfiler.#ctor(MvcMiniProfiler.MiniProfiler)"> - <summary> - Returns a new SqlProfiler to be used in the 'profiler' session. - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlProfiler.ExecuteStartImpl(System.Data.Common.DbCommand,MvcMiniProfiler.Data.ExecuteType)"> - <summary> - Tracks when 'command' is started. - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlProfiler.GetInProgressCommands"> - <summary> - Returns all currently open commands on this connection - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlProfiler.ExecuteFinishImpl(System.Data.Common.DbCommand,MvcMiniProfiler.Data.ExecuteType,System.Data.Common.DbDataReader)"> - <summary> - Finishes profiling for 'command', recording durations. - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlProfiler.ReaderFinishedImpl(System.Data.Common.DbDataReader)"> - <summary> - Called when 'reader' finishes its iterations and is closed. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlProfiler.Profiler"> - <summary> - The profiling session this SqlProfiler is part of. - </summary> - </member> - <member name="T:MvcMiniProfiler.SqlProfilerExtensions"> - <summary> - Helper methods that allow operation on SqlProfilers, regardless of their instantiation. - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlProfilerExtensions.ExecuteStart(MvcMiniProfiler.SqlProfiler,System.Data.Common.DbCommand,MvcMiniProfiler.Data.ExecuteType)"> - <summary> - Tracks when 'command' is started. - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlProfilerExtensions.ExecuteFinish(MvcMiniProfiler.SqlProfiler,System.Data.Common.DbCommand,MvcMiniProfiler.Data.ExecuteType,System.Data.Common.DbDataReader)"> - <summary> - Finishes profiling for 'command', recording durations. - </summary> - </member> - <member name="M:MvcMiniProfiler.SqlProfilerExtensions.ReaderFinish(MvcMiniProfiler.SqlProfiler,System.Data.Common.DbDataReader)"> - <summary> - Called when 'reader' finishes its iterations and is closed. - </summary> - </member> - <member name="T:MvcMiniProfiler.SqlTimingParameter"> - <summary> - Information about a DbParameter used in the sql statement profiled by SqlTiming. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTimingParameter.ParentSqlTimingId"> - <summary> - Which SqlTiming this Parameter was executed with. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTimingParameter.Name"> - <summary> - Parameter name, e.g. "@routeName" - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTimingParameter.Value"> - <summary> - The value submitted to the database. - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTimingParameter.DbType"> - <summary> - System.Data.DbType, e.g. "String", "Bit" - </summary> - </member> - <member name="P:MvcMiniProfiler.SqlTimingParameter.Size"> - <summary> - How large the type is, e.g. for string, size could be 4000 - </summary> - </member> - <member name="T:MvcMiniProfiler.MVCHelpers.ProfilingViewEngine"> - <summary> - You can wrap your view engines with this view to enable profiling on views and partial - </summary> - </member> - <member name="M:MvcMiniProfiler.MVCHelpers.ProfilingViewEngine.#ctor(System.Web.Mvc.IViewEngine)"> - <summary> - Wrap your view engines with this to allow profiling - </summary> - <param name="wrapped"></param> - </member> - <member name="M:MvcMiniProfiler.MVCHelpers.ProfilingViewEngine.FindPartialView(System.Web.Mvc.ControllerContext,System.String,System.Boolean)"> - <summary> - Find a partial - </summary> - </member> - <member name="M:MvcMiniProfiler.MVCHelpers.ProfilingViewEngine.FindView(System.Web.Mvc.ControllerContext,System.String,System.String,System.Boolean)"> - <summary> - Find a view - </summary> - </member> - <member name="M:MvcMiniProfiler.MVCHelpers.ProfilingViewEngine.ReleaseView(System.Web.Mvc.ControllerContext,System.Web.Mvc.IView)"> - <summary> - Find a partial - </summary> - </member> - <member name="T:MvcMiniProfiler.UI.MiniProfilerHandler"> - <summary> - Understands how to route and respond to MiniProfiler UI urls. - </summary> - </member> - <member name="M:MvcMiniProfiler.UI.MiniProfilerHandler.GetHttpHandler(System.Web.Routing.RequestContext)"> - <summary> - Returns this <see cref="T:MvcMiniProfiler.UI.MiniProfilerHandler"/> to handle <paramref name="requestContext"/>. - </summary> - </member> - <member name="M:MvcMiniProfiler.UI.MiniProfilerHandler.ProcessRequest(System.Web.HttpContext)"> - <summary> - Returns either includes' css/javascript or results' html. - </summary> - </member> - <member name="M:MvcMiniProfiler.UI.MiniProfilerHandler.Includes(System.Web.HttpContext,System.String)"> - <summary> - Handles rendering static content files. - </summary> - </member> - <member name="M:MvcMiniProfiler.UI.MiniProfilerHandler.Results(System.Web.HttpContext)"> - <summary> - Handles rendering a previous MiniProfiler session, identified by its "?id=GUID" on the query. - </summary> - </member> - <member name="F:MvcMiniProfiler.UI.MiniProfilerHandler._ResourceCache"> - <summary> - Embedded resource contents keyed by filename. - </summary> - </member> - <member name="M:MvcMiniProfiler.UI.MiniProfilerHandler.NotFound(System.Web.HttpContext,System.String,System.String)"> - <summary> - Helper method that sets a proper 404 response code. - </summary> - </member> - <member name="P:MvcMiniProfiler.UI.MiniProfilerHandler.IsReusable"> - <summary> - Try to keep everything static so we can easily be reused. - </summary> - </member> - <member name="T:MvcMiniProfiler.Helpers.ExtensionMethods"> - <summary> - Common extension methods to use only in this project - </summary> - </member> - <member name="M:MvcMiniProfiler.Helpers.ExtensionMethods.IsNullOrWhiteSpace(System.String)"> - <summary> - Answers true if this String is either null or empty. - </summary> - </member> - <member name="M:MvcMiniProfiler.Helpers.ExtensionMethods.HasValue(System.String)"> - <summary> - Answers true if this String is neither null or empty. - </summary> - </member> - <member name="M:MvcMiniProfiler.Helpers.ExtensionMethods.EnsureTrailingSlash(System.String)"> - <summary> - Removes trailing / characters from a path and leaves just one - </summary> - </member> - <member name="M:MvcMiniProfiler.Helpers.ExtensionMethods.RemoveLeadingSlash(System.String)"> - <summary> - Removes any leading / characters from a path - </summary> - </member> - <member name="M:MvcMiniProfiler.Helpers.ExtensionMethods.RemoveTrailingSlash(System.String)"> - <summary> - Removes any leading / characters from a path - </summary> - </member> - <member name="M:MvcMiniProfiler.Helpers.ExtensionMethods.ToJson(System.Object)"> - <summary> - Serializes <paramref name="o"/> to a json string. - </summary> - </member> - </members> -</doc>