diff --git a/PlexRequests.Services/Jobs/PlexEpisodeCacher.cs b/PlexRequests.Services/Jobs/PlexEpisodeCacher.cs
index 2c69f1344..9164fd4a8 100644
--- a/PlexRequests.Services/Jobs/PlexEpisodeCacher.cs
+++ b/PlexRequests.Services/Jobs/PlexEpisodeCacher.cs
@@ -66,6 +66,11 @@ namespace PlexRequests.Services.Jobs
{
var results = new PlexSearch();
var settings = Plex.GetSettings();
+ if (string.IsNullOrEmpty(settings.PlexAuthToken))
+ {
+ return;
+ }
+
var sections = PlexApi.GetLibrarySections(settings.PlexAuthToken, settings.FullUri);
var tvSection = sections.Directories.FirstOrDefault(x => x.type.Equals(PlexMediaType.Show.ToString(), StringComparison.CurrentCultureIgnoreCase));
var tvSectionId = tvSection?.Key;
diff --git a/PlexRequests.UI.Tests/app.config b/PlexRequests.UI.Tests/app.config
index 9c6cf03b8..6f59da9bf 100644
--- a/PlexRequests.UI.Tests/app.config
+++ b/PlexRequests.UI.Tests/app.config
@@ -23,6 +23,10 @@
+
+
+
+
diff --git a/PlexRequests.UI/Bootstrapper.cs b/PlexRequests.UI/Bootstrapper.cs
index f1e8ebc1a..98bc9ad5e 100644
--- a/PlexRequests.UI/Bootstrapper.cs
+++ b/PlexRequests.UI/Bootstrapper.cs
@@ -53,6 +53,8 @@ using Nancy.Json;
using Ninject;
+using StackExchange.Profiling;
+
namespace PlexRequests.UI
{
public class Bootstrapper : NinjectNancyBootstrapper
@@ -86,6 +88,10 @@ namespace PlexRequests.UI
base.ApplicationStartup(container, pipelines);
+#if DEBUG
+ pipelines.BeforeRequest += StartProfiler;
+ pipelines.AfterRequest += EndProfiler;
+#endif
var settings = new SettingsServiceV2(new SettingsJsonRepository(new DbConfiguration(new SqliteFactory()), new MemoryCacheProvider()));
var baseUrl = settings.GetSettings().BaseUrl;
var redirect = string.IsNullOrEmpty(baseUrl) ? "~/login" : $"~/{baseUrl}/login";
@@ -191,5 +197,16 @@ namespace PlexRequests.UI
var loc = ServiceLocator.Instance;
loc.SetContainer(container);
}
+
+ private static Response StartProfiler(NancyContext ctx)
+ {
+ MiniProfiler.Start();
+ return null;
+ }
+
+ private static void EndProfiler(NancyContext ctx)
+ {
+ MiniProfiler.Stop();
+ }
}
}
\ No newline at end of file
diff --git a/PlexRequests.UI/Modules/UserLoginModule.cs b/PlexRequests.UI/Modules/UserLoginModule.cs
index e31f3d361..99c027399 100644
--- a/PlexRequests.UI/Modules/UserLoginModule.cs
+++ b/PlexRequests.UI/Modules/UserLoginModule.cs
@@ -44,6 +44,8 @@ using PlexRequests.Helpers;
using PlexRequests.Helpers.Analytics;
using PlexRequests.UI.Models;
+using StackExchange.Profiling;
+
using Action = PlexRequests.Helpers.Analytics.Action;
namespace PlexRequests.UI.Modules
@@ -76,8 +78,17 @@ namespace PlexRequests.UI.Modules
public async Task Index()
{
- var settings = await AuthService.GetSettingsAsync();
- return View["Index", settings];
+ var profiler = MiniProfiler.Current;
+ using (profiler.Step("Loading Index"))
+ {
+ using (profiler.Step("Loading AuthSettingsAsync and returning View"))
+ {
+ var settings = await AuthService.GetSettingsAsync();
+ return View["Index", settings];
+ }
+
+ }
+
}
private async Task LoginUser()
diff --git a/PlexRequests.UI/PlexRequests.UI.csproj b/PlexRequests.UI/PlexRequests.UI.csproj
index 1cc9c6fd0..d90e11bc6 100644
--- a/PlexRequests.UI/PlexRequests.UI.csproj
+++ b/PlexRequests.UI/PlexRequests.UI.csproj
@@ -61,6 +61,18 @@
..\packages\Microsoft.Owin.Host.SystemWeb.3.0.1\lib\net45\Microsoft.Owin.Host.SystemWeb.dll
True
+
+ ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll
+ True
+
+
+ ..\packages\MiniProfiler.3.0.10\lib\net40\MiniProfiler.dll
+ True
+
+
+ ..\packages\MiniProfiler.MVC4.3.0.11\lib\net40\MiniProfiler.Mvc.dll
+ True
+
..\packages\Nancy.1.4.3\lib\net40\Nancy.dll
True
@@ -116,6 +128,26 @@
+
+ ..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.Helpers.dll
+ True
+
+
+ ..\packages\Microsoft.AspNet.Mvc.4.0.30506.0\lib\net40\System.Web.Mvc.dll
+ True
+
+
+ ..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.dll
+ True
+
+
+ ..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.Deployment.dll
+ True
+
+
+ ..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.Razor.dll
+ True
+
diff --git a/PlexRequests.UI/Views/Shared/_Layout.cshtml b/PlexRequests.UI/Views/Shared/_Layout.cshtml
index 1aed647ea..86eae181c 100644
--- a/PlexRequests.UI/Views/Shared/_Layout.cshtml
+++ b/PlexRequests.UI/Views/Shared/_Layout.cshtml
@@ -1,4 +1,5 @@
@using PlexRequests.UI.Helpers
+@*@using StackExchange.Profiling*@
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase
@Html.Partial("Shared/Partial/_Head")
@@ -10,11 +11,13 @@
@RenderBody()
-
+
+ @*@MiniProfiler.RenderIncludes()*@
@Html.GetInformationalVersion()
diff --git a/PlexRequests.UI/app.config b/PlexRequests.UI/app.config
index b88e1847d..c64b3ca86 100644
--- a/PlexRequests.UI/app.config
+++ b/PlexRequests.UI/app.config
@@ -48,6 +48,10 @@
+
+
+
+
diff --git a/PlexRequests.UI/packages.config b/PlexRequests.UI/packages.config
index aa7d04b7e..87fccc37f 100644
--- a/PlexRequests.UI/packages.config
+++ b/PlexRequests.UI/packages.config
@@ -9,11 +9,16 @@
+
+
+
+
+