Экспорт данных телеметрии из Application Insights
Вы хотите сохранить данные телеметрии дольше стандартного периода хранения? Или вы хотите обработать его каким-то специализированным способом? Непрерывный экспорт идеально подходит для этой цели. События, отображаемые на портале Application Insights, можно экспортировать в хранилище в Azure в формате JSON. Из этого расположения можно скачать данные и написать любой код, необходимый для их обработки.
Внимание
- По состоянию на 29 февраля 2024 года непрерывный экспорт прекращен.
- При переходе на ресурс Application Insights на основе рабочей области необходимо использовать параметры диагностики для экспорта телеметрии. Все ресурсы рабочей области Application Insights должны использовать параметры диагностики.
- Экспорт параметров диагностики может привести к увеличению затрат. Дополнительные сведения см. в разделе экспорта на основе параметров диагностики.
Прежде чем настраивать функцию непрерывного экспорта, рассмотрите некоторые альтернативные варианты.
- Кнопка "Экспорт " в верхней части метрики или вкладки поиска позволяет передавать таблицы и диаграммы в электронную таблицу Excel.
- Log Analytics предоставляет мощный язык запросов для телеметрии. и позволяет экспортировать результаты.
- Если вы хотите изучить данные в Power BI, это можно сделать, не используя непрерывный экспорт, если вы перешли на ресурс на основе рабочей области.
- REST API доступа к данным позволяет получить доступ к телеметрии программным способом.
- Вы также можете получить доступ к настройке для непрерывного экспорта с помощью PowerShell.
После непрерывного экспорта данные копируются в хранилище, где он может оставаться до тех пор, пока вы хотите, он по-прежнему доступен в Application Insights в течение обычного периода хранения.
Поддерживаемые регионы
Непрерывный экспорт поддерживается в следующих регионах:
- Юго-Восточная Азия
- Центральная Канада
- Центральная Индия
- Северная Европа
- южная часть Соединенного Королевства
- Восточная Австралия
- Восточная Япония
- Республика Корея, центральный регион
- Центральная Франция
- Восточная Азия
- западная часть США
- Центральная часть США
- Восточная часть США 2
- Центрально-южная часть США
- западная часть США 2
- Северная часть ЮАР
- Центрально-северная часть США
- Южная Бразилия
- Северная Швейцария
- Юго-Восточная часть Австралии
- западная часть Соединенного Королевства
- Центрально-Западная Германия
- Западная Швейцария
- Центральная Австралия 2
- Центральная часть ОАЭ
- Юго-Восточная Бразилия
- Центральная Австралия
- Северная часть ОАЭ;
- Восточная Норвегия;
- Западная Япония
Примечание.
Непрерывный экспорт будет продолжать работать для приложений в восточной части США и Западной Европы, если экспорт был настроен до 23 февраля 2021 года. Новые правила непрерывного экспорта не могут быть настроены для любого приложения в восточной части США или Западной Европы независимо от того, когда приложение было создано.
Расширенная конфигурация хранилища для непрерывного экспорта
Непрерывный экспорт не поддерживает следующие служба хранилища Azure функции или конфигурации:
- Использование брандмауэров Azure виртуальная сеть/служба хранилища Azure с Хранилище BLOB-объектов Azure.
- Azure Data Lake Storage 2 поколения.
Создание непрерывного экспорта
Примечание.
Приложение не может экспортировать более 3 ТБ данных в день. Если экспортируется более 3 ТБ в день, экспорт будет отключен. Чтобы экспортировать без ограничения, используйте экспорт на основе параметров диагностики.
В ресурсе Application Insights для приложения в разделе "Настройка" слева откройте непрерывный экспорт и нажмите кнопку "Добавить".
Выберите типы данных телеметрии, которые хотите экспортировать.
Создайте или выберите учетную запись служба хранилища Azure, в которой требуется сохранить данные. Дополнительные сведения о ценах на хранилище см. на странице "Цены".
Выберите "Добавить>целевую>учетную запись хранения экспорта". Затем создайте новое хранилище или выберите существующее хранилище.
Предупреждение
По умолчанию учетная запись хранения будет относиться к тому же географическому региону, что и ресурс Application Insights. При хранении в другом регионе могут взиматься плата за передачу.
Создайте или выберите контейнер в хранилище.
Примечание.
После создания экспорта вновь поступающие данные начнут поступать в Хранилище BLOB-объектов Azure. Непрерывный экспорт передает только новые данные телеметрии, созданные или приемные после включения непрерывного экспорта. Все данные, которые существовали до включения непрерывного экспорта, не будут экспортированы. Нет поддерживаемого способа ретроактивного экспорта ранее созданных данных с помощью непрерывного экспорта.
Возможна задержка около часа до появления данных в хранилище.
После завершения первого экспорта вы найдете следующую структуру в контейнере хранилища BLOB-объектов. (Эта структура зависит от собираемых данных.)
Имя | Описание |
---|---|
Доступность | Это свойство создает отчеты о веб-тестах на доступность. |
Событие | Пользовательские события, создаваемые элементом TrackEvent(). |
Исключения | Отправляются сведения об исключениях на сервере и в браузере. |
Сообщения | Отправитель: TrackTrace и адаптеры ведения журналов. |
Метрики | Создается вызовами API метрик. |
PerformanceCounters | Данные счетчиков производительности, собранные службой Application Insights. |
Запросы | Отправитель: TrackRequest. Стандартные модули используют запросы для создания отчетов о времени отклика сервера (измеряется на сервере). |
Изменение непрерывного экспорта
Выберите непрерывный экспорт и выберите учетную запись хранения для изменения.
Остановка непрерывного экспорта
Чтобы остановить экспорт, нажмите кнопку "Отключить". При нажатии кнопки "Включить " экспорт перезапускается с новыми данными. Пока экспорт был отключен, вы не будете получать данные, которые поступают на портал.
Чтобы остановить экспорт навсегда, удалите его. Это действие не повлечет удаление данных из хранилища.
Не удается добавить или изменить параметры экспорта?
Чтобы добавить или изменить параметры экспорта, требуются права владельца, участника или участника Application Insights. Дополнительные сведения о ролях.
Какие события вы получаете?
Экспортируются необработанные данные телеметрии, которую мы получаем от вашего приложения, с дополнительными сведениями о расположении на основе IP-адреса клиента.
Данные, которые были отброшены выборкой, не включаются в экспортированные данные.
Другие вычисляемые метрики не включаются. Например, мы не экспортируем показатель среднего использования ЦП, но экспортируем необработанные данные телеметрии, на основе которых можно вычислить это среднее значение.
Данные также содержат результаты любого настроенного веб-теста доступности.
Примечание.
Если приложение отправляет много данных, функция выборки может работать и отправлять только часть созданной телеметрии. Дополнительная информация о выборке.
Проверка данных
Проверить хранилище можно непосредственно на портале. Выберите "Главная" в самом левом меню. Вверху, где она говорит службы Azure, выберите учетные записи хранения. Выберите имя учетной записи хранения и на странице обзора выберите "Большие двоичные объекты служб>". Наконец, выберите имя контейнера.
Чтобы проверить служба хранилища Azure в Visual Studio, выберите "Просмотреть>Cloud Explorer". Если у вас нет этой команды меню, необходимо установить пакет SDK Azure. Откройте диалоговое окно "Новый проект", разверните visual C#/Cloud и выберите "Получить Пакет Microsoft Azure SDK для .NET".
При открытии хранилища больших двоичных объектов вы увидите контейнер с набором файлов больших двоичных объектов. Вы увидите универсальный код ресурса (URI) каждого файла, производный от имени ресурса Application Insights, его ключа инструментирования и типа телеметрии, даты и времени. Имя ресурса — это все строчные регистры, а ключ инструментирования пропускает дефисы.
Примечание.
Поддержка приема ключей инструментирования будет завершена 31 марта 31, 2025 г. Прием ключей инструментирования будет и дальше осуществляться, но мы больше не будем предоставлять обновления или поддержку для этой функции. Перейдите на строки подключения, чтобы использовать новые возможности.
Дата и время — UTC, и когда данные телеметрии были отложены в хранилище, а не время его создания. По этой причине при написании кода для скачивания данных он может перемещаться линейно по данным.
Путь имеет следующий вид.
$"{applicationName}_{instrumentationKey}/{type}/{blobDeliveryTimeUtc:yyyy-MM-dd}/{ blobDeliveryTimeUtc:HH}/{blobId}_{blobCreationTimeUtc:yyyyMMdd_HHmmss}.blob"
Где:
blobCreationTimeUtc
— это время, когда большой двоичный объект был создан во внутреннем промежуточном хранилище.blobDeliveryTimeUtc
— это время, когда большой двоичный объект копируется в хранилище назначения экспорта.
Формат данных
Данные форматируются таким образом:
Каждый большой двоичный объект — это текстовый файл, содержащий несколько разделенных
\n
строк. Он содержит данные телеметрии, обрабатываемые примерно раз в 30 секунд.Каждая строка представляет точку данных телеметрии, например запрос или представление страницы.
Каждая строка представляет собой неформатированный JSON-документ. Если вы хотите просмотреть строки, откройте большой двоичный объект в Visual Studio и выберите "Изменить>расширенный>формат файла".
Продолжительность времени измеряется в тактах, где 10 000 тактов составляют 1 мс. Например, следующие значения показывают время 1 мс для отправки запроса из браузера, 3 мс для его получения и 1,8 с для обработки страницы в браузере.
"sendRequest": {"value": 10000.0},
"receiveRequest": {"value": 30000.0},
"clientProcess": {"value": 17970000.0}
Подробный справочник по модели данных для типов свойств и значений см. в статье Application Insights export data model.
Обработка данных
В небольшом масштабе можно написать код, чтобы извлечь данные и считывать их в электронную таблицу. Например:
private IEnumerable<T> DeserializeMany<T>(string folderName)
{
var files = Directory.EnumerateFiles(folderName, "*.blob", SearchOption.AllDirectories);
foreach (var file in files)
{
using (var fileReader = File.OpenText(file))
{
string fileContent = fileReader.ReadToEnd();
IEnumerable<string> entities = fileContent.Split('\n').Where(s => !string.IsNullOrWhiteSpace(s));
foreach (var entity in entities)
{
yield return JsonConvert.DeserializeObject<T>(entity);
}
}
}
}
Дополнительные примеры кода см. в разделе "Использование рабочей роли".
Удаление старых данных
При необходимости вы несете ответственность за управление емкостью хранилища и удаление старых данных.
Повторное создание ключа хранилища
Если изменить ключ хранилища, непрерывный экспорт перестанет работать. Вы увидите уведомление в учетной записи Azure.
Выберите вкладку "Непрерывный экспорт" и измените экспорт. Изменитезначение назначения экспорта, но оставьте то же хранилище. Выберите ОК для подтверждения.
Непрерывный экспорт перезагрузится.
Примеры экспорта
Примеры экспорта см. в статье:
В более крупных масштабах рассмотрите кластеры HDInsight Hadoop в облаке. HDInsight предоставляет широкий набор технологий для анализа больших объемов данных и управления ими. Его можно использовать для обработки данных, экспортированных из Application Insights.
Часто задаваемые вопросы
В этом разделы приводятся ответы на часто задаваемые вопросы.
Можно ли получить однократную загрузку диаграммы?
Теперь у вас есть такая возможность. В верхней части вкладки щелкните Экспорт данных.
Я настраиваю экспорт, но почему в моем хранилище нет данных?
Получала ли служба Application Insights какие-либо данные телеметрии из вашего приложения с момента настройки параметров экспорта? Вы получите только новые данные.
Я пытался настроить экспорт, но почему я отказано в доступе?
Если учетная запись принадлежит вашей организации, необходимо быть членом групп владельцев или участников.
Могу ли я экспортировать данные непосредственно в свое локальное хранилище?
№ В настоящее время наш механизм экспорта работает только с служба хранилища Azure.
Существует ли предел для объема данных, помещаемых в мое хранилище?
№ Мы будем хранить переданные данные в хранилище, пока вы не удалите данные экспорта. Мы остановимся, если мы ударим по внешним ограничениям для хранилища BLOB-объектов, но это ограничение является огромным. Вы можете настроить объем используемого хранилища.
Сколько больших двоичных объектов отображается в хранилище?
- Для каждого выбранного типа данных для экспорта создается новый большой двоичный объект каждую минуту, если данные доступны.
- Для приложений с высоким трафиком выделяются дополнительные единицы секции. В этом случае каждая единица создает BLOB-объект каждую минуту.
Я повторно создаю ключ для хранилища или изменил имя контейнера, но почему не работает экспорт?
Измените экспорт и выберите вкладку "Экспорт назначения ". Оставьте то же хранилище, что и раньше, и нажмите кнопку "ОК ", чтобы подтвердить. Экспорт будет перезапущен. Если это изменение было сделано в течение последних нескольких дней, данные не будут потеряны.
Можно ли приостановить экспорт?
Да. Выберите Отключить.
Примеры кода
- Пример с использованием Stream Analytics.
- Экспорт в SQL с помощью Stream Analytics
- Подробный справочник по модели данных для типов свойств и значений
Экспорт на основе параметров диагностики
Экспорт параметров диагностики предпочтителен, так как он предоставляет дополнительные функции:
- служба хранилища Azure учетные записи с виртуальными сетями, брандмауэрами и частными ссылками.
- Экспорт в Центры событий Azure.
Экспорт параметров диагностики отличается от непрерывного экспорта в следующих аспектах:
- Обновленная схема.
- Данные телеметрии отправляются по мере поступления, а не пакетами.
Внимание
Дополнительные расходы могут возникнуть из-за увеличения вызовов к месту назначения, таких как учетная запись хранения.
Чтобы перейти к экспорту параметров диагностики, выполните указанные ниже действия.
- Включите параметры диагностики в Классической application Insights.
- Настройка экспорта данных. Выберите параметры диагностики Добавить параметр диагностики>из ресурса Application Insights.
- Убедитесь, что новый экспорт данных настроен так же, как и при непрерывном экспорте
Внимание
Если вы хотите хранить журналы диагностики в рабочей области Log Analytics, рекомендуется избежать повторяющихся данных в Application Insights:
- Назначение не может быть той же рабочей областью Log Analytics, на которой основан ресурс Application Insights.
- У пользователя Application Insights не может быть доступа к обеим рабочим областям. Задайте для режима управления доступом Log Analytics значение "Требовать разрешения рабочей области". С помощью управления доступом на основе ролей Azure убедитесь, что пользователь имеет доступ только к рабочей области Log Analytics, на основе ресурса Application Insights.
Эти действия необходимы, так как Application Insights обращается к данным телеметрии ресурсов Application Insights, включая рабочие области Log Analytics, чтобы обеспечить полные операции транзакций и точные карты приложений. Так как журналы диагностики используют те же имена таблиц, возможно отображение повторяющихся данных телеметрии, если у пользователя есть доступ к нескольким ресурсам, содержащим одни и те же данные.
Экспорт модели данных Application Insights
В этой таблице перечислены свойства телеметрии, отправляемой из различных пакетов SDK для Application Insights на портал. Вы увидите эти свойства в выходных данных непрерывного экспорта. Они также отображаются в фильтрах свойств в обозревателе метрик и при диагностическом поиске.
Примечания:
[0]
в этих таблицах обозначает точку в пути, куда необходимо вставить индекс. При этом значение не всегда равно 0.- Продолжительность времени указана в десятых долях микросекунды, поэтому 10 000 000 = 1 с.
- Значения даты и времени в формате UTC указаны в формате ISO
yyyy-MM-DDThh:mm:ss.sssZ
Пример
// A server report about an HTTP request
{
"request": [
{
"urlData": { // derived from 'url'
"host": "contoso.org",
"base": "/",
"hashTag": ""
},
"responseCode": 200, // Sent to client
"success": true, // Default == responseCode<400
// Request id becomes the operation id of child events
"id": "fCOhCdCnZ9I=",
"name": "GET Home/Index",
"count": 1, // 100% / sampling rate
"durationMetric": {
"value": 1046804.0, // 10000000 == 1 second
// Currently the following fields are redundant:
"count": 1.0,
"min": 1046804.0,
"max": 1046804.0,
"stdDev": 0.0,
"sampledValue": 1046804.0
},
"url": "/"
}
],
"internal": {
"data": {
"id": "7f156650-ef4c-11e5-8453-3f984b167d05",
"documentVersion": "1.61"
}
},
"context": {
"device": { // client browser
"type": "PC",
"screenResolution": { },
"roleInstance": "WFWEB14B.fabrikam.net"
},
"application": { },
"location": { // derived from client ip
"continent": "North America",
"country": "United States",
// last octagon is anonymized to 0 at portal:
"clientip": "168.62.177.0",
"province": "",
"city": ""
},
"data": {
"isSynthetic": true, // we identified source as a bot
// percentage of generated data sent to portal:
"samplingRate": 100.0,
"eventTime": "2016-03-21T10:05:45.7334717Z" // UTC
},
"user": {
"isAuthenticated": false,
"anonId": "us-tx-sn1-azr", // bot agent id
"anonAcquisitionDate": "0001-01-01T00:00:00Z",
"authAcquisitionDate": "0001-01-01T00:00:00Z",
"accountAcquisitionDate": "0001-01-01T00:00:00Z"
},
"operation": {
"id": "fCOhCdCnZ9I=",
"parentId": "fCOhCdCnZ9I=",
"name": "GET Home/Index"
},
"cloud": { },
"serverDevice": { },
"custom": { // set by custom fields of track calls
"dimensions": [ ],
"metrics": [ ]
},
"session": {
"id": "65504c10-44a6-489e-b9dc-94184eb00d86",
"isFirst": true
}
}
}
Контекст
Для каждого типа данных телеметрии приведен пример с разделом контекста. Не все эти поля передаются со всеми точками данных.
Путь | Тип | Примечания. |
---|---|---|
context.custom.dimensions [0] | объект [ ] | Набор пар "ключ — значение", заданный параметром пользовательских свойств. Максимальная длина ключа — 100, максимальная длина значения —1024. Более 100 уникальных значений. Свойства можно использовать для поиска, но не для сегментации. Максимальное количество — 200 ключей на ключ ikey. |
context.custom.metrics [0] | объект [ ] | Набор пар "ключ — значение", заданный параметром пользовательских измерений и метриками TrackMetric. Максимальная длина ключа — 100. Значения могут быть числовыми. |
context.data.eventTime | строка | UTC |
context.data.isSynthetic | boolean | Запрос поступает от программы-робота или веб-теста. |
context.data.samplingRate | number | Процентная доля данных телеметрии, созданных с помощью пакета SDK, отправленного на портал. Диапазон 0,0–100,0. |
context.device | объект | Устройство клиента |
context.device.browser | строка | IE, Chrome… |
context.device.browserVersion | строка | Chrome 48.0… |
context.device.deviceModel | строка | |
context.device.deviceName | строка | |
context.device.id | строка | |
context.device.locale | строка | en-GB, de-DE… |
context.device.network | строка | |
context.device.oemName | строка | |
context.device.os | строка | |
context.device.osVersion | строка | ОС узла |
context.device.roleInstance | строка | Идентификатор узла сервера |
context.device.roleName | строка | |
context.device.screenResolution | строка | |
context.device.type | строка | ПК, браузер… |
context.location | объект | Производное от clientip . |
context.location.city | строка | Производное от clientip , если это значение известно |
context.location.clientip | строка | Последний восьмиугольник анонимизирован и имеет значение 0. |
context.location.continent | строка | |
context.location.country | строка | |
context.location.province | строка | Область, республика, край, округ |
context.operation.id | строка | Элементы с одинаковым operation id отображаются на портале как связанные элементы. Обычно это request id . |
context.operation.name | строка | URL-адрес или имя запроса |
context.operation.parentId | строка | Разрешает использование вложенных связанных элементов. |
context.session.id | строка | Id группы операций из одного источника. 30-минутный период без операций указывает на завершение сеанса. |
context.session.isFirst | boolean | |
context.user.accountAcquisitionDate | строка | |
context.user.accountId | строка | |
context.user.anonAcquisitionDate | строка | |
context.user.anonId | строка | |
context.user.authAcquisitionDate | строка | Прошедший проверку пользователь. |
context.user.authId | строка | |
context.user.isAuthenticated | boolean | |
context.user.storeRegion | строка | |
internal.data.documentVersion | строка | |
internal.data.id | строка | Unique id , присваиваемый при передаче элемента в Application Insights |
События
Пользовательские события, создаваемые элементом TrackEvent().
Путь | Тип | Примечания. |
---|---|---|
event [0] count | integer | 100/(частотавыборки ). Например, 4 = > 25 %. |
event [0] name | строка | Имя события. Максимальная длина: 250 |
event [0] url | строка | |
event [0] urlData.base | строка | |
event [0] urlData.host | строка |
Исключения
Отправляются сведения об исключениях на сервере и в браузере.
Путь | Тип | Примечания. |
---|---|---|
basicException [0] assembly | строка | |
basicException [0] count | integer | 100/(частотавыборки ). Например, 4 = > 25 %. |
basicException [0] exceptionGroup | строка | |
basicException [0] exceptionType | строка | |
basicException [0] failedUserCodeMethod | строка | |
basicException [0] failedUserCodeAssembly | строка | |
basicException [0] handledAt | строка | |
basicException [0] hasFullStack | boolean | |
basicException [0] id |
строка | |
basicException [0] method | строка | |
basicException [0] message | строка | Сообщение об исключении. Максимальная длина: 10 000 |
basicException [0] outerExceptionMessage | строка | |
basicException [0] outerExceptionThrownAtAssembly | строка | |
basicException [0] outerExceptionThrownAtMethod | строка | |
basicException [0] outerExceptionType | строка | |
basicException [0] outerId | строка | |
basicException [0] parsedStack [0] assembly | строка | |
basicException [0] parsedStack [0] fileName | строка | |
basicException [0] parsedStack [0] level | integer | |
basicException [0] parsedStack [0] line | integer | |
basicException [0] parsedStack [0] method | строка | |
basicException [0] stack | строка | Максимальная длина: 10 000 |
basicException [0] typeName | строка |
Сообщения трассировки
Отправитель: TrackTrace и адаптеры ведения журналов.
Путь | Тип | Примечания. |
---|---|---|
message [0] loggerName | строка | |
message [0] parameters | строка | |
message [0] raw | строка | Сообщение журнала, максимальная длина — 10 тысяч символов. |
message [0] severityLevel | строка |
Удаленная зависимость
Отправитель: TrackDependency. Используется для создания отчетов о производительности и использовании вызовов к зависимостям на сервере, а также вызовов AJAX в браузере.
Путь | Тип | Примечания. |
---|---|---|
remoteDependency [0] async | boolean | |
remoteDependency [0] baseName | строка | |
remoteDependency [0] commandName | строка | Например, home/index |
remoteDependency [0] count | integer | 100/(частотавыборки ). Например, 4 = > 25 %. |
remoteDependency [0] dependencyTypeName | строка | HTTP, SQL, … |
remoteDependency [0] durationMetric.value | number | Время от вызова до завершения отклика зависимостью. |
remoteDependency [0] id |
строка | |
remoteDependency [0] name | строка | URL-адрес. Максимальная длина: 250 |
remoteDependency [0] resultCode | строка | Из зависимости HTTP. |
remoteDependency [0] success | boolean | |
remoteDependency [0] type | строка | HTTP, SQL, … |
remoteDependency [0] url | строка | Максимальная длина: 2000 |
remoteDependency [0] urlData.base | строка | Максимальная длина: 2000 |
remoteDependency [0] urlData.hashTag | строка | |
remoteDependency [0] urlData.host | строка | Максимальная длина: 200 |
Запросы
Отправитель: TrackRequest. Используется стандартными модулями для создания отчетов о времени отклика сервера (измеряется на сервере).
Путь | Тип | Примечания. |
---|---|---|
request [0] count | integer | 100/(частотавыборки ). Например: 4 => 25 %. |
request [0] durationMetric.value | number | Время от поступления запроса до отклика. 1e7 = 1 с. |
request [0] id |
строка | Operation id |
request [0] name | строка | GET или POST + базовый URL-адрес. Максимальная длина: 250 |
request [0] responseCode | integer | HTTP-отклик, отправленный клиенту. |
request [0] success | boolean | Значение по умолчанию == (responseCode < 400) |
request [0] url | строка | Не включая узел. |
request [0] urlData.base | строка | |
request [0] urlData.hashTag | строка | |
request [0] urlData.host | строка |
Производительность просмотра страницы
Отправитель: браузер. Измеряет время обработки страницы — с момента инициации пользователем запроса до полного отображения страницы (за исключением асинхронных вызовов AJAX).
Контекстные значения показывают версию клиентской ОС и версию браузера.
Путь | Тип | Примечания. |
---|---|---|
clientPerformance [0] clientProcess.value | integer | Время от завершения получения HTML до отображения страницы. |
clientPerformance [0] name | строка | |
clientPerformance [0] networkConnection.value | integer | Время, необходимое для установки подключения к сети. |
clientPerformance [0] receiveRequest.value | integer | Время от завершения отправки запроса до получения HTML в отклике. |
clientPerformance [0] sendRequest.value | integer | Время на отправку HTTP-запроса. |
clientPerformance [0] total.value | integer | Время от запуска отправки запроса до отображения страницы. |
clientPerformance [0] url | строка | URL-адрес запроса. |
clientPerformance [0] urlData.base | строка | |
clientPerformance [0] urlData.hashTag | строка | |
clientPerformance [0] urlData.host | строка | |
clientPerformance [0] urlData.protocol | строка |
Просмотры страницы
Отправитель: trackPageView() или stopTrackPage
Путь | Тип | Примечания. |
---|---|---|
view [0] count | integer | 100/(частотавыборки ). Например, 4 = > 25 %. |
view [0] durationMetric.value | integer | При необходимости значение можно указать в методе trackPageView() или с помощью метода start/stopTrackPage(). Не совпадает со значениями clientPerformance. |
view [0] name | строка | Заголовок страницы. Максимальная длина: 250 |
view [0] url | строка | |
view [0] urlData.base | строка | |
view [0] urlData.hashTag | строка | |
view [0] urlData.host | строка |
Availability
Это свойство создает отчеты о веб-тестах на доступность.
Путь | Тип | Примечания. |
---|---|---|
availability [0] availabilityMetric.name | строка | доступность |
availability [0] availabilityMetric.value | number | 1,0 или 0,0. |
availability [0] count | integer | 100/(частотавыборки ). Например, 4 = > 25 %. |
availability [0] dataSizeMetric.name | строка | |
availability [0] dataSizeMetric.value | integer | |
availability [0] durationMetric.name | строка | |
availability [0] durationMetric.value | number | Продолжительность теста. 1e7 = 1 с. |
availability [0] message | строка | Диагностика сбоя. |
availability [0] result | строка | Успех или сбой. |
availability [0] runLocation | строка | Географический объект-источник HTTP-запроса. |
availability [0] testName | строка | |
availability [0] testRunId | строка | |
availability [0] testTimestamp | строка |
Метрики
Создатель: TrackMetric().
Значение метрики можно найти в context.custom.metrics[0].
Например:
{
"metric": [ ],
"context": {
...
"custom": {
"dimensions": [
{ "ProcessId": "4068" }
],
"metrics": [
{
"dispatchRate": {
"value": 0.001295,
"count": 1.0,
"min": 0.001295,
"max": 0.001295,
"stdDev": 0.0,
"sampledValue": 0.001295,
"sum": 0.001295
}
}
]
}
}
}
О значениях метрик
Значения метрик (как в отчетах, так и в других элементах) сообщаются в рамках стандартной структуры объекта. Например:
"durationMetric": {
"name": "contoso.org",
"type": "Aggregation",
"value": 468.71603053650279,
"count": 1.0,
"min": 468.71603053650279,
"max": 468.71603053650279,
"stdDev": 0.0,
"sampledValue": 468.71603053650279
}
Сейчас (хотя это может измениться в будущем) во всех значениях, включенных в отчеты стандартных модулей SDK, полезными являются только поля name
и value
, а также count==1
. Они будут отличаться, только если вы напишете собственный вызов TrackMetric, указав другие параметры.
Другие поля нужны для того, чтобы разрешить статистическое вычисление метрик в пакете SDK, тем самым снизив нагрузку (в виде трафика) на портал. Например, перед отправкой каждого отчета с метриками вы можете получить среднее значение для нескольких последовательных показаний. Затем вы можете рассчитать минимальное и максимальное значение, а также стандартное отклонение и агрегированное значение (сумму или среднее), а затем указать в счетчике количество показаний, представленных в отчете.
В таблицах выше мы опустили редко используемые поля count, min, max, stdDev и sampledValue.
Вместо предварительного статистического вычисления метрик вы можете использовать выборки , чтобы сократить объем данных телеметрии.
Длительность
За исключением оговоренных случаев, показатели длительности представлены в десятых долях микросекунды, то есть 10 000 000,0 — это 1 с.