//------------------------------------------------------------------------------
//
// 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 Amazon.AwsToolkit.Telemetry.Events.Tests.Generated
{
/// Contains methods to record telemetry events
public static partial class ToolkitTelemetryEvent
{
/// Records Telemetry Event:
/// Sample event that uses a type from this definition and a type from the common definitions
public static void RecordSampleExtendedInvoke(this ITelemetryLogger telemetryLogger, SampleExtendedInvoke 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 = "sample_extendedInvoke";
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);
if (payload.Runtime.HasValue)
{
datum.AddMetadata("runtime", payload.Runtime.Value);
}
if (payload.ExtendedRuntime.HasValue)
{
datum.AddMetadata("extendedRuntime", payload.ExtendedRuntime.Value);
}
datum.AddMetadata("result", payload.Result);
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:
/// Sample event that uses types from this definition only
public static void RecordSampleReleaseBees(this ITelemetryLogger telemetryLogger, SampleReleaseBees 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 = "sample_releaseBees";
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.AddMetadata("bees", payload.Bees);
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:
/// Sample event that uses a unit
public static void RecordSampleTestRun(this ITelemetryLogger telemetryLogger, SampleTestRun 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 = "sample_testRun";
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:
/// Sample event that is passive
public static void RecordSamplePassive(this ITelemetryLogger telemetryLogger, SamplePassive 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 = "sample_passive";
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");
}
}
}
/// Metric field type
/// Sample Extended runtime
public struct ExtendedRuntime
{
private string _value;
/// dirt
public static readonly ExtendedRuntime Dirt = new ExtendedRuntime("dirt");
/// rascal
public static readonly ExtendedRuntime Rascal = new ExtendedRuntime("rascal");
public ExtendedRuntime(string value)
{
this._value = value;
}
public override string ToString()
{
return this._value;
}
}
/// Sample event that uses a type from this definition and a type from the common definitions
public sealed class SampleExtendedInvoke : BaseTelemetryEvent
{
/// Optional - The lambda runtime
public Runtime? Runtime;
/// Optional - Sample Extended runtime
public ExtendedRuntime? ExtendedRuntime;
/// The result of the operation
public Result Result;
public SampleExtendedInvoke()
{
this.Passive = false;
}
}
/// Sample event that uses types from this definition only
public sealed class SampleReleaseBees : BaseTelemetryEvent
{
/// Number of bees
public int Bees;
public SampleReleaseBees()
{
this.Passive = false;
}
}
/// Sample event that uses a unit
public sealed class SampleTestRun : BaseTelemetryEvent
{
public SampleTestRun()
{
this.Passive = false;
}
}
/// Sample event that is passive
public sealed class SamplePassive : BaseTelemetryEvent
{
public SamplePassive()
{
this.Passive = true;
}
}
}