From 7a83a46d31f6cd7efa6ce8fa804c8dee04e06957 Mon Sep 17 00:00:00 2001 From: "kay.one" Date: Wed, 25 Jan 2012 17:29:55 -0800 Subject: [PATCH] Added integration to deskmetrics --- Libraries/DeskMetrics/DeskMetrics.XML | 140 +++++++++++------- Libraries/DeskMetrics/DeskMetrics.dll | Bin 34816 -> 34816 bytes Libraries/DeskMetrics/DeskMetrics.pdb | Bin 89600 -> 89600 bytes NzbDrone.Core/CentralDispatch.cs | 10 +- NzbDrone.Core/Jobs/CheckpointJob.cs | 39 +++++ NzbDrone.Core/NzbDrone.Core.csproj | 1 + NzbDrone.Core/Providers/AnalyticsProvider.cs | 10 +- .../Content/2011.3.1115/telerik.metro.min.css | 2 +- 8 files changed, 138 insertions(+), 64 deletions(-) create mode 100644 NzbDrone.Core/Jobs/CheckpointJob.cs diff --git a/Libraries/DeskMetrics/DeskMetrics.XML b/Libraries/DeskMetrics/DeskMetrics.XML index 43fcb8222..57410ddbb 100644 --- a/Libraries/DeskMetrics/DeskMetrics.XML +++ b/Libraries/DeskMetrics/DeskMetrics.XML @@ -19,61 +19,6 @@ GetProcessorFrequency Screen resolution GetComponentName - - - Field OS Service Pack - - - - - GetProcessorFrequency Framework ApplicationVersion GetComponentName - - - - - GetProcessorFrequency OS Archicteture GetComponentName - - - - - GetProcessorFrequency OS ApplicationVersion GetComponentName - - - - - GetProcessorFrequency Java version GetComponentName - - - - - GetProcessorFrequency and Set Framework ApplicationVersion - - - - - GetProcessorFrequency and Set OS Archicteture - - - - - GetProcessorFrequency and Set OS ApplicationVersion - - - - - GetProcessorFrequency and Set Frameworl Service Pack - - - - - GetProcessorFrequency and Set Java ApplicationVersion - - - - - GetProcessorFrequency and Set OS Service Pack - - Starts the application tracking. @@ -159,6 +104,61 @@ The log message + + + Field OS Service Pack + + + + + GetProcessorFrequency Framework ApplicationVersion GetComponentName + + + + + GetProcessorFrequency OS Archicteture GetComponentName + + + + + GetProcessorFrequency OS ApplicationVersion GetComponentName + + + + + GetProcessorFrequency Java version GetComponentName + + + + + GetProcessorFrequency and Set Framework ApplicationVersion + + + + + GetProcessorFrequency and Set OS Archicteture + + + + + GetProcessorFrequency and Set OS ApplicationVersion + + + + + GetProcessorFrequency and Set Frameworl Service Pack + + + + + GetProcessorFrequency and Set Java ApplicationVersion + + + + + GetProcessorFrequency and Set OS Service Pack + + Starts the application tracking. @@ -244,5 +244,35 @@ The log message + + + Indicates if the Start() has been called and a session is active. + + + + + Currently active session. will be null if no sessions are active. + + + + + DeskmMtrics Application ID + + + + + Version of application being tracked. + + + + + Checks if application events are tracked. + + + + + Anonymous identifier of the user being tracked. + + diff --git a/Libraries/DeskMetrics/DeskMetrics.dll b/Libraries/DeskMetrics/DeskMetrics.dll index 65423299d02ea8e852470fe57577412c716e9dc8..e870399bba7a21f2877aa6086889d41beaf29fd4 100644 GIT binary patch delta 7547 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

