//------------------------------------------------------------------------------
//
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//
//------------------------------------------------------------------------------
using Amazon.AwsToolkit.Telemetry.Events.Core;
using Amazon.AwsToolkit.Telemetry.Events.Generated;
using System;
using System.Collections.Generic;
/// --------------------------------------------------------------------------------
/// This file is generated from https://github.com/aws/aws-toolkit-common/tree/main/telemetry
/// --------------------------------------------------------------------------------
namespace Test
{
/// Contains methods to record telemetry events
public static partial class ToolkitTelemetryEvent
{
/// Records Telemetry Event:
/// Emits milliseconds
public static void RecordEmitSomeIntMs(this ITelemetryLogger telemetryLogger, EmitSomeIntMs payload, Func transformDatum = null)
{
try
{
var metrics = new Metrics();
if (payload.CreatedOn.HasValue)
{
metrics.CreatedOn = payload.CreatedOn.Value;
}
else
{
metrics.CreatedOn = System.DateTime.Now;
}
metrics.Data = new List();
var datum = new MetricDatum();
datum.MetricName = "emit_someIntMs";
datum.Unit = Unit.Milliseconds;
datum.Passive = payload.Passive;
if (payload.Value.HasValue)
{
datum.Value = payload.Value.Value;
}
else
{
datum.Value = 1;
}
datum.AddMetadata("awsAccount", payload.AwsAccount);
datum.AddMetadata("awsRegion", payload.AwsRegion);
datum.AddMetadata("reason", payload.Reason);
datum.AddMetadata("errorCode", payload.ErrorCode);
datum.AddMetadata("causedBy", payload.CausedBy);
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
datum.AddMetadata("requestId", payload.RequestId);
datum.AddMetadata("requestServiceType", payload.RequestServiceType);
if (payload.Duration.HasValue)
{
datum.AddMetadata("duration", payload.Duration.Value);
}
datum.AddMetadata("locale", payload.Locale);
datum = datum.InvokeTransform(transformDatum);
metrics.Data.Add(datum);
telemetryLogger.Record(metrics);
}
catch (System.Exception e)
{
telemetryLogger.Logger.Error("Error recording telemetry event", e);
System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry");
}
}
/// Records Telemetry Event:
/// Emits something without a unit defined
public static void RecordEmitNoUnit(this ITelemetryLogger telemetryLogger, EmitNoUnit payload, Func transformDatum = null)
{
try
{
var metrics = new Metrics();
if (payload.CreatedOn.HasValue)
{
metrics.CreatedOn = payload.CreatedOn.Value;
}
else
{
metrics.CreatedOn = System.DateTime.Now;
}
metrics.Data = new List();
var datum = new MetricDatum();
datum.MetricName = "emit_noUnit";
datum.Unit = Unit.None;
datum.Passive = payload.Passive;
if (payload.Value.HasValue)
{
datum.Value = payload.Value.Value;
}
else
{
datum.Value = 1;
}
datum.AddMetadata("awsAccount", payload.AwsAccount);
datum.AddMetadata("awsRegion", payload.AwsRegion);
datum.AddMetadata("reason", payload.Reason);
datum.AddMetadata("errorCode", payload.ErrorCode);
datum.AddMetadata("causedBy", payload.CausedBy);
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
datum.AddMetadata("requestId", payload.RequestId);
datum.AddMetadata("requestServiceType", payload.RequestServiceType);
if (payload.Duration.HasValue)
{
datum.AddMetadata("duration", payload.Duration.Value);
}
datum.AddMetadata("locale", payload.Locale);
datum = datum.InvokeTransform(transformDatum);
metrics.Data.Add(datum);
telemetryLogger.Record(metrics);
}
catch (System.Exception e)
{
telemetryLogger.Logger.Error("Error recording telemetry event", e);
System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry");
}
}
/// Records Telemetry Event:
/// Emits a bunch of metadata varieties
public static void RecordEmitSomeBigBlob(this ITelemetryLogger telemetryLogger, EmitSomeBigBlob payload, Func transformDatum = null)
{
try
{
var metrics = new Metrics();
if (payload.CreatedOn.HasValue)
{
metrics.CreatedOn = payload.CreatedOn.Value;
}
else
{
metrics.CreatedOn = System.DateTime.Now;
}
metrics.Data = new List();
var datum = new MetricDatum();
datum.MetricName = "emit_someBigBlob";
datum.Unit = Unit.Count;
datum.Passive = payload.Passive;
if (payload.Value.HasValue)
{
datum.Value = payload.Value.Value;
}
else
{
datum.Value = 1;
}
datum.AddMetadata("awsAccount", payload.AwsAccount);
datum.AddMetadata("awsRegion", payload.AwsRegion);
datum.AddMetadata("reason", payload.Reason);
datum.AddMetadata("errorCode", payload.ErrorCode);
datum.AddMetadata("causedBy", payload.CausedBy);
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
datum.AddMetadata("requestId", payload.RequestId);
datum.AddMetadata("requestServiceType", payload.RequestServiceType);
if (payload.Duration.HasValue)
{
datum.AddMetadata("duration", payload.Duration.Value);
}
datum.AddMetadata("locale", payload.Locale);
datum.AddMetadata("attempts", payload.Attempts);
datum.AddMetadata("enabled", payload.Enabled);
datum.AddMetadata("name", payload.Name);
datum.AddMetadata("runtime", payload.Runtime);
datum = datum.InvokeTransform(transformDatum);
metrics.Data.Add(datum);
telemetryLogger.Record(metrics);
}
catch (System.Exception e)
{
telemetryLogger.Logger.Error("Error recording telemetry event", e);
System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry");
}
}
/// Records Telemetry Event:
/// Emits a bunch of metadata varieties - required not set
public static void RecordEmitSomeBigBlob2(this ITelemetryLogger telemetryLogger, EmitSomeBigBlob2 payload, Func transformDatum = null)
{
try
{
var metrics = new Metrics();
if (payload.CreatedOn.HasValue)
{
metrics.CreatedOn = payload.CreatedOn.Value;
}
else
{
metrics.CreatedOn = System.DateTime.Now;
}
metrics.Data = new List();
var datum = new MetricDatum();
datum.MetricName = "emit_someBigBlob2";
datum.Unit = Unit.Count;
datum.Passive = payload.Passive;
if (payload.Value.HasValue)
{
datum.Value = payload.Value.Value;
}
else
{
datum.Value = 1;
}
datum.AddMetadata("awsAccount", payload.AwsAccount);
datum.AddMetadata("awsRegion", payload.AwsRegion);
datum.AddMetadata("reason", payload.Reason);
datum.AddMetadata("errorCode", payload.ErrorCode);
datum.AddMetadata("causedBy", payload.CausedBy);
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
datum.AddMetadata("requestId", payload.RequestId);
datum.AddMetadata("requestServiceType", payload.RequestServiceType);
if (payload.Duration.HasValue)
{
datum.AddMetadata("duration", payload.Duration.Value);
}
datum.AddMetadata("locale", payload.Locale);
datum.AddMetadata("attempts", payload.Attempts);
datum.AddMetadata("enabled", payload.Enabled);
datum.AddMetadata("name", payload.Name);
datum.AddMetadata("runtime", payload.Runtime);
datum = datum.InvokeTransform(transformDatum);
metrics.Data.Add(datum);
telemetryLogger.Record(metrics);
}
catch (System.Exception e)
{
telemetryLogger.Logger.Error("Error recording telemetry event", e);
System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry");
}
}
/// Records Telemetry Event:
/// Emits a bunch of optional metadata varieties
public static void RecordEmitSomeBigOptionalBlob(this ITelemetryLogger telemetryLogger, EmitSomeBigOptionalBlob payload, Func transformDatum = null)
{
try
{
var metrics = new Metrics();
if (payload.CreatedOn.HasValue)
{
metrics.CreatedOn = payload.CreatedOn.Value;
}
else
{
metrics.CreatedOn = System.DateTime.Now;
}
metrics.Data = new List();
var datum = new MetricDatum();
datum.MetricName = "emit_someBigOptionalBlob";
datum.Unit = Unit.Count;
datum.Passive = payload.Passive;
if (payload.Value.HasValue)
{
datum.Value = payload.Value.Value;
}
else
{
datum.Value = 1;
}
datum.AddMetadata("awsAccount", payload.AwsAccount);
datum.AddMetadata("awsRegion", payload.AwsRegion);
datum.AddMetadata("reason", payload.Reason);
datum.AddMetadata("errorCode", payload.ErrorCode);
datum.AddMetadata("causedBy", payload.CausedBy);
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
datum.AddMetadata("requestId", payload.RequestId);
datum.AddMetadata("requestServiceType", payload.RequestServiceType);
if (payload.Duration.HasValue)
{
datum.AddMetadata("duration", payload.Duration.Value);
}
datum.AddMetadata("locale", payload.Locale);
if (payload.Attempts.HasValue)
{
datum.AddMetadata("attempts", payload.Attempts.Value);
}
if (payload.Enabled.HasValue)
{
datum.AddMetadata("enabled", payload.Enabled.Value);
}
datum.AddMetadata("name", payload.Name);
if (payload.Runtime.HasValue)
{
datum.AddMetadata("runtime", payload.Runtime.Value);
}
datum = datum.InvokeTransform(transformDatum);
metrics.Data.Add(datum);
telemetryLogger.Record(metrics);
}
catch (System.Exception e)
{
telemetryLogger.Logger.Error("Error recording telemetry event", e);
System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry");
}
}
/// Records Telemetry Event:
/// Emit a passive metric
public static void RecordEmitPassive(this ITelemetryLogger telemetryLogger, EmitPassive payload, Func transformDatum = null)
{
try
{
var metrics = new Metrics();
if (payload.CreatedOn.HasValue)
{
metrics.CreatedOn = payload.CreatedOn.Value;
}
else
{
metrics.CreatedOn = System.DateTime.Now;
}
metrics.Data = new List();
var datum = new MetricDatum();
datum.MetricName = "emit_passive";
datum.Unit = Unit.Count;
datum.Passive = payload.Passive;
if (payload.Value.HasValue)
{
datum.Value = payload.Value.Value;
}
else
{
datum.Value = 1;
}
datum.AddMetadata("awsAccount", payload.AwsAccount);
datum.AddMetadata("awsRegion", payload.AwsRegion);
datum.AddMetadata("reason", payload.Reason);
datum.AddMetadata("errorCode", payload.ErrorCode);
datum.AddMetadata("causedBy", payload.CausedBy);
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
datum.AddMetadata("requestId", payload.RequestId);
datum.AddMetadata("requestServiceType", payload.RequestServiceType);
if (payload.Duration.HasValue)
{
datum.AddMetadata("duration", payload.Duration.Value);
}
datum.AddMetadata("locale", payload.Locale);
datum = datum.InvokeTransform(transformDatum);
metrics.Data.Add(datum);
telemetryLogger.Record(metrics);
}
catch (System.Exception e)
{
telemetryLogger.Logger.Error("Error recording telemetry event", e);
System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry");
}
}
}
/// Emits milliseconds
public sealed class EmitSomeIntMs : BaseTelemetryEvent
{
public EmitSomeIntMs()
{
this.Passive = false;
}
}
/// Emits something without a unit defined
public sealed class EmitNoUnit : BaseTelemetryEvent
{
public EmitNoUnit()
{
this.Passive = false;
}
}
/// Emits a bunch of metadata varieties
public sealed class EmitSomeBigBlob : BaseTelemetryEvent
{
/// A generic number of attempts
public int Attempts;
/// True if turned on, false if turned off
public bool Enabled;
/// A generic name metadata
public string Name;
/// The lambda runtime
public Runtime Runtime;
public EmitSomeBigBlob()
{
this.Passive = false;
}
}
/// Emits a bunch of metadata varieties - required not set
public sealed class EmitSomeBigBlob2 : BaseTelemetryEvent
{
/// A generic number of attempts
public int Attempts;
/// True if turned on, false if turned off
public bool Enabled;
/// A generic name metadata
public string Name;
/// The lambda runtime
public Runtime Runtime;
public EmitSomeBigBlob2()
{
this.Passive = false;
}
}
/// Emits a bunch of optional metadata varieties
public sealed class EmitSomeBigOptionalBlob : BaseTelemetryEvent
{
/// Optional - A generic number of attempts
public System.Int32? Attempts;
/// Optional - True if turned on, false if turned off
public System.Boolean? Enabled;
/// Optional - A generic name metadata
public string Name;
/// Optional - The lambda runtime
public Runtime? Runtime;
public EmitSomeBigOptionalBlob()
{
this.Passive = false;
}
}
/// Emit a passive metric
public sealed class EmitPassive : BaseTelemetryEvent
{
public EmitPassive()
{
this.Passive = true;
}
}
}