Browse Source

refactor diagnostics

master
Savorboard 6 years ago
parent
commit
e6f3c08af2
13 changed files with 178 additions and 159 deletions
  1. +61
    -83
      src/DotNetCore.CAP/Diagnostics/DiagnosticListenerExtensions.cs
  2. +9
    -6
      src/DotNetCore.CAP/Diagnostics/EventData.Broker.Consume.cs
  3. +10
    -6
      src/DotNetCore.CAP/Diagnostics/EventData.Broker.ConsumeEnd.cs
  4. +11
    -7
      src/DotNetCore.CAP/Diagnostics/EventData.Broker.ConsumeError.cs
  5. +9
    -6
      src/DotNetCore.CAP/Diagnostics/EventData.Broker.Publish.cs
  6. +10
    -6
      src/DotNetCore.CAP/Diagnostics/EventData.Broker.PublishEnd.cs
  7. +11
    -7
      src/DotNetCore.CAP/Diagnostics/EventData.Broker.PublishError.cs
  8. +16
    -10
      src/DotNetCore.CAP/Diagnostics/EventData.Broker.cs
  9. +17
    -14
      src/DotNetCore.CAP/Diagnostics/EventData.SubscriberInvoke.cs
  10. +7
    -4
      src/DotNetCore.CAP/Diagnostics/EventData.SubscriberInvokeEnd.cs
  11. +7
    -4
      src/DotNetCore.CAP/Diagnostics/EventData.SubscriberInvokeError.cs
  12. +5
    -2
      src/DotNetCore.CAP/Diagnostics/EventData.cs
  13. +5
    -4
      src/DotNetCore.CAP/Diagnostics/IErrorEventData.cs

+ 61
- 83
src/DotNetCore.CAP/Diagnostics/DiagnosticListenerExtensions.cs View File

@@ -1,4 +1,7 @@
using System;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;
using System.Diagnostics; using System.Diagnostics;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using DotNetCore.CAP.Internal; using DotNetCore.CAP.Internal;
@@ -23,21 +26,25 @@ namespace DotNetCore.CAP.Diagnostics
public const string CapAfterPublish = CapPrefix + nameof(WritePublishAfter); public const string CapAfterPublish = CapPrefix + nameof(WritePublishAfter);
public const string CapErrorPublish = CapPrefix + nameof(WritePublishError); public const string CapErrorPublish = CapPrefix + nameof(WritePublishError);


public const string CapBeforeReceiveMessageStore = CapPrefix + nameof(WriteReceiveMessageStoreBefore);
public const string CapAfterReceiveMessageStore = CapPrefix + nameof(WriteReceiveMessageStoreAfter);
public const string CapErrorReceiveMessageStore = CapPrefix + nameof(WriteReceiveMessageStoreError);
public const string CapBeforeConsume = CapPrefix + nameof(WriteConsumeBefore);
public const string CapAfterConsume = CapPrefix + nameof(WriteConsumeAfter);
public const string CapErrorConsume = CapPrefix + nameof(WriteConsumeError);

public const string CapBeforeSubscriberInvoke = CapPrefix + nameof(WriteSubscriberInvokeBefore);
public const string CapAfterSubscriberInvoke = CapPrefix + nameof(WriteSubscriberInvokeAfter);
public const string CapErrorSubscriberInvoke = CapPrefix + nameof(WriteSubscriberInvokeError);


public const string CapBeforeConsumerInvoke = CapPrefix + nameof(WriteConsumerInvokeBefore);
public const string CapAfterConsumerInvoke = CapPrefix + nameof(WriteConsumerInvokeAfter);
public const string CapErrorConsumerInvoke = CapPrefix + nameof(WriteConsumerInvokeError);


