Вот детали одной из транзакций (для большинства транзакций наблюдение одинаковое). Приведенные ниже снимки экрана представляют собой «детали сквозной транзакции», которые можно найти в разделе «Параметры производительности Application Insights».
Общая продолжительность транзакции составляет около 29,4 секунды из ~ 26 секунд, потраченных между шагами 1 и 2, отмеченными на приведенных ниже скриншотах шкалы времени и телеметрии.
Timeline
Telemetery
Может кто-нибудь помочь мне понять разрыв между шагами 1 и 2 и как я могу уменьшить это, чтобы повысить производительность.
Как вы также можете видеть на скриншоте Telemetery, что пользовательские сообщения трассировки также печатаются (выделены красным), упомянутые в MessagesController.cs
[ResponseType(typeof(void))]
public virtual async Task<HttpResponseMessage> Post([FromBody] Activity activity)
{
var telemetry = new Microsoft.ApplicationInsights.TelemetryClient();
telemetry.TrackTrace("MessagesController POST",
Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Warning,
new Dictionary<string,string> { {"Activity Id", activity.Id} });
// check if activity is of type message
if (activity != null && activity.GetActivityType() == ActivityTypes.Message)
{
telemetry.TrackTrace("MessagesController Type:Message",
Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Warning,
new Dictionary<string,string> { {"Activity Id", activity.Id} });
//var reply = activity.CreateReply(String.Empty);
//reply.Type = ActivityTypes.Typing;
//await context.SendResponse(reply);
await Conversation.SendAsync(activity, () => new EchoDialog());
Если после выполнения этой строки - await Conversation.SendAsync (activity, () => new EchoDialog ()); оно помещает сообщение в некоторую очередь, а затем оно захватывается EchoDialog через какое-то время?
Заранее спасибо!