Fixed: Ignore auth events from queries and grab stats

pull/2168/head
Bogdan 9 months ago
parent d22bf93dfd
commit 8c3a192dd0

@ -26,11 +26,15 @@ namespace NzbDrone.Core.IndexerStats
{ {
var history = _historyService.Between(start, end); var history = _historyService.Between(start, end);
var filteredHistory = history.Where(h => indexerIds.Contains(h.IndexerId)); var filteredHistory = history.Where(h => indexerIds.Contains(h.IndexerId)).ToArray();
var groupedByIndexer = filteredHistory.GroupBy(h => h.IndexerId); var groupedByIndexer = filteredHistory.GroupBy(h => h.IndexerId).ToArray();
var groupedByUserAgent = filteredHistory.GroupBy(h => h.Data.GetValueOrDefault("source") ?? ""); var groupedByUserAgent = filteredHistory
var groupedByHost = filteredHistory.GroupBy(h => h.Data.GetValueOrDefault("host") ?? ""); .Where(h => h.EventType != HistoryEventType.IndexerAuth)
.GroupBy(h => h.Data.GetValueOrDefault("source") ?? "").ToArray();
var groupedByHost = filteredHistory
.Where(h => h.EventType != HistoryEventType.IndexerAuth)
.GroupBy(h => h.Data.GetValueOrDefault("host") ?? "").ToArray();
var indexerStatsList = new List<IndexerStatistics>(); var indexerStatsList = new List<IndexerStatistics>();
var userAgentStatsList = new List<UserAgentStatistics>(); var userAgentStatsList = new List<UserAgentStatistics>();
@ -60,7 +64,7 @@ namespace NzbDrone.Core.IndexerStats
var temp = 0; var temp = 0;
var elapsedTimeEvents = sortedEvents var elapsedTimeEvents = sortedEvents
.Where(h => int.TryParse(h.Data.GetValueOrDefault("elapsedTime"), out temp) && h.Data.GetValueOrDefault("cached") != "1") .Where(h => int.TryParse(h.Data.GetValueOrDefault("elapsedTime"), out temp) && h.Data.GetValueOrDefault("cached") != "1")
.Select(h => temp) .Select(_ => temp)
.ToArray(); .ToArray();
indexerStats.AverageResponseTime = elapsedTimeEvents.Any() ? (int)elapsedTimeEvents.Average() : 0; indexerStats.AverageResponseTime = elapsedTimeEvents.Any() ? (int)elapsedTimeEvents.Average() : 0;
@ -68,6 +72,7 @@ namespace NzbDrone.Core.IndexerStats
foreach (var historyEvent in sortedEvents) foreach (var historyEvent in sortedEvents)
{ {
var failed = !historyEvent.Successful; var failed = !historyEvent.Successful;
switch (historyEvent.EventType) switch (historyEvent.EventType)
{ {
case HistoryEventType.IndexerQuery: case HistoryEventType.IndexerQuery:
@ -101,8 +106,6 @@ namespace NzbDrone.Core.IndexerStats
indexerStats.NumberOfFailedRssQueries++; indexerStats.NumberOfFailedRssQueries++;
} }
break;
default:
break; break;
} }
} }
@ -118,8 +121,8 @@ namespace NzbDrone.Core.IndexerStats
}; };
var sortedEvents = indexer.OrderBy(v => v.Date) var sortedEvents = indexer.OrderBy(v => v.Date)
.ThenBy(v => v.Id) .ThenBy(v => v.Id)
.ToArray(); .ToArray();
foreach (var historyEvent in sortedEvents) foreach (var historyEvent in sortedEvents)
{ {
@ -128,13 +131,10 @@ namespace NzbDrone.Core.IndexerStats
case HistoryEventType.IndexerRss: case HistoryEventType.IndexerRss:
case HistoryEventType.IndexerQuery: case HistoryEventType.IndexerQuery:
indexerStats.NumberOfQueries++; indexerStats.NumberOfQueries++;
break; break;
case HistoryEventType.ReleaseGrabbed: case HistoryEventType.ReleaseGrabbed:
indexerStats.NumberOfGrabs++; indexerStats.NumberOfGrabs++;
break; break;
default:
break;
} }
} }
@ -149,8 +149,8 @@ namespace NzbDrone.Core.IndexerStats
}; };
var sortedEvents = indexer.OrderBy(v => v.Date) var sortedEvents = indexer.OrderBy(v => v.Date)
.ThenBy(v => v.Id) .ThenBy(v => v.Id)
.ToArray(); .ToArray();
foreach (var historyEvent in sortedEvents) foreach (var historyEvent in sortedEvents)
{ {
@ -163,8 +163,6 @@ namespace NzbDrone.Core.IndexerStats
case HistoryEventType.ReleaseGrabbed: case HistoryEventType.ReleaseGrabbed:
indexerStats.NumberOfGrabs++; indexerStats.NumberOfGrabs++;
break; break;
default:
break;
} }
} }

Loading…
Cancel
Save