public static Guid WritePublishMessageStoreBefore(this DiagnosticListener @this,
//============================================================================
//==================== Before publish store message ====================
//============================================================================
public static Guid WritePublishMessageStoreBefore(this DiagnosticListener @this,
CapPublishedMessage message, CapPublishedMessage message,
[CallerMemberName] string operation = "") [CallerMemberName] string operation = "")
{ {
if (@this.IsEnabled(CapBeforePublishMessageStore)) if (@this.IsEnabled(CapBeforePublishMessageStore))
{ {
Guid operationId = Guid.NewGuid();
var operationId = Guid.NewGuid();


@this.Write(CapBeforePublishMessageStore, new @this.Write(CapBeforePublishMessageStore, new
{ {
@@ -49,6 +56,7 @@ namespace DotNetCore.CAP.Diagnostics


return operationId; return operationId;
} }

return Guid.Empty; return Guid.Empty;
} }


@@ -73,7 +81,7 @@ namespace DotNetCore.CAP.Diagnostics


public static void WritePublishMessageStoreError(this DiagnosticListener @this, public static void WritePublishMessageStoreError(this DiagnosticListener @this,
Guid operationId, Guid operationId,
CapPublishedMessage message,
CapPublishedMessage message,
Exception ex, Exception ex,
[CallerMemberName] string operation = "") [CallerMemberName] string operation = "")
{ {
@@ -91,143 +99,112 @@ namespace DotNetCore.CAP.Diagnostics
} }
} }


public static Guid WritePublishBefore(this DiagnosticListener @this,
string topic,
string body,
string brokerAddress,
[CallerMemberName] string operation = "")
//============================================================================
//==================== Publish ====================
//============================================================================
public static void WritePublishBefore(this DiagnosticListener @this, BrokerPublishEventData eventData)
{ {
if (@this.IsEnabled(CapBeforePublish)) if (@this.IsEnabled(CapBeforePublish))
{ {
Guid operationId = Guid.NewGuid();

@this.Write(CapBeforePublish, new BrokerPublishEventData(operationId, operation, brokerAddress, topic, body, DateTimeOffset.UtcNow));

return operationId;
@this.Write(CapBeforePublish, eventData);
} }
return Guid.Empty;
} }


public static void WritePublishAfter(this DiagnosticListener @this,
Guid operationId,
string topic,
string body,
string brokerAddress,
DateTimeOffset startTime,
TimeSpan duration,
[CallerMemberName] string operation = "")
public static void WritePublishAfter(this DiagnosticListener @this, BrokerPublishEndEventData eventData)
{ {
if (@this.IsEnabled(CapAfterPublish)) if (@this.IsEnabled(CapAfterPublish))
{ {
@this.Write(CapAfterPublish, new BrokerPublishEndEventData(operationId, operation, brokerAddress, topic, body, startTime, duration));
@this.Write(CapAfterPublish, eventData);
} }
} }


public static void WritePublishError(this DiagnosticListener @this,
Guid operationId,
string topic,
string body,
string brokerAddress,
Exception ex,
DateTimeOffset startTime,
TimeSpan duration,
[CallerMemberName] string operation = "")
public static void WritePublishError(this DiagnosticListener @this, BrokerPublishErrorEventData eventData)
{ {
if (@this.IsEnabled(CapErrorPublish)) if (@this.IsEnabled(CapErrorPublish))
{ {
@this.Write(CapErrorPublish, new BrokerPublishErrorEventData(operationId, operation, brokerAddress, topic, body, ex, startTime, duration));
@this.Write(CapErrorPublish, eventData);
} }
} }


public static Guid WriteReceiveMessageStoreBefore(this DiagnosticListener @this,
string topic,
string body,
string groupName,
[CallerMemberName] string operation = "")

//============================================================================
//==================== Consume ====================
//============================================================================
public static Guid WriteConsumeBefore(this DiagnosticListener @this, BrokerConsumeEventData eventData)
{ {
if (@this.IsEnabled(CapBeforeReceiveMessageStore))
if (@this.IsEnabled(CapBeforeConsume))
{ {
Guid operationId = Guid.NewGuid();

@this.Write(CapBeforePublish, new BrokerConsumeEventData(operationId, operation, groupName, topic, body, DateTimeOffset.UtcNow));

return operationId;
@this.Write(CapBeforeConsume, eventData);
} }

return Guid.Empty; return Guid.Empty;
} }


public static void WriteReceiveMessageStoreAfter(this DiagnosticListener @this,
Guid operationId,
string topic,
string body,
string groupName,
DateTimeOffset startTime,
TimeSpan duration,
[CallerMemberName] string operation = "")
public static void WriteConsumeAfter(this DiagnosticListener @this, BrokerConsumeEndEventData eventData)
{ {
if (@this.IsEnabled(CapAfterReceiveMessageStore))
if (@this.IsEnabled(CapAfterConsume))
{ {
@this.Write(CapAfterPublish, new BrokerConsumeEndEventData(operationId, operation, groupName, topic, body, startTime, duration));
@this.Write(CapAfterConsume, eventData);
} }
} }


public static void WriteReceiveMessageStoreError(this DiagnosticListener @this,
Guid operationId,
string topic,
string body,
string groupName,
Exception ex,
DateTimeOffset startTime,
TimeSpan duration,
[CallerMemberName] string operation = "")
public static void WriteConsumeError(this DiagnosticListener @this, BrokerConsumeErrorEventData eventData)
{ {
if (@this.IsEnabled(CapErrorReceiveMessageStore))
if (@this.IsEnabled(CapErrorConsume))
{ {
@this.Write(CapErrorPublish, new BrokerConsumeErrorEventData(operationId, operation, groupName, topic, body, ex, startTime, duration));
@this.Write(CapErrorConsume, eventData);
} }
} }


public static Guid WriteConsumerInvokeBefore(this DiagnosticListener @this,

//============================================================================
//==================== SubscriberInvoke ====================
//============================================================================
public static Guid WriteSubscriberInvokeBefore(this DiagnosticListener @this,
ConsumerContext context, ConsumerContext context,
[CallerMemberName] string operation = "") [CallerMemberName] string operation = "")
{ {
if (@this.IsEnabled(CapBeforeConsumerInvoke))
if (@this.IsEnabled(CapBeforeSubscriberInvoke))
{ {
Guid operationId = Guid.NewGuid();
var operationId = Guid.NewGuid();


var methodName = context.ConsumerDescriptor.MethodInfo.Name; var methodName = context.ConsumerDescriptor.MethodInfo.Name;
var subscribeName = context.ConsumerDescriptor.Attribute.Name; var subscribeName = context.ConsumerDescriptor.Attribute.Name;
var subscribeGroup = context.ConsumerDescriptor.Attribute.Group; var subscribeGroup = context.ConsumerDescriptor.Attribute.Group;
var parameterValues = context.DeliverMessage.Content; var parameterValues = context.DeliverMessage.Content;


@this.Write(CapBeforePublish, new SubscriberInvokeEventData(operationId, operation, methodName, subscribeName,
@this.Write(CapBeforePublish, new SubscriberInvokeEventData(operationId, operation, methodName,
subscribeName,
subscribeGroup, parameterValues, DateTimeOffset.UtcNow)); subscribeGroup, parameterValues, DateTimeOffset.UtcNow));


return operationId; return operationId;
} }

return Guid.Empty; return Guid.Empty;
} }


public static void WriteConsumerInvokeAfter(this DiagnosticListener @this,
public static void WriteSubscriberInvokeAfter(this DiagnosticListener @this,
Guid operationId, Guid operationId,
ConsumerContext context, ConsumerContext context,
DateTimeOffset startTime, DateTimeOffset startTime,
TimeSpan duration, TimeSpan duration,
[CallerMemberName] string operation = "") [CallerMemberName] string operation = "")
{ {
if (@this.IsEnabled(CapAfterConsumerInvoke))
if (@this.IsEnabled(CapAfterSubscriberInvoke))
{ {
var methodName = context.ConsumerDescriptor.MethodInfo.Name; var methodName = context.ConsumerDescriptor.MethodInfo.Name;
var subscribeName = context.ConsumerDescriptor.Attribute.Name; var subscribeName = context.ConsumerDescriptor.Attribute.Name;
var subscribeGroup = context.ConsumerDescriptor.Attribute.Group; var subscribeGroup = context.ConsumerDescriptor.Attribute.Group;
var parameterValues = context.DeliverMessage.Content; var parameterValues = context.DeliverMessage.Content;


@this.Write(CapBeforePublish, new SubscriberInvokeEndEventData(operationId, operation, methodName, subscribeName,
@this.Write(CapBeforePublish, new SubscriberInvokeEndEventData(operationId, operation, methodName,
subscribeName,
subscribeGroup, parameterValues, startTime, duration)); subscribeGroup, parameterValues, startTime, duration));
} }
} }


public static void WriteConsumerInvokeError(this DiagnosticListener @this,
public static void WriteSubscriberInvokeError(this DiagnosticListener @this,
Guid operationId, Guid operationId,
ConsumerContext context, ConsumerContext context,
Exception ex, Exception ex,
@@ -235,16 +212,17 @@ namespace DotNetCore.CAP.Diagnostics
TimeSpan duration, TimeSpan duration,
[CallerMemberName] string operation = "") [CallerMemberName] string operation = "")
{ {
if (@this.IsEnabled(CapErrorConsumerInvoke))
if (@this.IsEnabled(CapErrorSubscriberInvoke))
{ {
var methodName = context.ConsumerDescriptor.MethodInfo.Name; var methodName = context.ConsumerDescriptor.MethodInfo.Name;
var subscribeName = context.ConsumerDescriptor.Attribute.Name; var subscribeName = context.ConsumerDescriptor.Attribute.Name;
var subscribeGroup = context.ConsumerDescriptor.Attribute.Group; var subscribeGroup = context.ConsumerDescriptor.Attribute.Group;
var parameterValues = context.DeliverMessage.Content; var parameterValues = context.DeliverMessage.Content;


@this.Write(CapBeforePublish, new SubscriberInvokeErrorEventData(operationId, operation, methodName, subscribeName,
@this.Write(CapBeforePublish, new SubscriberInvokeErrorEventData(operationId, operation, methodName,
subscribeName,
subscribeGroup, parameterValues, ex, startTime, duration)); subscribeGroup, parameterValues, ex, startTime, duration));
} }
} }
} }
}
}

+ 9
- 6
src/DotNetCore.CAP/Diagnostics/EventData.Broker.Consume.cs View File

@@ -1,16 +1,19 @@
using System;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;


namespace DotNetCore.CAP.Diagnostics namespace DotNetCore.CAP.Diagnostics
{ {
public class BrokerConsumeEventData : BrokerEventData public class BrokerConsumeEventData : BrokerEventData
{ {
public DateTimeOffset StartTime { get; }

public BrokerConsumeEventData(Guid operationId, string operation, string groupName,
public BrokerConsumeEventData(Guid operationId, string operation, string brokerAddress,
string brokerTopicName, string brokerTopicBody, DateTimeOffset startTime) string brokerTopicName, string brokerTopicBody, DateTimeOffset startTime)
: base(operationId, operation, groupName, brokerTopicName, brokerTopicBody)
: base(operationId, operation, brokerAddress, brokerTopicName, brokerTopicBody)
{ {
StartTime = startTime; StartTime = startTime;
} }

public DateTimeOffset StartTime { get; }
} }
}
}

+ 10
- 6
src/DotNetCore.CAP/Diagnostics/EventData.Broker.ConsumeEnd.cs View File

@@ -1,16 +1,20 @@
using System;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;


namespace DotNetCore.CAP.Diagnostics namespace DotNetCore.CAP.Diagnostics
{ {
public class BrokerConsumeEndEventData : BrokerConsumeEventData public class BrokerConsumeEndEventData : BrokerConsumeEventData
{ {
public TimeSpan Duration { get; }

public BrokerConsumeEndEventData(Guid operationId, string operation, string groupName, string brokerTopicName,
public BrokerConsumeEndEventData(Guid operationId, string operation, string brokerAddress,
string brokerTopicName,
string brokerTopicBody, DateTimeOffset startTime, TimeSpan duration) string brokerTopicBody, DateTimeOffset startTime, TimeSpan duration)
: base(operationId, operation, groupName, brokerTopicName, brokerTopicBody, startTime)
: base(operationId, operation, brokerAddress, brokerTopicName, brokerTopicBody, startTime)
{ {
Duration = duration; Duration = duration;
} }

public TimeSpan Duration { get; }
} }
}
}

