示例#1
0
        /// 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");
            }
        }
示例#2
0
        /// <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());
        }
示例#3
0
        /// <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);
        }
示例#4
0
        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");
            }
        }
示例#6
0
 /// <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));
 }