TelemetryEventArguments
The arguments of the telemetry event.
using Polly.Utils;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Text;
namespace Polly.Telemetry
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
[EditorBrowsable(EditorBrowsableState.Never)]
public sealed class TelemetryEventArguments : IEquatable<TelemetryEventArguments>
{
private static readonly ObjectPool<TelemetryEventArguments> Pool = new ObjectPool<TelemetryEventArguments>(() => new TelemetryEventArguments(), delegate(TelemetryEventArguments args) {
args.Source = null;
args.EventName = null;
args.Context = null;
args.Outcome = null;
args.Arguments = null;
});
[CompilerGenerated]
private Type EqualityContract {
[CompilerGenerated]
get {
return typeof(TelemetryEventArguments);
}
}
public ResilienceTelemetrySource Source { get; set; }
public string EventName { get; set; }
public ResilienceContext Context { get; set; }
[System.Runtime.CompilerServices.Nullable(new byte[] {
0,
1
})]
[field: System.Runtime.CompilerServices.Nullable(new byte[] {
0,
1
})]
public Outcome<object>? Outcome {
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
0,
1
})]
get;
[param: System.Runtime.CompilerServices.Nullable(new byte[] {
0,
1
})]
private set;
}
public object Arguments { get; set; }
private TelemetryEventArguments()
{
}
internal static TelemetryEventArguments Get(ResilienceTelemetrySource source, string eventName, ResilienceContext context, [System.Runtime.CompilerServices.Nullable(new byte[] {
0,
1
})] Outcome<object>? outcome, object arguments)
{
TelemetryEventArguments telemetryEventArguments = Pool.Get();
telemetryEventArguments.Source = source;
telemetryEventArguments.EventName = eventName;
telemetryEventArguments.Context = context;
telemetryEventArguments.Outcome = outcome;
telemetryEventArguments.Arguments = arguments;
return telemetryEventArguments;
}
internal static void Return(TelemetryEventArguments args)
{
Pool.Return(args);
}
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("TelemetryEventArguments");
stringBuilder.Append(" { ");
if (PrintMembers(stringBuilder))
stringBuilder.Append(' ');
stringBuilder.Append('}');
return stringBuilder.ToString();
}
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
RuntimeHelpers.EnsureSufficientExecutionStack();
builder.Append("Source = ");
builder.Append(Source);
builder.Append(", EventName = ");
builder.Append((object)EventName);
builder.Append(", Context = ");
builder.Append(Context);
builder.Append(", Outcome = ");
builder.Append(Outcome.ToString());
builder.Append(", Arguments = ");
builder.Append(Arguments);
return true;
}
public static bool operator !=(TelemetryEventArguments left, TelemetryEventArguments right)
{
return !(left == right);
}
public static bool operator ==(TelemetryEventArguments left, TelemetryEventArguments right)
{
if ((object)left != right)
return left?.Equals(right) ?? false;
return true;
}
[CompilerGenerated]
public override int GetHashCode()
{
return ((((EqualityComparer<Type>.Default.GetHashCode(EqualityContract) * -1521134295 + EqualityComparer<ResilienceTelemetrySource>.Default.GetHashCode(Source)) * -1521134295 + EqualityComparer<string>.Default.GetHashCode(EventName)) * -1521134295 + EqualityComparer<ResilienceContext>.Default.GetHashCode(Context)) * -1521134295 + EqualityComparer<Outcome<object>?>.Default.GetHashCode(Outcome)) * -1521134295 + EqualityComparer<object>.Default.GetHashCode(Arguments);
}
[System.Runtime.CompilerServices.NullableContext(2)]
[CompilerGenerated]
public override bool Equals(object obj)
{
return Equals(obj as TelemetryEventArguments);
}
[System.Runtime.CompilerServices.NullableContext(2)]
[CompilerGenerated]
public bool Equals(TelemetryEventArguments other)
{
if ((object)this != other) {
if ((object)other != null && EqualityContract == other.EqualityContract && EqualityComparer<ResilienceTelemetrySource>.Default.Equals(Source, other.Source) && EqualityComparer<string>.Default.Equals(EventName, other.EventName) && EqualityComparer<ResilienceContext>.Default.Equals(Context, other.Context) && EqualityComparer<Outcome<object>?>.Default.Equals(Outcome, other.Outcome))
return EqualityComparer<object>.Default.Equals(Arguments, other.Arguments);
return false;
}
return true;
}
[CompilerGenerated]
private TelemetryEventArguments(TelemetryEventArguments original)
{
Source = original.Source;
EventName = original.EventName;
Context = original.Context;
Outcome = original.Outcome;
Arguments = original.Arguments;
}
}
}