mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 02:37:08 -07:00
Updated MiniProfiler to v2
This commit is contained in:
parent
95cdaf25f6
commit
216bf08ced
16 changed files with 2407 additions and 123 deletions
111
packages/MiniProfiler.MVC3.2.0.2/Content/App_Start/MiniProfiler.cs.pp
vendored
Normal file
111
packages/MiniProfiler.MVC3.2.0.2/Content/App_Start/MiniProfiler.cs.pp
vendored
Normal file
|
@ -0,0 +1,111 @@
|
|||
using System;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using System.Linq;
|
||||
using StackExchange.Profiling;
|
||||
using StackExchange.Profiling.MVCHelpers;
|
||||
using Microsoft.Web.Infrastructure;
|
||||
using Microsoft.Web.Infrastructure.DynamicModuleHelper;
|
||||
//using System.Data;
|
||||
//using System.Data.Entity;
|
||||
//using System.Data.Entity.Infrastructure;
|
||||
//using StackExchange.Profiling.Data.EntityFramework;
|
||||
//using StackExchange.Profiling.Data.Linq2Sql;
|
||||
|
||||
[assembly: WebActivator.PreApplicationStartMethod(
|
||||
typeof($rootnamespace$.App_Start.MiniProfilerPackage), "PreStart")]
|
||||
|
||||
[assembly: WebActivator.PostApplicationStartMethod(
|
||||
typeof($rootnamespace$.App_Start.MiniProfilerPackage), "PostStart")]
|
||||
|
||||
|
||||
namespace $rootnamespace$.App_Start
|
||||
{
|
||||
public static class MiniProfilerPackage
|
||||
{
|
||||
public static void PreStart()
|
||||
{
|
||||
|
||||
// Be sure to restart you ASP.NET Developement server, this code will not run until you do that.
|
||||
|
||||
//TODO: See - _MINIPROFILER UPDATED Layout.cshtml
|
||||
// For profiling to display in the UI you will have to include the line @StackExchange.Profiling.MiniProfiler.RenderIncludes()
|
||||
// in your master layout
|
||||
|
||||
//TODO: Non SQL Server based installs can use other formatters like: new StackExchange.Profiling.SqlFormatters.InlineFormatter()
|
||||
MiniProfiler.Settings.SqlFormatter = new StackExchange.Profiling.SqlFormatters.SqlServerFormatter();
|
||||
|
||||
//TODO: To profile a standard DbConnection:
|
||||
// var profiled = new ProfiledDbConnection(cnn, MiniProfiler.Current);
|
||||
|
||||
//TODO: If you are profiling EF code first try:
|
||||
// MiniProfilerEF.Initialize();
|
||||
|
||||
//Make sure the MiniProfiler handles BeginRequest and EndRequest
|
||||
DynamicModuleUtility.RegisterModule(typeof(MiniProfilerStartupModule));
|
||||
|
||||
//Setup profiler for Controllers via a Global ActionFilter
|
||||
GlobalFilters.Filters.Add(new ProfilingActionFilter());
|
||||
|
||||
// You can use this to check if a request is allowed to view results
|
||||
//MiniProfiler.Settings.Results_Authorize = (request) =>
|
||||
//{
|
||||
// you should implement this if you need to restrict visibility of profiling on a per request basis
|
||||
// return !DisableProfilingResults;
|
||||
//};
|
||||
|
||||
// the list of all sessions in the store is restricted by default, you must return true to alllow it
|
||||
//MiniProfiler.Settings.Results_List_Authorize = (request) =>
|
||||
//{
|
||||
// you may implement this if you need to restrict visibility of profiling lists on a per request basis
|
||||
//return true; // all requests are kosher
|
||||
//};
|
||||
}
|
||||
|
||||
public static void PostStart()
|
||||
{
|
||||
// Intercept ViewEngines to profile all partial views and regular views.
|
||||
// If you prefer to insert your profiling blocks manually you can comment this out
|
||||
var copy = ViewEngines.Engines.ToList();
|
||||
ViewEngines.Engines.Clear();
|
||||
foreach (var item in copy)
|
||||
{
|
||||
ViewEngines.Engines.Add(new ProfilingViewEngine(item));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class MiniProfilerStartupModule : IHttpModule
|
||||
{
|
||||
public void Init(HttpApplication context)
|
||||
{
|
||||
context.BeginRequest += (sender, e) =>
|
||||
{
|
||||
var request = ((HttpApplication)sender).Request;
|
||||
//TODO: By default only local requests are profiled, optionally you can set it up
|
||||
// so authenticated users are always profiled
|
||||
if (request.IsLocal) { MiniProfiler.Start(); }
|
||||
};
|
||||
|
||||
|
||||
// TODO: You can control who sees the profiling information
|
||||
/*
|
||||
context.AuthenticateRequest += (sender, e) =>
|
||||
{
|
||||
if (!CurrentUserIsAllowedToSeeProfiler())
|
||||
{
|
||||
StackExchange.Profiling.MiniProfiler.Stop(discardResults: true);
|
||||
}
|
||||
};
|
||||
*/
|
||||
|
||||
context.EndRequest += (sender, e) =>
|
||||
{
|
||||
MiniProfiler.Stop();
|
||||
};
|
||||
}
|
||||
|
||||
public void Dispose() { }
|
||||
}
|
||||
}
|
||||
|
45
packages/MiniProfiler.MVC3.2.0.2/Content/Views/Shared/_MINIPROFILER UPDATED Layout.cshtml
vendored
Normal file
45
packages/MiniProfiler.MVC3.2.0.2/Content/Views/Shared/_MINIPROFILER UPDATED Layout.cshtml
vendored
Normal file
|
@ -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>
|
BIN
packages/MiniProfiler.MVC3.2.0.2/MiniProfiler.MVC3.2.0.2.nupkg
vendored
Normal file
BIN
packages/MiniProfiler.MVC3.2.0.2/MiniProfiler.MVC3.2.0.2.nupkg
vendored
Normal file
Binary file not shown.
6
packages/MiniProfiler.MVC3.2.0.2/tools/install.ps1
vendored
Normal file
6
packages/MiniProfiler.MVC3.2.0.2/tools/install.ps1
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
param($installPath, $toolsPath, $package, $project)
|
||||
|
||||
$path = [System.IO.Path]
|
||||
$appstart = $path::Combine($path::GetDirectoryName($project.FileName), "App_Start\MiniProfiler.cs")
|
||||
$DTE.ItemOperations.OpenFile($appstart)
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue