Skip to content

Commit 6282eb1

Browse files
committed
Merge remote-tracking branch 'refs/remotes/origin/master' into deduplication
2 parents aa7284c + ec6c792 commit 6282eb1

File tree

4 files changed

+12
-15
lines changed

4 files changed

+12
-15
lines changed

Source/Shared/Models/Client/Data/Method.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public override int GetHashCode() {
3939
hashCode = (hashCode * 397) ^ (DeclaringNamespace == null ? 0 : DeclaringNamespace.GetHashCode());
4040
hashCode = (hashCode * 397) ^ (DeclaringType == null ? 0 : DeclaringType.GetHashCode());
4141
hashCode = (hashCode * 397) ^ (Name == null ? 0 : Name.GetHashCode());
42-
hashCode = (hashCode * 397) ^ (Data == null ? 0 : Data.GetCollectionHashCode(new[] { "ILOffset" }));
42+
hashCode = (hashCode * 397) ^ (Data == null ? 0 : Data.GetCollectionHashCode(new[] { "ILOffset", "NativeOffset" }));
4343
hashCode = (hashCode * 397) ^ (GenericArguments == null ? 0 : GenericArguments.GetCollectionHashCode());
4444
hashCode = (hashCode * 397) ^ (Parameters == null ? 0 : Parameters.GetCollectionHashCode());
4545
return hashCode;

Source/Shared/Models/Client/Data/StackFrame.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public class StackFrame : Method {
77
public int Column { get; set; }
88

99
protected bool Equals(StackFrame other) {
10-
return base.Equals(other) && string.Equals(FileName, other.FileName) && LineNumber == other.LineNumber && Column == other.Column;
10+
return base.Equals(other) && string.Equals(FileName, other.FileName);
1111
}
1212

1313
public override bool Equals(object obj) {
@@ -24,8 +24,6 @@ public override int GetHashCode() {
2424
unchecked {
2525
int hashCode = base.GetHashCode();
2626
hashCode = (hashCode * 397) ^ (FileName == null ? 0 : FileName.GetHashCode());
27-
hashCode = (hashCode * 397) ^ LineNumber;
28-
hashCode = (hashCode * 397) ^ Column;
2927
return hashCode;
3028
}
3129
}

Source/Shared/Plugins/Default/1010_DuplicateCheckerPlugin.cs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
using System;
2-
using System.Collections.Concurrent;
3-
using System.Linq;
42
using System.Threading;
53
using Exceptionless.Logging;
64
using Exceptionless.Dependency;
5+
using System.Collections.Generic;
6+
using System.Linq;
77

88
namespace Exceptionless.Plugins.Default {
99
[Priority(1010)]
1010
public class DuplicateCheckerPlugin : IEventPlugin, IDisposable {
11-
private readonly ConcurrentQueue<Tuple<int, DateTimeOffset>> _processed = new ConcurrentQueue<Tuple<int, DateTimeOffset>>();
12-
private readonly ConcurrentQueue<MergedEvent> _mergedEvents = new ConcurrentQueue<MergedEvent>();
11+
private readonly Queue<Tuple<int, DateTimeOffset>> _processed = new Queue<Tuple<int, DateTimeOffset>>();
12+
private readonly Queue<MergedEvent> _mergedEvents = new Queue<MergedEvent>();
1313
private readonly object _lock = new object();
1414
private readonly TimeSpan _interval;
1515
private Timer _timer;
@@ -55,10 +55,9 @@ public void Run(EventPluginContext context) {
5555

5656
context.Log.FormattedInfo(typeof(DuplicateCheckerPlugin), String.Concat("Enqueueing event with hash:", hashCode, " to cache."));
5757
_processed.Enqueue(Tuple.Create(hashCode, DateTimeOffset.UtcNow));
58-
59-
Tuple<int, DateTimeOffset> temp;
58+
6059
while (_processed.Count > 50)
61-
_processed.TryDequeue(out temp);
60+
_processed.Dequeue();
6261
}
6362
}
6463

@@ -68,9 +67,8 @@ private void OnTimer(object state) {
6867

6968
private void EnqueueMergedEvents() {
7069
lock (_lock) {
71-
MergedEvent mergedEvent;
72-
while (_mergedEvents.TryDequeue(out mergedEvent))
73-
mergedEvent.Enqueue();
70+
while (_mergedEvents.Count > 0)
71+
_mergedEvents.Dequeue().Resubmit();
7472
}
7573
}
7674

@@ -100,7 +98,7 @@ public void IncrementCount(int value) {
10098
Interlocked.Add(ref _count, value);
10199
}
102100

103-
public void Enqueue() {
101+
public void Resubmit() {
104102
_context.Event.Count = _count;
105103
_context.Resolver.GetEventQueue().Enqueue(_context.Event);
106104
}

appveyor.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
version: 3.4.{build}
22
clone_depth: 2
33
configuration: Release
4+
os: Previous Visual Studio 2015
45

56
#environment:
67
# VERSION_SUFFIX: -preview

0 commit comments

Comments
 (0)