+ 11
- 7
src/DotNetCore.CAP/Diagnostics/EventData.Broker.ConsumeError.cs View File

@@ -1,16 +1,20 @@
using System;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;


namespace DotNetCore.CAP.Diagnostics namespace DotNetCore.CAP.Diagnostics
{ {
public class BrokerConsumeErrorEventData : BrokerConsumeEndEventData, IErrorEventData public class BrokerConsumeErrorEventData : BrokerConsumeEndEventData, IErrorEventData
{ {
public Exception Exception { get; }

public BrokerConsumeErrorEventData(Guid operationId, string operation, string groupName,
string brokerTopicName, string brokerTopicBody, Exception exception, DateTimeOffset startTime, TimeSpan duration)
: base(operationId, operation, groupName, brokerTopicName, brokerTopicBody, startTime, duration)
public BrokerConsumeErrorEventData(Guid operationId, string operation, string brokerAddress,
string brokerTopicName, string brokerTopicBody, Exception exception, DateTimeOffset startTime,
TimeSpan duration)
: base(operationId, operation, brokerAddress, brokerTopicName, brokerTopicBody, startTime, duration)
{ {
Exception = exception; Exception = exception;
} }

public Exception Exception { get; }
} }
}
}

+ 9
- 6
src/DotNetCore.CAP/Diagnostics/EventData.Broker.Publish.cs View File

@@ -1,16 +1,19 @@
using System;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;


