//------------------------------------------------------------------------------ // // 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; } } }