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 @@ + + + + +