}
-@section Scripts
-{
-
-}
diff --git a/NzbDrone.Web/Views/AddSeries/RootDir.cshtml b/NzbDrone.Web/Views/AddSeries/RootDir.cshtml
index 0907941a5..2e566ab00 100644
--- a/NzbDrone.Web/Views/AddSeries/RootDir.cshtml
+++ b/NzbDrone.Web/Views/AddSeries/RootDir.cshtml
@@ -1,26 +1,18 @@
-
+
Add
-
-
+
@{Html.RenderAction("RootList");}
+
+
diff --git a/NzbDrone.Web/packages.config b/NzbDrone.Web/packages.config
index 00619dcd0..9dd660df6 100644
--- a/NzbDrone.Web/packages.config
+++ b/NzbDrone.Web/packages.config
@@ -8,5 +8,5 @@
-
+
\ No newline at end of file
diff --git a/NzbDrone/Program.cs b/NzbDrone/Program.cs
index deb6c13ab..697065fb7 100644
--- a/NzbDrone/Program.cs
+++ b/NzbDrone/Program.cs
@@ -1,5 +1,6 @@
using System;
using System.Diagnostics;
+using System.Net;
using System.Threading;
using System.Timers;
using Exceptioneer.WindowsFormsClient;
@@ -38,7 +39,18 @@ namespace NzbDrone
Attach();
#endif
- if (Environment.UserInteractive)
+ if (!Environment.UserInteractive)
+ {
+ try
+ {
+ new WebClient().DownloadString(IISController.AppUrl);
+ }
+ catch (Exception e)
+ {
+ Logger.ErrorException("Failed to load home page.", e);
+ }
+ }
+ else
{
try
{
diff --git a/packages/MiniProfiler.1.4/MiniProfiler.1.4.nupkg b/packages/MiniProfiler.1.4/MiniProfiler.1.4.nupkg
deleted file mode 100644
index dcbc7f48e..000000000
Binary files a/packages/MiniProfiler.1.4/MiniProfiler.1.4.nupkg and /dev/null differ
diff --git a/packages/MiniProfiler.1.4/lib/MvcMiniProfiler.pdb b/packages/MiniProfiler.1.4/lib/MvcMiniProfiler.pdb
deleted file mode 100644
index 2c55ac7d7..000000000
Binary files a/packages/MiniProfiler.1.4/lib/MvcMiniProfiler.pdb and /dev/null differ
diff --git a/packages/MiniProfiler.1.6/MiniProfiler.1.6.nupkg b/packages/MiniProfiler.1.6/MiniProfiler.1.6.nupkg
new file mode 100644
index 000000000..145e209e4
Binary files /dev/null and b/packages/MiniProfiler.1.6/MiniProfiler.1.6.nupkg differ
diff --git a/packages/MiniProfiler.1.4/lib/MvcMiniProfiler.dll b/packages/MiniProfiler.1.6/lib/MvcMiniProfiler.dll
similarity index 51%
rename from packages/MiniProfiler.1.4/lib/MvcMiniProfiler.dll
rename to packages/MiniProfiler.1.6/lib/MvcMiniProfiler.dll
index e35747310..db133f6a3 100644
Binary files a/packages/MiniProfiler.1.4/lib/MvcMiniProfiler.dll and b/packages/MiniProfiler.1.6/lib/MvcMiniProfiler.dll differ
diff --git a/packages/MiniProfiler.1.6/lib/MvcMiniProfiler.pdb b/packages/MiniProfiler.1.6/lib/MvcMiniProfiler.pdb
new file mode 100644
index 000000000..80f61f512
Binary files /dev/null and b/packages/MiniProfiler.1.6/lib/MvcMiniProfiler.pdb differ
diff --git a/packages/MiniProfiler.1.4/lib/MvcMiniProfiler.xml b/packages/MiniProfiler.1.6/lib/MvcMiniProfiler.xml
similarity index 76%
rename from packages/MiniProfiler.1.4/lib/MvcMiniProfiler.xml
rename to packages/MiniProfiler.1.6/lib/MvcMiniProfiler.xml
index 3cf07f964..30cd1ae7d 100644
--- a/packages/MiniProfiler.1.4/lib/MvcMiniProfiler.xml
+++ b/packages/MiniProfiler.1.6/lib/MvcMiniProfiler.xml
@@ -4,11 +4,6 @@
MvcMiniProfiler
-
-
- Formats any SQL query with inline parameters, optionally including the value type
-
-
Takes a SqlTiming and returns a formatted SQL string, for parameter replacement, etc.
@@ -21,31 +16,54 @@
Formatted SQL
-
+
- Creates a new Inline SQL Formatter, optionally including the parameter type info in comments beside the replaced value
+ A single MiniProfiler can be used to represent any number of steps/levels in a call-graph, via Step()
- whether to include a comment after the value, indicating the type, e.g. /* @myParam DbType.Int32 */
+ Totally baller.
-
+
- Formats the SQL in a generic frieldly format, including the parameter type information in a comment if it was specified in the InlineFormatter constructor
+ A callback for ProfiledDbConnection and family
- The SqlTiming to format
- A formatted SQL string
-
+
- Returns a string representation of the parameter's value, including the type
+ Called when a command starts executing
- The parameter to get a value for
-
+
+
-
+
- A single MiniProfiler can be used to represent any number of steps/levels in a call-graph, via Step()
+ Called when a reader finishes executing
+
+
+
+
+
+
+
+ Called when a command finishes executing
+
+
+
+
+
+
+ Called when a reader is done iterating through the data
+
+
+
+
+
+ True if the profiler instance is active
+
+
+
+
+ Returns all currently open commands on this connection
- Totally baller.
@@ -98,6 +116,11 @@
be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled.
+
+
+ Makes sure 'profiler' has a Name, pulling it from route data or url.
+
+
Returns an that will time the code between its creation and disposal. Use this method when you
@@ -169,6 +192,25 @@
All other s will be children of this one.
+
+
+ A string identifying the user/client that is profiling this request. Set
+ with an -implementing class to provide a custom value.
+
+
+ If this is not set manually at some point, the implementation will be used;
+ by default, this will be the current request's ip address.
+
+
+
+
+ Returns true when this MiniProfiler has been viewed by the that recorded it.
+
+
+ Allows POSTs that result in a redirect to be profiled. implementation
+ will keep a list of all profilers that haven't been fetched down.
+
+
Contains information about queries executed during this profiling session.
@@ -229,15 +271,47 @@
Various configuration properties.
-
+
+
+ Excludes the specified assembly from the stack trace output.
+
+ The short name of the assembly. AssemblyName.Name
+
+
+
+ Excludes the specified type from the stack trace output.
+
+ The System.Type name to exclude
+
+
+
+ Excludes the specified method name from the stack trace output.
+
+ The name of the method
+
+
+
+ Make sure we can at least store profiler results to the http runtime cache.
+
+
+
+
+ Assemblies to exclude from the stack trace report.
+
+
+
+
+ Types to exclude from the stack trace report.
+
+
+
- Ensures that and objects are initialized. Null values will
- be initialized to use the default strategy.
+ Methods to exclude from the stack trace report.
-
+
- When true, link and script tags will be written to the response stream when MiniProfiler.Stop is called.
+ The max length of the stack string to report back; defaults to 120 chars.
@@ -269,11 +343,17 @@
For a per-page override you can use .RenderIncludes(position: RenderPosition.Left/Right)
-
+
+
+ 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.
+
+
+
- When is called, if the current request url starts with this property,
- no profiler will be instantiated and no results will be displayed.
- Default value is { "/mini-profiler-includes.js", "/mini-profiler-includes.less", "/mini-profiler-results", "/content/", "/scripts/" }.
+ When 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" }.
@@ -283,10 +363,10 @@
Any setting here should be in APP RELATIVE FORM, e.g. "~/myDirectory/"
-
+
- Understands how to save and load MiniProfilers for a very limited time. Used for caching between when
- a profiling session ends and results can be fetched to the client.
+ 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.
The normal profiling session life-cycle is as follows:
@@ -294,21 +374,20 @@
2) profiler is started
3) normal page/controller/request execution
4) profiler is stopped
- 5) profiler is cached with 's implementation of
+ 5) profiler is cached with 's implementation of
6) request ends
7) page is displayed and profiling results are ajax-fetched down, pulling cached results from
- 's implementation of
+ 's implementation of
-
+
- Understands how to save and load MiniProfilers for an extended (even indefinite) time, allowing results to be
- shared with other developers or even tracked over time.
+ The formatter applied to the SQL being rendered (used only for UI)
-
+
- The formatter applied to the SQL being rendered (used only for UI)
+ Provides user identification for a given profiling request.
@@ -326,70 +405,6 @@
Both the HttpRequest and MiniProfiler parameters that will be passed into this function should never be null.
-
-
- Categorizes individual steps to allow filtering.
-
-
-
-
- Default level given to Timings.
-
-
-
-
- Useful when profiling many items in a loop, but you don't wish to always see this detail.
-
-
-
-
- Dictates on which side of the page the profiler popup button is displayed; defaults to left.
-
-
-
-
- Profiler popup button is displayed on the left.
-
-
-
-
- Profiler popup button is displayed on the right.
-
-
-
-
- Contains helper methods that ease working with null s.
-
-
-
-
- Wraps in a call and executes it, returning its result.
-
- The current profiling session or null.
- Method to execute and profile.
- The step name used to label the profiler results.
-
-
-
-
- Returns an that will time the code between its creation and disposal.
-
- The current profiling session or null.
- A descriptive name for the code that is encapsulated by the resulting IDisposable's lifetime.
- This step's visibility level; allows filtering when is called.
-
-
-
- Adds 's hierarchy to this profiler's current Timing step,
- allowing other threads, remote calls, etc. to be profiled and joined into this profiling session.
-
-
-
-
- Returns an html-encoded string with a text-representation of ; returns "" when profiler is null.
-
- The current profiling session or null.
-
Execute parameterized SQL
@@ -439,50 +454,51 @@
Read the next grid of results
-
+
- 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.
+ Wraps a database connection, allowing sql execution timings to be collected when a session is started.
-
+
- Provides saving and loading s to a storage medium.
+ Returns a new that wraps ,
+ providing query execution profiling.
+ Your provider-specific flavor of connection, e.g. SqlConnection, OracleConnection
-
+
- Stores under , which is also its .
+ Returns a new that wraps ,
+ providing query execution profiling.
-
- The Guid that identifies the MiniProfiler; subsequent calls to
- will pass this Guid.
-
- The results of a profiling session.
-
- Should be able to be called multiple times on the same profiler.
-
+ Your provider-specific flavor of connection, e.g. SqlConnection, OracleConnection
+ The currently started or null.
-
+
- Returns a from storage based on .
+ Returns a new that wraps ,
+ providing query execution profiling. If profiler is null, no profiling will occur.
+ Your provider-specific flavor of connection, e.g. SqlConnection, OracleConnection
+ The currently started or null.
-
+
- NOT IMPLEMENTED - will format statements with paramters in an Oracle friendly way
+ Connection factory used for EF Code First DbContext API
-
+
- Does NOTHING, implement me!
+ Create a profiled connection factory
+ The underlying connection that needs to be profiled
-
+
- Understands how to store a to a MSSQL database.
+ Create a wrapped connection for profiling purposes
+
+
@@ -490,21 +506,55 @@
querying of slow results.
+
+
+ Provides saving and loading s to a storage medium.
+
+
+
+
+ Stores under its .
+
+ The results of a profiling session.
+
+ Should also ensure the profiler is stored as being unviewed by its profiling .
+
+
+
+
+ Returns a from storage based on , which should map to .
+
+
+ Should also update that the resulting profiler has been marked as viewed by its profiling .
+
+
+
+
+ Returns a list of s that haven't been seen by .
+
+ User identified by the current .
+
Returns a new SqlServerDatabaseStorage object that will insert into the database identified by connectionString.
-
+
- Saves 'profiler' to a database under 'id'.
+ Saves 'profiler' to a database under its .
-
+
Returns the MiniProfiler identified by 'id' from the database or null when no MiniProfiler exists under that 'id'.
+
+
+ Returns a list of s that haven't been seen by .
+
+ User identified by the current .
+
Returns a DbConnection for your specific provider.
@@ -526,120 +576,295 @@
How we connect to the database used to save/load MiniProfiler results.
-
+
- Creates needed tables. Run this once on your database.
+ Formats SQL server queries with a DECLARE up top for parameter values
-
- Works in sql server and sqlite (with documented removals).
- TODO: add indexes
-
-
+
- Returns a new .
+ Formats the SQL in a SQL-Server friendly way, with DECLARE statements for the parameters up top.
+ The SqlTiming to format
+ A formatted SQL string
-
+
- Stores 'profiler' to dbo.MiniProfilers under 'id'; stores all child Timings and SqlTimings to their respective tables.
+ Wrapper for a db provider factory to enable profiling
-
+
- Saves parameter Timing to the dbo.MiniProfilerTimings table.
+ Every provider factory must have an Instance public field
-
+
- Saves parameter SqlTiming to the dbo.MiniProfilerSqlTimings table.
+ Used for db provider apis internally
-
+
- Saves any SqlTimingParameters used in the profiled SqlTiming to the dbo.MiniProfilerSqlTimingParameters table.
+ Allow to re-init the provider factory.
+
+
-
+
- Loads the MiniProfiler identifed by 'id' from the database.
+ proxy
+
+
-
+
- Returns a connection to Sql Server.
+ proxy
-
+
- An individual profiling step that can contain child steps.
+ proxy
-
+
- Rebuilds all the parent timings on deserialization calls
+ proxy
-
+
- Offset from parent MiniProfiler's creation that this Timing was created.
+ proxy
-
+
- Creates a new Timing named 'name' in the 'profiler's session, with 'parent' as this Timing's immediate ancestor.
+ proxy
-
+
- Obsolete - used for serialization.
+ proxy
-
+
- Returns this Timing's Name.
+ proxy
-
+
- Adds arbitrary string 'value' under 'key', allowing custom properties to be stored in this Timing step.
+ proxy
-
+
- Completes this Timing's duration and sets the MiniProfiler's Head up one level.
+ Extension mechanism for additional services;
+ requested service provider or null.
-
+
- Add the parameter 'timing' to this Timing's Children collection.
+ proxy
-
- Used outside this assembly for custom deserialization when creating an implementation.
-
-
+
- Adds the parameter 'sqlTiming' to this Timing's SqlTimings collection.
+ Categorizes individual steps to allow filtering.
- A sql statement profiling that was executed in this Timing step.
-
- Used outside this assembly for custom deserialization when creating an implementation.
-
-
+
- Unique identifer for this timing; set during construction.
+ Default level given to Timings.
-
+
- Text displayed when this Timing is rendered.
+ Useful when profiling many items in a loop, but you don't wish to always see this detail.
-
+
- How long this Timing step took in ms; includes any Timings' durations.
+ Dictates on which side of the page the profiler popup button is displayed; defaults to left.
+
+
+
+
+ Profiler popup button is displayed on the left.
+
+
+
+
+ Profiler popup button is displayed on the right.
+
+
+
+
+ Contains helper methods that ease working with null s.
+
+
+
+
+ Wraps in a call and executes it, returning its result.
+
+ The current profiling session or null.
+ Method to execute and profile.
+ The step name used to label the profiler results.
+
+
+
+
+ Returns an that will time the code between its creation and disposal.
+
+ The current profiling session or null.
+ A descriptive name for the code that is encapsulated by the resulting IDisposable's lifetime.
+ This step's visibility level; allows filtering when is called.
+
+
+
+ Adds 's hierarchy to this profiler's current Timing step,
+ allowing other threads, remote calls, etc. to be profiled and joined into this profiling session.
+
+
+
+
+ Returns an html-encoded string with a text-representation of ; returns "" when profiler is null.
+
+ The current profiling session or null.
+
+
+
+ Gets part of a stack trace containing only methods we care about.
+
+
+
+
+ Gets the current formatted and filted stack trace.
+
+ Space separated list of methods
+
+
+
+ Understands how to store a to the with absolute expiration.
+
+
+
+
+ The string that prefixes all keys that MiniProfilers are saved under, e.g.
+ "mini-profiler-ecfb0050-7ce8-4bf1-bf82-2cb38e90e31e".
+
+
+
+
+ Returns a new HttpRuntimeCacheStorage class that will cache MiniProfilers for the specified duration.
+
+
+
+
+ Saves to the HttpRuntime.Cache under a key concated with
+ and the parameter's .
+
+
+
+
+ Returns the saved identified by . Also marks the resulting
+ profiler to true.
+
+
+
+
+ Returns a list of s that haven't been seen by .
+
+ User identified by the current .
+
+
+
+ Syncs access to runtime cache when adding a new list of ids for a user.
+
+
+
+
+ How long to cache each for (i.e. the absolute expiration parameter of
+ )
+
+
+
+
+ Get DB command definition
+
+
+
+
+
+
+ An individual profiling step that can contain child steps.
+
+
+
+
+ Rebuilds all the parent timings on deserialization calls
+
+
+
+
+ Offset from parent MiniProfiler's creation that this Timing was created.
+
+
+
+
+ Creates a new Timing named 'name' in the 'profiler's session, with 'parent' as this Timing's immediate ancestor.
+
+
+
+
+ Obsolete - used for serialization.
+
+
+
+
+ Returns this Timing's Name.
+
+
+
+
+ Adds arbitrary string 'value' under 'key', allowing custom properties to be stored in this Timing step.
+
+
+
+
+ Completes this Timing's duration and sets the MiniProfiler's Head up one level.
+
+
+
+
+ Add the parameter 'timing' to this Timing's Children collection.
+
+
+ Used outside this assembly for custom deserialization when creating an implementation.
+
+
+
+
+ Adds the parameter 'sqlTiming' to this Timing's SqlTimings collection.
+
+ A sql statement profiling that was executed in this Timing step.
+
+ Used outside this assembly for custom deserialization when creating an implementation.
+
+
+
+
+ Unique identifer for this timing; set during construction.
+
+
+
+
+ Text displayed when this Timing is rendered.
+
+
+
+
+ How long this Timing step took in ms; includes any Timings' durations.
@@ -734,375 +959,413 @@
How many sql non-query statements were executed in this Timing step.
-
+
Categories of sql statements.
-
+
Unknown
-
+
DML statements that alter database state, e.g. INSERT, UPDATE
-
+
Statements that return a single record
-
+
Statements that iterate over a result set
-
+
- Contains helper code to time sql statements.
+ Profiles a single sql execution.
-
+
- Returns a new SqlProfiler to be used in the 'profiler' session.
+ Creates a new SqlTiming to profile 'command'.
-
+
- Tracks when 'command' is started.
+ Obsolete - used for serialization.
-
+
- Finishes profiling for 'command', recording durations.
+ Called when command execution is finished to determine this SqlTiming's duration.
-
+
- Called when 'reader' finishes its iterations and is closed.
+ Called when database reader is closed, ending profiling for SqlTimings.
-
+
- The profiling session this SqlProfiler is part of.
+ To help with display, put some space around sammiched commas
-
+
- Helper methods that allow operation on SqlProfilers, regardless of their instantiation.
+ Unique identifier for this SqlTiming.
-
+
- Tracks when 'command' is started.
+ Category of sql statement executed.
-
+
- Finishes profiling for 'command', recording durations.
+ The sql that was executed.
-
+
- Called when 'reader' finishes its iterations and is closed.
+ The sql that was executed.
-
+
- Understands how to route and respond to MiniProfiler UI urls.
+ The command string with special formatting applied based on MiniProfiler.Settings.SqlFormatter
-
+
- Returns this to handle .
+ Roughly where in the calling code that this sql was executed.
-
+
- Returns either includes' css/javascript or results' html.
+ Offset from main MiniProfiler start that this sql began.
-
+
- Handles rendering static content files.
+ How long this sql statement took to execute.
-
+
- Handles rendering a previous MiniProfiler session, identified by its "?id=GUID" on the query.
+ When executing readers, how long it took to come back initially from the database,
+ before all records are fetched and reader is closed.
-
+
- Embedded resource contents keyed by filename.
+ Stores any parameter names and values used by the profiled DbCommand.
-
+
- Helper method that sets a proper 404 response code.
+ Id of the Timing this statement was executed in.
+
+
+ Needed for database deserialization.
+
+
+
+
+ The Timing step that this sql execution occurred in.
-
+
- Try to keep everything static so we can easily be reused.
+ True when other identical sql statements have been executed during this MiniProfiler session.
-
+
- Formats SQL server queries with a DECLARE up top for parameter values
+ If the underlying command supports BindByName, this sets/clears the underlying
+ implementation accordingly. This is required to support OracleCommand from dapper-dot-net
-
+
- Formats the SQL in a SQL-Server friendly way, with DECLARE statements for the parameters up top.
+ Formats any SQL query with inline parameters, optionally including the value type
+
+
+
+
+ Creates a new Inline SQL Formatter, optionally including the parameter type info in comments beside the replaced value
+
+ whether to include a comment after the value, indicating the type, e.g. /* @myParam DbType.Int32 */
+
+
+
+ Formats the SQL in a generic frieldly format, including the parameter type information in a comment if it was specified in the InlineFormatter constructor
The SqlTiming to format
A formatted SQL string
-
+
- Common extension methods to use only in this project
+ Returns a string representation of the parameter's value, including the type
+ The parameter to get a value for
+
-
+
- Answers true if this String is either null or empty.
+ Identifies users based on ip address.
-
+
- Answers true if this String is neither null or empty.
+ Provides functionality to identify which user is profiling a request.
-
+
- Removes trailing / characters from a path and leaves just one
+ Returns a string to identify the user profiling the current 'request'.
+ The current HttpRequest being profiled.
-
+
- Removes any leading / characters from a path
+ Returns the paramter HttpRequest's client ip address.
-
+
- Removes any leading / characters from a path
+ 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.
-
+
- Extension mechanism for additional services;
+ NOT IMPLEMENTED - will format statements with paramters in an Oracle friendly way
- requested service provider or null.
-
+
- Wraps a database connection, allowing sql execution timings to be collected when a session is started.
+ Does NOTHING, implement me!
-
+
- Returns a new that wraps ,
- providing query execution profiling.
+ Understands how to store a to a MSSQL database.
- Your provider-specific flavor of connection, e.g. SqlConnection, OracleConnection
-
+
- Returns a new that wraps ,
- providing query execution profiling.
+ Creates needed tables. Run this once on your database.
- Your provider-specific flavor of connection, e.g. SqlConnection, OracleConnection
- The currently started or null.
+
+ Works in sql server and sqlite (with documented removals).
+ TODO: add indexes
+
-
+
- Returns a new that wraps ,
- providing query execution profiling. If profiler is null, no profiling will occur.
+ Returns a new .
- Your provider-specific flavor of connection, e.g. SqlConnection, OracleConnection
- The currently started or null.
-
+
- Information about a DbParameter used in the sql statement profiled by SqlTiming.
+ Stores to dbo.MiniProfilers under its ;
+ stores all child Timings and SqlTimings to their respective tables.
-
+
- Which SqlTiming this Parameter was executed with.
+ Saves parameter Timing to the dbo.MiniProfilerTimings table.
-
+
- Parameter name, e.g. "@routeName"
+ Saves parameter SqlTiming to the dbo.MiniProfilerSqlTimings table.
-
+
- The value submitted to the database.
+ Saves any SqlTimingParameters used in the profiled SqlTiming to the dbo.MiniProfilerSqlTimingParameters table.
-
+
- System.Data.DbType, e.g. "String", "Bit"
+ Loads the MiniProfiler identifed by 'id' from the database.
-
+
- How large the type is, e.g. for string, size could be 4000
+ Returns a list of s that haven't been seen by .
+ User identified by the current .
-
+
- Profiles a single sql execution.
+ Returns a connection to Sql Server.
-
+
- Creates a new SqlTiming to profile 'command'.
+ Contains helper code to time sql statements.
-
+
- Obsolete - used for serialization.
+ Returns a new SqlProfiler to be used in the 'profiler' session.
-
+
- Called when command execution is finished to determine this SqlTiming's duration.
+ Tracks when 'command' is started.
-
+
- Called when database reader is closed, ending profiling for SqlTimings.
+ Returns all currently open commands on this connection
-
+
- To help with display, put some space around sammiched commas
+ Finishes profiling for 'command', recording durations.
-
+
- Unique identifier for this SqlTiming.
+ Called when 'reader' finishes its iterations and is closed.
-
+
- Category of sql statement executed.
+ The profiling session this SqlProfiler is part of.
-
+
- The sql that was executed.
+ Helper methods that allow operation on SqlProfilers, regardless of their instantiation.
-
+
- The sql that was executed.
+ Tracks when 'command' is started.
-
+
- The command string with special formatting applied based on MiniProfiler.Settings.SqlFormatter
+ Finishes profiling for 'command', recording durations.
-
+
- Roughly where in the calling code that this sql was executed.
+ Called when 'reader' finishes its iterations and is closed.
-
+
- Offset from main MiniProfiler start that this sql began.
+ Information about a DbParameter used in the sql statement profiled by SqlTiming.
-
+
- How long this sql statement took to execute.
+ Which SqlTiming this Parameter was executed with.
-
+
- When executing readers, how long it took to come back initially from the database,
- before all records are fetched and reader is closed.
+ Parameter name, e.g. "@routeName"
-
+
- Stores any parameter names and values used by the profiled DbCommand.
+ The value submitted to the database.
-
+
- Id of the Timing this statement was executed in.
+ System.Data.DbType, e.g. "String", "Bit"
-
- Needed for database deserialization.
-
-
+
- The Timing step that this sql execution occurred in.
+ How large the type is, e.g. for string, size could be 4000
-
+
- True when other identical sql statements have been executed during this MiniProfiler session.
+ Understands how to route and respond to MiniProfiler UI urls.
-
+
- Gets part of a stack trace containing only methods we care about.
+ Returns this to handle .
-
+
- Contains the default list of full type names we don't want in any stack trace snippets.
+ Returns either includes' css/javascript or results' html.
-
+
- Understands how to store a to the with absolute expiration.
+ Handles rendering static content files.
-
+
- The string that prefixes all keys that MiniProfilers are saved under, e.g.
- "mini-profiler-ecfb0050-7ce8-4bf1-bf82-2cb38e90e31e".
+ Handles rendering a previous MiniProfiler session, identified by its "?id=GUID" on the query.
-
+
- Returns a new HttpRuntimeCacheStorage class that will cache MiniProfilers for the specified duration.
+ Embedded resource contents keyed by filename.
-
+
- Saves to the HttpRuntime.Cache under a key concated with
- and .
+ Helper method that sets a proper 404 response code.
-
+
- Returns the originally-stored
+ Try to keep everything static so we can easily be reused.
-
-
-
+
- How long to cache each for (i.e. the absolute expiration parameter of
- )
+ Common extension methods to use only in this project
-
+
- If the underlying command supports BindByName, this sets/clears the underlying
- implementation accordingly. This is required to support OracleCommand from dapper-dot-net
+ Answers true if this String is either null or empty.
+
+
+
+
+ Answers true if this String is neither null or empty.
+
+
+
+
+ Removes trailing / characters from a path and leaves just one
+
+
+
+
+ Removes any leading / characters from a path
+
+
+
+
+ Removes any leading / characters from a path
+
+
+
+
+ Serializes to a json string.