/// 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) { try { var metrics = new Metrics(); if (payload.CreatedOn.HasValue) { metrics.CreatedOn = payload.CreatedOn.Value; } else { metrics.CreatedOn = System.DateTime.Now; } metrics.Data = new List <MetricDatum>(); 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); 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); 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"); } }
/// <summary> /// Add metadata to a metric datum, only if the value is non-blank (object overload) /// </summary> public static void AddMetadata(this MetricDatum metricDatum, string key, object value) { if (value == null) { return; } metricDatum.AddMetadata(key, value.ToString()); }
/// <summary> /// Add metadata to a metric datum, only if the value is non-blank (bool overload) /// </summary> public static void AddMetadata(this MetricDatum metricDatum, string key, bool value) { string valueStr = "false"; if (value) { valueStr = "true"; } metricDatum.AddMetadata(key, valueStr); }
public void AddMetadata_NonBlankEntries() { _sut.AddMetadata(Key, "hello"); Assert.Equal("hello", _sut.Metadata[Key]); _sut.AddMetadata(Key, 123); Assert.Equal("123", _sut.Metadata[Key]); _sut.AddMetadata(Key, 123.456); Assert.Equal("123.456", _sut.Metadata[Key]); _sut.AddMetadata(Key, 88.88d); Assert.Equal("88.88", _sut.Metadata[Key]); _sut.AddMetadata(Key, true); Assert.Equal("true", _sut.Metadata[Key]); _sut.AddMetadata(Key, false); Assert.Equal("false", _sut.Metadata[Key]); }
/// Records Telemetry Event: /// Sample event that uses types from this definition only public static void RecordSampleReleaseBees(this ITelemetryLogger telemetryLogger, SampleReleaseBees payload) { try { var metrics = new Metrics(); if (payload.CreatedOn.HasValue) { metrics.CreatedOn = payload.CreatedOn.Value; } else { metrics.CreatedOn = System.DateTime.Now; } metrics.Data = new List <MetricDatum>(); var datum = new MetricDatum(); datum.MetricName = "sample_releaseBees"; datum.Unit = Unit.None; datum.Passive = false; if (payload.Value.HasValue) { datum.Value = payload.Value.Value; } else { datum.Value = 1; } datum.AddMetadata("bees", payload.Bees); 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"); } }
/// <summary> /// Add metadata to a metric datum, only if the value is non-blank (int overload) /// </summary> public static void AddMetadata(this MetricDatum metricDatum, string key, int value) { metricDatum.AddMetadata(key, value.ToString(System.Globalization.CultureInfo.InvariantCulture)); }