Поделиться через


Экспорт данных телеметрии из Application Insights

Вы хотите сохранить данные телеметрии дольше стандартного периода хранения? Или вы хотите обработать его каким-то специализированным способом? Непрерывный экспорт идеально подходит для этой цели. События, отображаемые на портале Application Insights, можно экспортировать в хранилище в Azure в формате JSON. Из этого расположения можно скачать данные и написать любой код, необходимый для их обработки.

Внимание

Прежде чем настраивать функцию непрерывного экспорта, рассмотрите некоторые альтернативные варианты.

  • Кнопка "Экспорт " в верхней части метрики или вкладки поиска позволяет передавать таблицы и диаграммы в электронную таблицу 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 ТБ в день, экспорт будет отключен. Чтобы экспортировать без ограничения, используйте экспорт на основе параметров диагностики.

  1. В ресурсе Application Insights для приложения в разделе "Настройка" слева откройте непрерывный экспорт и нажмите кнопку "Добавить".

  2. Выберите типы данных телеметрии, которые хотите экспортировать.

  3. Создайте или выберите учетную запись служба хранилища Azure, в которой требуется сохранить данные. Дополнительные сведения о ценах на хранилище см. на странице "Цены".

    Выберите "Добавить>целевую>учетную запись хранения экспорта". Затем создайте новое хранилище или выберите существующее хранилище.

    Предупреждение

    По умолчанию учетная запись хранения будет относиться к тому же географическому региону, что и ресурс Application Insights. При хранении в другом регионе могут взиматься плата за передачу.

  4. Создайте или выберите контейнер в хранилище.

Примечание.

После создания экспорта вновь поступающие данные начнут поступать в Хранилище 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, его ключа инструментирования и типа телеметрии, даты и времени. Имя ресурса — это все строчные регистры, а ключ инструментирования пропускает дефисы.

Снимок экрана: проверка хранилища BLOB-объектов с помощью подходящего средства.

Примечание.

Поддержка приема ключей инструментирования будет завершена 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-объект каждую минуту.

Я повторно создаю ключ для хранилища или изменил имя контейнера, но почему не работает экспорт?

Измените экспорт и выберите вкладку "Экспорт назначения ". Оставьте то же хранилище, что и раньше, и нажмите кнопку "ОК ", чтобы подтвердить. Экспорт будет перезапущен. Если это изменение было сделано в течение последних нескольких дней, данные не будут потеряны.

Можно ли приостановить экспорт?

Да. Выберите Отключить.

Примеры кода

Экспорт на основе параметров диагностики

Экспорт параметров диагностики предпочтителен, так как он предоставляет дополнительные функции:

  • служба хранилища Azure учетные записи с виртуальными сетями, брандмауэрами и частными ссылками.
  • Экспорт в Центры событий Azure.

Экспорт параметров диагностики отличается от непрерывного экспорта в следующих аспектах:

  • Обновленная схема.
  • Данные телеметрии отправляются по мере поступления, а не пакетами.

Внимание

Дополнительные расходы могут возникнуть из-за увеличения вызовов к месту назначения, таких как учетная запись хранения.

Чтобы перейти к экспорту параметров диагностики, выполните указанные ниже действия.

  1. Включите параметры диагностики в Классической application Insights.
  2. Настройка экспорта данных. Выберите параметры диагностики Добавить параметр диагностики>из ресурса Application Insights.
  3. Убедитесь, что новый экспорт данных настроен так же, как и при непрерывном экспорте

Внимание

Если вы хотите хранить журналы диагностики в рабочей области 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 с.

См. также