namespace DotNetCore.CAP.Diagnostics namespace DotNetCore.CAP.Diagnostics
{ {
public class BrokerPublishEventData : BrokerEventData public class BrokerPublishEventData : BrokerEventData
{ {
public DateTimeOffset StartTime { get; }

public BrokerPublishEventData(Guid operationId, string operation, string groupName,
public BrokerPublishEventData(Guid operationId, string operation, string brokerAddress,
string brokerTopicName, string brokerTopicBody, DateTimeOffset startTime) string brokerTopicName, string brokerTopicBody, DateTimeOffset startTime)
: base(operationId, operation, groupName, brokerTopicName, brokerTopicBody)
: base(operationId, operation, brokerAddress, brokerTopicName, brokerTopicBody)
{ {
StartTime = startTime; StartTime = startTime;
} }

public DateTimeOffset StartTime { get; }
} }
}
}

+ 10
- 6
src/DotNetCore.CAP/Diagnostics/EventData.Broker.PublishEnd.cs View File

@@ -1,16 +1,20 @@
using System;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;


namespace DotNetCore.CAP.Diagnostics namespace DotNetCore.CAP.Diagnostics
{ {
public class BrokerPublishEndEventData : BrokerPublishEventData public class BrokerPublishEndEventData : BrokerPublishEventData
{ {
public TimeSpan Duration { get; }

public BrokerPublishEndEventData(Guid operationId, string operation, string groupName, string brokerTopicName,
public BrokerPublishEndEventData(Guid operationId, string operation, string brokerAddress,
string brokerTopicName,
string brokerTopicBody, DateTimeOffset startTime, TimeSpan duration) string brokerTopicBody, DateTimeOffset startTime, TimeSpan duration)
: base(operationId, operation, groupName, brokerTopicName, brokerTopicBody, startTime)
: base(operationId, operation, brokerAddress, brokerTopicName, brokerTopicBody, startTime)
{ {
Duration = duration; Duration = duration;
} }

public TimeSpan Duration { get; }
} }
}
}

+ 11
- 7
src/DotNetCore.CAP/Diagnostics/EventData.Broker.PublishError.cs View File

@@ -1,16 +1,20 @@
using System;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;


namespace DotNetCore.CAP.Diagnostics namespace DotNetCore.CAP.Diagnostics
{ {
public class BrokerPublishErrorEventData : BrokerPublishEndEventData, IErrorEventData public class BrokerPublishErrorEventData : BrokerPublishEndEventData, IErrorEventData
{ {
public Exception Exception { get; }

public BrokerPublishErrorEventData(Guid operationId, string operation, string groupName,
string brokerTopicName, string brokerTopicBody, Exception exception, DateTimeOffset startTime, TimeSpan duration)
: base(operationId, operation, groupName, brokerTopicName, brokerTopicBody, startTime, duration)
public BrokerPublishErrorEventData(Guid operationId, string operation, string brokerAddress,
string brokerTopicName, string brokerTopicBody, Exception exception, DateTimeOffset startTime,
TimeSpan duration)
: base(operationId, operation, brokerAddress, brokerTopicName, brokerTopicBody, startTime, duration)
{ {
Exception = exception; Exception = exception;
} }

public Exception Exception { get; }
} }
}
}

+ 16
- 10
src/DotNetCore.CAP/Diagnostics/EventData.Broker.cs View File

@@ -1,22 +1,28 @@
using System;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;


namespace DotNetCore.CAP.Diagnostics namespace DotNetCore.CAP.Diagnostics
{ {
public class BrokerEventData : EventData public class BrokerEventData : EventData
{ {
public string GroupName { get; set; }

public string BrokerTopicBody { get; set; }

public string BrokerTopicName { get; set; }

public BrokerEventData(Guid operationId, string operation, string groupName,
public BrokerEventData(Guid operationId, string operation, string brokerAddress,
string brokerTopicName, string brokerTopicBody) string brokerTopicName, string brokerTopicBody)
: base(operationId, operation) : base(operationId, operation)
{ {
GroupName = groupName;
Headers = new TracingHeaders();
BrokerAddress = brokerAddress;
BrokerTopicName = brokerTopicName; BrokerTopicName = brokerTopicName;
BrokerTopicBody = brokerTopicBody; BrokerTopicBody = brokerTopicBody;
} }

public TracingHeaders Headers { get; set; }

public string BrokerAddress { get; set; }

public string BrokerTopicBody { get; set; }

public string BrokerTopicName { get; set; }
} }
}
}

+ 17
- 14
src/DotNetCore.CAP/Diagnostics/EventData.SubscriberInvoke.cs View File