fjx8tE7nZb&U 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 Wbw30CyL!FO%eaC(o_)^$9|?OnVhLhvJiA-J zx6M;^B%pfv%{EL~0;|@al6tL^u$X-(usr=*si#&~$ZE4!`u7QJuHNz%n&l+28hws5 zpz3{^$O`m5WPX*tMwU8~pt81fliG(>~10urVC2`ijFDY?L9y zTNK?HEZwL)4u(sU$#Wo6D_-;##f(fgN2mNrtjT0yqAL?#hGoI@N13cJNO>BY0{*EF zHYY`7WU;5v<0&wG#g#00-IvAiUvk7hvRJ(Mmuwj|S#>G|YBp6xm+ULPhL)(AEIqmh z0;ATpcQOY1Ll#~aRMFBQQFgWrK@AudO}9E*?dP}IYz~-d*iU=~o61JLGzHNZHWeLb zOp#6eF@GtlL@ZGm^_M#CGZ{IM%&0sF?M%f5h} J^J&bF|6j)n%L4!a diff --git a/NzbDrone.Core/CentralDispatch.cs b/NzbDrone.Core/CentralDispatch.cs index a6a6d0142..04779a7b3 100644 --- a/NzbDrone.Core/CentralDispatch.cs +++ b/NzbDrone.Core/CentralDispatch.cs @@ -20,11 +20,14 @@ namespace NzbDrone.Core public class CentralDispatch { private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); + private readonly EnviromentProvider _enviromentProvider; public StandardKernel Kernel { get; private set; } public CentralDispatch() { + _enviromentProvider = new EnviromentProvider(); + Logger.Debug("Initializing Kernel:"); Kernel = new StandardKernel(); @@ -42,7 +45,7 @@ namespace NzbDrone.Core { Logger.Info("Initializing Database..."); - var appDataPath = new EnviromentProvider().GetAppDataPath(); + var appDataPath = _enviromentProvider.GetAppDataPath(); if (!Directory.Exists(appDataPath)) Directory.CreateDirectory(appDataPath); var connection = Kernel.Get(); @@ -57,7 +60,7 @@ namespace NzbDrone.Core private void InitAnalytics() { - var deskMetricsClient = new DeskMetricsClient(Kernel.Get().UGuid, AnalyticsProvider.DESKMETRICS_ID, new EnviromentProvider().Version); + var deskMetricsClient = new DeskMetricsClient(Kernel.Get().UGuid, AnalyticsProvider.DESKMETRICS_ID, _enviromentProvider.Version); Kernel.Bind().ToConstant(deskMetricsClient); Kernel.Get().Checkpoint(); } @@ -107,6 +110,7 @@ namespace NzbDrone.Core Kernel.Bind().To().InSingletonScope(); Kernel.Bind().To().InSingletonScope(); Kernel.Bind().To().InSingletonScope(); + Kernel.Bind().To().InSingletonScope(); Kernel.Get().Initialize(); Kernel.Get().StartTimer(30); @@ -129,7 +133,7 @@ namespace NzbDrone.Core { try { - var pid = new EnviromentProvider().NzbDroneProcessIdFromEnviroment; + var pid = _enviromentProvider.NzbDroneProcessIdFromEnviroment; Logger.Debug("Attaching to parent process ({0}) for automatic termination.", pid); diff --git a/NzbDrone.Core/Jobs/CheckpointJob.cs b/NzbDrone.Core/Jobs/CheckpointJob.cs new file mode 100644 index 000000000..b5ca4082c --- /dev/null +++ b/NzbDrone.Core/Jobs/CheckpointJob.cs @@ -0,0 +1,39 @@ +using System; +using System.Linq; +using Ninject; +using NzbDrone.Core.Model.Notification; +using NzbDrone.Core.Providers; + +namespace NzbDrone.Core.Jobs +{ + public class CheckpointJob : IJob + { + private readonly AnalyticsProvider _analyticsProvider; + + [Inject] + public CheckpointJob(AnalyticsProvider analyticsProvider) + { + _analyticsProvider = analyticsProvider; + } + + public CheckpointJob() + { + + } + + public string Name + { + get { return "Checkpoint Job"; } + } + + public TimeSpan DefaultInterval + { + get { return TimeSpan.FromDays(1); } + } + + public void Start(ProgressNotification notification, int targetId, int secondaryTargetId) + { + _analyticsProvider.Checkpoint(); + } + } +} \ No newline at end of file diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 947b5fb1c..a88c0925a 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -226,6 +226,7 @@ + diff --git a/NzbDrone.Core/Providers/AnalyticsProvider.cs b/NzbDrone.Core/Providers/AnalyticsProvider.cs index cac031e81..face22241 100644 --- a/NzbDrone.Core/Providers/AnalyticsProvider.cs +++ b/NzbDrone.Core/Providers/AnalyticsProvider.cs @@ -23,16 +23,16 @@ namespace NzbDrone.Core.Providers public virtual void Checkpoint() { - if (_deskMetricsClient.Started) - { - _deskMetricsClient.Stop(); - } - if (EnviromentProvider.IsNewInstall) { _deskMetricsClient.RegisterInstall(); } + if (_deskMetricsClient.Started) + { + _deskMetricsClient.Stop(); + } + _deskMetricsClient.Start(); } } diff --git a/NzbDrone.Web/Content/2011.3.1115/telerik.metro.min.css b/NzbDrone.Web/Content/2011.3.1115/telerik.metro.min.css index a4f69f630..1eae27886 100644 --- a/NzbDrone.Web/Content/2011.3.1115/telerik.metro.min.css +++ b/NzbDrone.Web/Content/2011.3.1115/telerik.metro.min.css @@ -92,4 +92,4 @@ .t-window-actions .t-state-hover,.t-editor-button .t-state-hover{border-color:#fff;background-color:transparent} .t-editor-button .t-state-active{border-color:#fff;background-color:#57b5df} /*rounded corners and shadows*/.t-button,div.t-window,.t-window-titlebar,div.t-window-content,.t-window-titlebar .t-state-hover,.t-tabstrip-items .t-item,.t-panelbar .t-tabstrip-items .t-item,.t-pager .t-state-active,.t-pager .t-state-hover,.t-grid .t-filter-options,.t-grouping-header .t-group-indicator,.t-treeview .t-state-hover,.t-treeview .t-state-selected,.t-colorpicker .t-selected-color,.t-editor-button .t-state-hover,.t-editor-button .t-state-active,.t-drag-clue,.t-tooltip,.t-dropzone,.t-upload-files,.t-progress,.t-progress-status,.t-tile{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0} -.t-popup,.t-menu .t-group,div.t-window,.t-imagebrowser .t-image{-moz-box-shadow:0;-webkit-box-shadow:0;box-shadow:0} \ No newline at end of file +.t-popup,.t-menu .t-group,div.t-window,.t-imagebrowser .t-image{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none} \ No newline at end of file