aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-03-03 00:17:00 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-03-03 00:17:00 -0500
commit32204107dd1a99ddd6514ddfa680f3b5634ce482 (patch)
tree53aba2b5b25460d8805dfab969f92c3128153273
parent11a5bbf9b53f9462b66e5ff1ead51d04eed460ea (diff)
add advanced setting
-rw-r--r--MediaBrowser.Model/Configuration/ServerConfiguration.cs3
-rw-r--r--MediaBrowser.Server.Implementations/EntryPoints/UsageEntryPoint.cs17
-rw-r--r--MediaBrowser.Server.Implementations/EntryPoints/UsageReporter.cs16
3 files changed, 31 insertions, 5 deletions
diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
index 5527c1646..64edbdea9 100644
--- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
@@ -205,6 +205,8 @@ namespace MediaBrowser.Model.Configuration
public int MigrationVersion { get; set; }
public bool DownloadImagesInAdvance { get; set; }
+
+ public bool EnableAnonymousUsageReporting { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="ServerConfiguration" /> class.
@@ -221,6 +223,7 @@ namespace MediaBrowser.Model.Configuration
EnableHttps = false;
EnableDashboardResponseCaching = true;
EnableDashboardResourceMinification = true;
+ EnableAnonymousUsageReporting = true;
EnableAutomaticRestart = true;
DenyIFrameEmbedding = true;
diff --git a/MediaBrowser.Server.Implementations/EntryPoints/UsageEntryPoint.cs b/MediaBrowser.Server.Implementations/EntryPoints/UsageEntryPoint.cs
index d8aef909b..f82bb01bb 100644
--- a/MediaBrowser.Server.Implementations/EntryPoints/UsageEntryPoint.cs
+++ b/MediaBrowser.Server.Implementations/EntryPoints/UsageEntryPoint.cs
@@ -10,6 +10,7 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Controller.Configuration;
namespace MediaBrowser.Server.Implementations.EntryPoints
{
@@ -23,18 +24,18 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
private readonly ILogger _logger;
private readonly ISessionManager _sessionManager;
private readonly IUserManager _userManager;
-
- private readonly TimeSpan _frequency = TimeSpan.FromHours(24);
+ private readonly IServerConfigurationManager _config;
private readonly ConcurrentDictionary<Guid, ClientInfo> _apps = new ConcurrentDictionary<Guid, ClientInfo>();
- public UsageEntryPoint(ILogger logger, IApplicationHost applicationHost, IHttpClient httpClient, ISessionManager sessionManager, IUserManager userManager)
+ public UsageEntryPoint(ILogger logger, IApplicationHost applicationHost, IHttpClient httpClient, ISessionManager sessionManager, IUserManager userManager, IServerConfigurationManager config)
{
_logger = logger;
_applicationHost = applicationHost;
_httpClient = httpClient;
_sessionManager = sessionManager;
_userManager = userManager;
+ _config = config;
_sessionManager.SessionStarted += _sessionManager_SessionStarted;
}
@@ -64,6 +65,11 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
private async void ReportNewSession(ClientInfo client)
{
+ if (!_config.Configuration.EnableAnonymousUsageReporting)
+ {
+ return;
+ }
+
try
{
await new UsageReporter(_applicationHost, _httpClient, _userManager, _logger)
@@ -106,6 +112,11 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
/// </summary>
private async void OnTimerFired()
{
+ if (!_config.Configuration.EnableAnonymousUsageReporting)
+ {
+ return;
+ }
+
try
{
await new UsageReporter(_applicationHost, _httpClient, _userManager, _logger)
diff --git a/MediaBrowser.Server.Implementations/EntryPoints/UsageReporter.cs b/MediaBrowser.Server.Implementations/EntryPoints/UsageReporter.cs
index 2473f3af6..cbec91679 100644
--- a/MediaBrowser.Server.Implementations/EntryPoints/UsageReporter.cs
+++ b/MediaBrowser.Server.Implementations/EntryPoints/UsageReporter.cs
@@ -8,6 +8,7 @@ using System.Globalization;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Controller.Configuration;
using MediaBrowser.Model.Logging;
namespace MediaBrowser.Server.Implementations.EntryPoints
@@ -51,6 +52,10 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
data["plugins"] = string.Join(",", _applicationHost.Plugins.Select(i => i.Id).ToArray());
+ var logErrors = false;
+#if DEBUG
+ logErrors = true;
+#endif
var options = new HttpRequestOptions
{
Url = MbAdminUrl + "service/registration/ping",
@@ -59,7 +64,8 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
// Seeing block length errors
EnableHttpCompression = false,
- LogRequest = false
+ LogRequest = false,
+ LogErrors = logErrors
};
options.SetPostData(data);
@@ -95,6 +101,11 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
{ "platform", app.DeviceName },
};
+ var logErrors = false;
+
+#if DEBUG
+ logErrors = true;
+#endif
var options = new HttpRequestOptions
{
Url = MbAdminUrl + "service/registration/ping",
@@ -103,7 +114,8 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
// Seeing block length errors
EnableHttpCompression = false,
- LogRequest = false
+ LogRequest = false,
+ LogErrors = logErrors
};
options.SetPostData(data);