1.
Способ отображения временной шкалы запроса дает вам только промежуток времени для всего запроса (37,5 с) и отдельные промежутки времени для каждой зависимости.
Зависимость - это еще один вызов, который отправляет информацию о времени выполнения приложения.В вашем примере каждый вызов базы данных автоматически отслеживается как зависимость.Код, выполняемый после каждого вызова базы данных, не является тем не менее.
Так, например, запрос записи базы данных, которая занимает 200 мс, а затем выдача Thread.Sleep в течение 2 секунд и запрос другой записи базы данных, которая занимает 300 мс, приведет к 2 секундам.разрыв между двумя зависимостями вызова базы данных, каждая из которых будет указана соответственно с 200/300 мс.
Вы можете использовать TelemetryClient.TrackDependency , чтобы обернуть части вашего собственного кода в свою собственную зависимость.Таким образом, вы увидите собственный код в виде записи на временной шкале запроса.
2.
В зависимости от вашей базы данных-инициализатора EF EntityFramework будет подключаться к главной базе данных при создании контекста.(Например, чтобы создать базу данных, если она не существует).
3.
Попробуйте отследить свой собственный код, чтобы выяснить, какие его части работают медленно.EF имеет несколько проблем с производительностью , которые нужно учитывать, попытайтесь понять предостережения относительно производительности используемых вами библиотек.Если ваши вызовы непостоянно медленны, это может быть связано с перерасходом ресурсов или слишком ранним освобождением кэшей (например, для запросов EF «теплый» или «холодный»).