Ejemplo n.º 1
0
        /// <summary>
        /// write entity as an asynchronous operation.
        /// </summary>
        /// <param name="entityTelemetryData">The entity telemetry data.</param>
        /// <returns>Task.</returns>
        public async Task WriteEntityAsync(IEntityTelemetryData entityTelemetryData)
        {
            if (_configuration.Handles(TelemetryTypes.Entities))
            {
                await Task.Run(() =>
                {
                    var properties = GetBotContextProperties();

                    properties.Add("json", entityTelemetryData.Json);
                    properties.Add("type", entityTelemetryData.EntityType);
                    properties.Add("value", entityTelemetryData.EntityValue);
                    properties.Add("isAmbiguous", entityTelemetryData.EntityIsAmbiguous.ToString());

                    var metrics = new Dictionary <string, double>
                    {
                        { "score", entityTelemetryData.EntityConfidenceScore ?? 0d }
                    };

                    _telemetry.TrackEvent("Entity", properties, metrics);
                    DoPostLogActions();
                });
            }
        }
 /// <summary>
 /// write entity as an asynchronous operation.
 /// </summary>
 /// <param name="entityTelemetryData">The entity telemetry data.</param>
 /// <returns>Task.</returns>
 public async Task WriteEntityAsync(IEntityTelemetryData entityTelemetryData)
 {
     await DoWriteTelemetry(entityTelemetryData, TelemetryTypes.Entities, OutputFormatter.FormatEntity);
 }
 /// <summary>
 /// Writes the entity.
 /// </summary>
 /// <param name="entityTelemetryData">The entity telemetry data.</param>
 /// <returns>Task.</returns>
 public Task WriteEntityAsync(IEntityTelemetryData entityTelemetryData)
 {
     DoWriteTelemetry(entityTelemetryData, TelemetryTypes.Entities, OutputFormatter.FormatEntity);
     return(Task.Delay(0));
 }
 /// <summary>
 /// Formats the entity.
 /// </summary>
 /// <param name="entityTelemetryData">The entity telemetry data.</param>
 /// <returns>System.String.</returns>
 public string FormatEntity(IEntityTelemetryData entityTelemetryData)
 {
     return($"{GetDateTimeString()}\t{GetTelemetryContextProperties()}\tEntity: [{entityTelemetryData.EntityType} ({entityTelemetryData.EntityConfidenceScore}) / Ambiguous: {entityTelemetryData.EntityIsAmbiguous}]-[{entityTelemetryData.EntityValue}]");
 }
 /// <summary>
 /// Formats the entity.
 /// </summary>
 /// <param name="entityTelemetryData">The entity telemetry data.</param>
 /// <returns>System.String.</returns>
 public string FormatEntity(IEntityTelemetryData entityTelemetryData)
 {
     entityTelemetryData.RecordType = "entity";
     return(entityTelemetryData.AsStringWith(_context));
 }