@@ -1,25 +1,18 @@
using System;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;


namespace DotNetCore.CAP.Diagnostics namespace DotNetCore.CAP.Diagnostics
{ {
public class SubscriberInvokeEventData : EventData public class SubscriberInvokeEventData : EventData
{ {
public DateTimeOffset StartTime { get; }

public string MethodName { get; set; }

public string SubscribeName { get; set; }

public string SubscribeGroup { get; set; }

public string ParameterValues { get; set; }

public SubscriberInvokeEventData(Guid operationId, public SubscriberInvokeEventData(Guid operationId,
string operation, string operation,
string methodName,
string methodName,
string subscribeName, string subscribeName,
string subscribeGroup, string subscribeGroup,
string parameterValues,
string parameterValues,
DateTimeOffset startTime) DateTimeOffset startTime)
: base(operationId, operation) : base(operationId, operation)
{ {
@@ -29,5 +22,15 @@ namespace DotNetCore.CAP.Diagnostics
ParameterValues = parameterValues; ParameterValues = parameterValues;
StartTime = startTime; StartTime = startTime;
} }

public DateTimeOffset StartTime { get; }

public string MethodName { get; set; }

public string SubscribeName { get; set; }

public string SubscribeGroup { get; set; }

public string ParameterValues { get; set; }
} }
}
}

+ 7
- 4
src/DotNetCore.CAP/Diagnostics/EventData.SubscriberInvokeEnd.cs View File

@@ -1,11 +1,12 @@
using System;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;


namespace DotNetCore.CAP.Diagnostics namespace DotNetCore.CAP.Diagnostics
{ {
public class SubscriberInvokeEndEventData : SubscriberInvokeEventData public class SubscriberInvokeEndEventData : SubscriberInvokeEventData
{ {
public TimeSpan Duration { get; }

public SubscriberInvokeEndEventData(Guid operationId, string operation, public SubscriberInvokeEndEventData(Guid operationId, string operation,
string methodName, string subscribeName, string subscribeGroup, string methodName, string subscribeName, string subscribeGroup,
string parameterValues, DateTimeOffset startTime, TimeSpan duration) string parameterValues, DateTimeOffset startTime, TimeSpan duration)
@@ -13,5 +14,7 @@ namespace DotNetCore.CAP.Diagnostics
{ {
Duration = duration; Duration = duration;
} }

public TimeSpan Duration { get; }
} }
}
}

+ 7
- 4
src/DotNetCore.CAP/Diagnostics/EventData.SubscriberInvokeError.cs View File

@@ -1,11 +1,12 @@
using System;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;


namespace DotNetCore.CAP.Diagnostics namespace DotNetCore.CAP.Diagnostics
{ {
public class SubscriberInvokeErrorEventData : SubscriberInvokeEndEventData, IErrorEventData public class SubscriberInvokeErrorEventData : SubscriberInvokeEndEventData, IErrorEventData
{ {
public Exception Exception { get; }

public SubscriberInvokeErrorEventData(Guid operationId, string operation, string methodName, public SubscriberInvokeErrorEventData(Guid operationId, string operation, string methodName,
string subscribeName, string subscribeGroup, string parameterValues, Exception exception, string subscribeName, string subscribeGroup, string parameterValues, Exception exception,
DateTimeOffset startTime, TimeSpan duration) : base(operationId, operation, methodName, subscribeName, DateTimeOffset startTime, TimeSpan duration) : base(operationId, operation, methodName, subscribeName,
@@ -13,5 +14,7 @@ namespace DotNetCore.CAP.Diagnostics
{ {
Exception = exception; Exception = exception;
} }

public Exception Exception { get; }
} }
}
}

+ 5
- 2
src/DotNetCore.CAP/Diagnostics/EventData.cs View File

@@ -1,4 +1,7 @@
using System;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;


namespace DotNetCore.CAP.Diagnostics namespace DotNetCore.CAP.Diagnostics
{ {
@@ -14,4 +17,4 @@ namespace DotNetCore.CAP.Diagnostics


public string Operation { get; set; } public string Operation { get; set; }
} }
}
}

+ 5
- 4
src/DotNetCore.CAP/Diagnostics/IErrorEventData.cs View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text;
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;


namespace DotNetCore.CAP.Diagnostics namespace DotNetCore.CAP.Diagnostics
{ {
@@ -8,4 +9,4 @@ namespace DotNetCore.CAP.Diagnostics
{ {
Exception Exception { get; } Exception Exception { get; }
} }
}
}

Loading…
Cancel
Save