SqlServerStorage
Understands how to store a ServiceStack.MiniProfiler.Profiler to a MSSQL database.
Assembly: ServiceStack.NetFramework.dll
View Source
public class SqlServerStorage : DatabaseStorageBase, IStorage
Inherited Properties
ConnectionString
How we connect to the database used to save/load MiniProfiler results.
View Source
protected string ConnectionString { get; set; }
Fields
TableCreationScript
Creates needed tables. Run this once on your database.
View Source
public const string TableCreationScript = "create table MiniProfilers\r\n  (\r\n     RowId                                integer not null identity constraint PK_MiniProfilers primary key clustered, -- Need a clustered primary key for SQL Azure\r\n     Id                                   uniqueidentifier not null, -- don't cluster on a guid\r\n     Name                                 nvarchar(200) not null,\r\n     Started                              datetime not null,\r\n     MachineName                          nvarchar(100) null,\r\n     [User]                               nvarchar(100) null,\r\n     Level                                tinyint null,\r\n     RootTimingId                         uniqueidentifier null,\r\n     DurationMilliseconds                 decimal(7, 1) not null,\r\n     DurationMillisecondsInSql            decimal(7, 1) null,\r\n     HasSqlTimings                        bit not null,\r\n     HasDuplicateSqlTimings               bit not null,\r\n     HasTrivialTimings                    bit not null,\r\n     HasAllTrivialTimings                 bit not null,\r\n     TrivialDurationThresholdMilliseconds decimal(5, 1) null,\r\n     HasUserViewed                        bit not null,\r\n     Json                                 nvarchar(max)\r\n  );\r\n  -- displaying results selects everything based on the main MiniProfilers.Id column\r\n  create unique nonclustered index IX_MiniProfilers_Id on MiniProfilers (Id);\r\n                \r\n  -- speeds up a query that is called on every .Stop()\r\n  create nonclustered index IX_MiniProfilers_User_HasUserViewed_Includes on MiniProfilers ([User], HasUserViewed) include (Id, [Started]);\r\n"
Methods
Save(MiniProfiler)
Stores <param name="profiler" /> to dbo.MiniProfilers under its Profiler.Id; stores all child Timings and SqlTimings to their respective tables.
View Source
public override void Save(MiniProfiler profiler)
Parameters
| Type | Name | 
|---|---|
| ServiceStack.MiniProfiler.MiniProfiler | profiler | 
Load(Guid)
Loads the MiniProfiler identifed by 'id' from the database.
View Source
public override MiniProfiler Load(Guid id)
Returns
ServiceStack.MiniProfiler.MiniProfiler
Parameters
| Type | Name | 
|---|---|
| System.Guid | id | 
GetUnviewedIds(String)
Returns a list of Profiler.Ids that haven't been seen by <code data-dev-comment-type="paramref" class="paramref">user</code>.
View Source
public override List<Guid> GetUnviewedIds(string user)
Returns
System.Collections.Generic.List<System.Guid>
Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | user | User identified by the current MiniProfiler.Settings.UserProvider. | 
|
GetConnection()
Returns a connection to Sql Server.
View Source
protected override DbConnection GetConnection()
Returns
System.Data.Common.DbConnection
Inherited Methods
GetConnection()
Returns a DbConnection for your specific provider.
View Source
protected abstract DbConnection GetConnection()
Returns
System.Data.Common.DbConnection
GetOpenConnection()
Returns a DbConnection already opened for execution.
View Source
protected DbConnection GetOpenConnection()
Returns
System.Data.Common.DbConnection
GetUnviewedIds(String)
Returns a list of ServiceStack.MiniProfiler.MiniProfiler.Ids that haven't been seen by <code data-dev-comment-type="paramref" class="paramref">user</code>.
View Source
public abstract List<Guid> GetUnviewedIds(string user)
Returns
System.Collections.Generic.List<System.Guid>
Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | user | User identified by the current MiniProfiler.Settings.UserProvider. | 
|
Load(Guid)
Returns the MiniProfiler identified by 'id' from the database or null when no MiniProfiler exists under that 'id'.
View Source
public abstract MiniProfiler Load(Guid id)
Returns
ServiceStack.MiniProfiler.MiniProfiler
Parameters
| Type | Name | 
|---|---|
| System.Guid | id | 
Save(MiniProfiler)
Saves 'profiler' to a database under its ServiceStack.MiniProfiler.MiniProfiler.Id.
View Source
public abstract void Save(MiniProfiler profiler)
Parameters
| Type | Name | 
|---|---|
| ServiceStack.MiniProfiler.MiniProfiler | profiler |