Экспорт данных телеметрии из Application Insights
Хотите ли вы хранить данные телеметрии дольше стандартного срока хранения? Или вы хотите обработать его каким-то специализированным способом? Для этой цели идеально подходит непрерывный экспорт. События, которые отображаются на портале Application Insights, можно экспортировать в хранилище в Azure в формате JSON. Из этого расположения можно скачать данные и написать любой код, необходимый для их обработки.
Важно!
- 29 февраля 2024 г. непрерывный экспорт будет считаться нерекомендуемым в рамках объявления прекращения поддержки классической версии Application Insights.
- При миграции на ресурс Application Insights на основе рабочей области необходимо использовать параметры диагностики для экспорта телеметрии. Все ресурсы рабочей области Application Insights должны использовать параметры диагностики.
- Экспорт параметров диагностики может привести к увеличению затрат. Дополнительные сведения см. в разделе Экспорт на основе параметров диагностики.
Прежде чем настраивать функцию непрерывного экспорта, рассмотрите некоторые альтернативные варианты.
- Кнопка Экспорт в верхней части вкладки метрик или поиска позволяет перенести таблицы и диаграммы в электронную таблицу Excel.
- Log Analytics предоставляет мощный язык запросов для телеметрии. и позволяет экспортировать результаты.
- Если вы хотите изучить данные в Power BI, вы можете сделать это без использования непрерывного экспорта, если вы перешли на ресурс на основе рабочей области.
- REST API доступа к данным позволяет получить доступ к данным телеметрии программным способом.
- Вы также можете получить доступ к настройке непрерывного экспорта с помощью PowerShell.
После того как непрерывный экспорт копирует данные в хранилище, где они могут оставаться сколько угодно, они по-прежнему доступны в Application Insights в течение обычного периода хранения.
Поддерживаемые регионы
Непрерывный экспорт поддерживается в следующих регионах:
- Юго-Восточная Азия
- Центральная Канада
- Центральная Индия
- Северная Европа
- южная часть Соединенного Королевства
- Восточная Австралия
- Восточная Япония
- Республика Корея, центральный регион
- Центральная Франция
- Восточная Азия
- западная часть США
- Центральная часть США
- восточная часть США 2
- Центрально-южная часть США
- западная часть США 2
- Северная часть ЮАР;
- Центрально-северная часть США
- Brazil South
- Северная Швейцария
- Australia Southeast
- западная часть Соединенного Королевства
- Центрально-Западная Германия
- Западная Швейцария
- Центральная Австралия 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. |
Requests (Запросы) | Отправитель: TrackRequest. Стандартные модули используют запросы для создания отчетов о времени отклика сервера (измеряется на сервере). |
Изменение непрерывного экспорта
Выберите Непрерывный экспорт и учетную запись хранения для изменения.
Остановка непрерывного экспорта
Чтобы остановить экспорт, выберите Отключить. При повторном нажатии кнопки Включить экспорт перезапускается с новыми данными. Пока экспорт был отключен, вы не будете получать данные, которые поступают на портал.
Чтобы остановить экспорт навсегда, удалите его. Это действие не повлечет удаление данных из хранилища.
Не удается добавить или изменить параметры экспорта?
Чтобы добавить или изменить параметры экспорта, требуются права владельца, участника или участника Application Insights. Дополнительные сведения о ролях.
Какие события вы получаете?
Экспортируются необработанные данные телеметрии, которую мы получаем от вашего приложения, с дополнительными сведениями о расположении на основе IP-адреса клиента.
Данные, которые были отброшены выборкой, не включаются в экспортированные данные.
Другие вычисляемые метрики не включаются. Например, мы не экспортируем показатель среднего использования ЦП, но экспортируем необработанные данные телеметрии, на основе которых можно вычислить это среднее значение.
Данные также содержат результаты любого настроенного веб-теста доступности.
Примечание
Если приложение отправляет много данных, функция выборки может работать и отправлять только часть созданных данных телеметрии. Дополнительная информация о выборке.
Изучение данных
Проверить хранилище можно непосредственно на портале. Выберите Главная в крайнем левом меню. В верхней части окна службы Azure выберите Учетные записи хранения. Выберите имя учетной записи хранения и на странице Обзор выберите Службы>BLOB-объекты. Наконец, выберите имя контейнера.
Чтобы проверить службу хранилища Azure в Visual Studio, выберите Просмотреть>облачные Обозреватель. Если у вас нет этой команды меню, необходимо установить пакет Azure SDK. Откройте диалоговое окно Новый проект, разверните узел 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.
Обработка данных
В небольшом масштабе можно написать код, чтобы разделить данные и считывать их в электронную таблицу. Пример:
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 | Логическое | Запрос поступает от программы-робота или веб-теста. |
context.data.samplingRate | number | Процентная доля данных телеметрии, созданных с помощью пакета SDK, отправленного на портал. Диапазон 0,0–100,0. |
context.device | object | Устройство клиента |
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 | object | Производное от 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 | Логическое | |
context.user.accountAcquisitionDate | строка | |
context.user.accountId | строка | |
context.user.anonAcquisitionDate | строка | |
context.user.anonId | строка | |
context.user.authAcquisitionDate | строка | прошедший проверку пользователь |
context.user.authId | строка | |
context.user.isAuthenticated | Логическое | |
context.user.storeRegion | строка | |
internal.data.documentVersion | строка | |
internal.data.id | строка | Unique id , присваиваемый при передаче элемента в Application Insights |
События
Пользовательские события, создаваемые элементом TrackEvent().
Путь | Тип | Примечания |
---|---|---|
event [0] count | Целое число | 100/(частотавыборки ). Например, 4 = > 25 %. |
event [0] name | строка | Имя события. Максимальная длина: 250 |
event [0] url | строка | |
event [0] urlData.base | строка | |
event [0] urlData.host | строка |
Исключения
Отправляются сведения об исключениях на сервере и в браузере.
Путь | Тип | Примечания |
---|---|---|
basicException [0] assembly | строка | |
basicException [0] count | Целое число | 100/(частотавыборки ). Например, 4 = > 25 %. |
basicException [0] exceptionGroup | строка | |
basicException [0] exceptionType | строка | |
basicException [0] failedUserCodeMethod | строка | |
basicException [0] failedUserCodeAssembly | строка | |
basicException [0] handledAt | строка | |
basicException [0] hasFullStack | Логическое | |
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 | Целое число | |
basicException [0] parsedStack [0] line | Целое число | |
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 | Логическое | |
remoteDependency [0] baseName | строка | |
remoteDependency [0] commandName | строка | Например, home/index |
remoteDependency [0] count | Целое число | 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 | Логическое | |
remoteDependency [0] type | строка | HTTP, SQL, … |
remoteDependency [0] url | строка | Максимальная длина: 2000 |
remoteDependency [0] urlData.base | строка | Максимальная длина: 2000 |
remoteDependency [0] urlData.hashTag | строка | |
remoteDependency [0] urlData.host | строка | Максимальная длина: 200 |
Requests
Отправитель: TrackRequest. Используется стандартными модулями для создания отчетов о времени отклика сервера (измеряется на сервере).
Путь | Тип | Примечания |
---|---|---|
request [0] count | Целое число | 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 | Целое число | HTTP-отклик, отправленный клиенту. |
request [0] success | Логическое | Значение по умолчанию == (responseCode < 400) |
request [0] url | строка | Не включая узел. |
request [0] urlData.base | строка | |
request [0] urlData.hashTag | строка | |
request [0] urlData.host | строка |
Производительность просмотра страницы
Отправитель: браузер. Измеряет время обработки страницы — с момента инициации пользователем запроса до полного отображения страницы (за исключением асинхронных вызовов AJAX).
Контекстные значения показывают версию клиентской ОС и версию браузера.
Путь | Тип | Примечания |
---|---|---|
clientPerformance [0] clientProcess.value | Целое число | Время от завершения получения HTML до отображения страницы. |
clientPerformance [0] name | строка | |
clientPerformance [0] networkConnection.value | Целое число | Время, необходимое для установки подключения к сети. |
clientPerformance [0] receiveRequest.value | Целое число | Время от завершения отправки запроса до получения HTML в отклике. |
clientPerformance [0] sendRequest.value | Целое число | Время на отправку HTTP-запроса. |
clientPerformance [0] total.value | Целое число | Время от запуска отправки запроса до отображения страницы. |
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 | Целое число | 100/(частотавыборки ). Например, 4 = > 25 %. |
view [0] durationMetric.value | Целое число | При необходимости значение можно указать в методе trackPageView() или с помощью метода start/stopTrackPage(). Не совпадает со значениями clientPerformance. |
view [0] name | строка | Заголовок страницы. Максимальная длина: 250 |
view [0] url | строка | |
view [0] urlData.base | строка | |
view [0] urlData.hashTag | строка | |
view [0] urlData.host | строка |
Доступность
Это свойство создает отчеты о веб-тестах на доступность.
Путь | Тип | Примечания |
---|---|---|
availability [0] availabilityMetric.name | строка | availability |
availability [0] availabilityMetric.value | number | 1,0 или 0,0. |
availability [0] count | Целое число | 100/(частотавыборки ). Например, 4 = > 25 %. |
availability [0] dataSizeMetric.name | строка | |
availability [0] dataSizeMetric.value | Целое число | |
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 с.