Partilhar via


Exportar telemetria a partir do Application Insights

Deseja manter sua telemetria por mais tempo do que o período de retenção padrão? Ou quer processá-lo de alguma forma especializada? A exportação contínua é ideal para este fim. Os eventos que você vê no portal do Application Insights podem ser exportados para armazenamento no Azure no formato JSON. A partir daí, você pode baixar seus dados e escrever qualquer código necessário para processá-los.

Importante

  • A partir de 29 de fevereiro de 2024, a exportação contínua é aposentada.
  • Ao migrar para um recurso do Application Insights baseado em espaço de trabalho, você deve usar configurações de diagnóstico para exportar telemetria. Todos os recursos do Application Insights baseados em espaço de trabalho devem usar configurações de diagnóstico.
  • A exportação de definições de diagnóstico pode aumentar os custos. Para obter mais informações, consulte Exportação baseada em configurações de diagnóstico.

Antes de configurar a exportação contínua, há algumas alternativas que você pode querer considerar:

  • O botão Exportar na parte superior de uma métrica ou separador de pesquisa permite-lhe transferir tabelas e gráficos para uma folha de cálculo do Excel.
  • O Log Analytics fornece uma linguagem de consulta poderosa para telemetria. Também pode exportar resultados.
  • Se você estiver procurando explorar seus dados no Power BI, poderá fazer isso sem usar a exportação contínua se tiver migrado para um recurso baseado em espaço de trabalho.
  • A API REST de acesso a dados permite que você acesse sua telemetria programaticamente.
  • Você também pode acessar a configuração para exportação contínua via PowerShell.

Depois que a exportação contínua copia seus dados para o armazenamento, onde eles podem permanecer o tempo que você quiser, eles ainda estarão disponíveis no Application Insights durante o período de retenção usual.

Regiões suportadas

A exportação contínua é suportada nas seguintes regiões:

  • Sudeste Asiático
  • Canadá Central
  • Índia Central
  • Europa do Norte
  • Sul do Reino Unido
  • Leste da Austrália
  • Leste do Japão
  • Coreia do Sul Central
  • França Central
  • Ásia Leste
  • E.U.A. Oeste
  • E.U.A. Central
  • E.U.A. Leste 2
  • E.U.A. Centro-Sul
  • E.U.A. Oeste 2
  • Norte da África do Sul
  • E.U.A. Centro-Norte
  • Sul do Brasil
  • Norte da Suíça
  • Austrália Sudeste
  • Oeste do Reino Unido
  • Alemanha Centro-Oeste
  • Oeste da Suíça
  • Austrália Central 2
  • E.A.U. Central
  • Brasil Sudeste
  • Austrália Central
  • Norte dos E.A.U.
  • Leste da Noruega
  • Oeste do Japão

Nota

A exportação contínua continuará a funcionar para aplicações no Leste dos EUA e na Europa Ocidental se a exportação tiver sido configurada antes de 23 de fevereiro de 2021. Novas regras de exportação contínua não podem ser configuradas em nenhum aplicativo no Leste dos EUA ou na Europa Ocidental, independentemente de quando o aplicativo foi criado.

Configuração avançada de armazenamento de exportação contínua

A exportação contínua não suporta os seguintes recursos ou configurações do Armazenamento do Azure:

Criar uma exportação contínua

Nota

Um aplicativo não pode exportar mais de 3 TB de dados por dia. Se mais de 3 TB por dia for exportado, a exportação será desativada. Para exportar sem limite, use a exportação baseada em configurações de diagnóstico.

  1. No recurso Application Insights para seu aplicativo, em Configurar à esquerda, abra Exportação contínua e selecione Adicionar.

  2. Escolha os tipos de dados de telemetria que deseja exportar.

  3. Crie ou selecione uma conta de Armazenamento do Azure onde você deseja armazenar os dados. Para obter mais informações sobre as opções de preços de armazenamento, consulte a página Preços.

    Selecione Adicionar>conta de armazenamento de destino>de exportação. Em seguida, crie uma nova loja ou escolha uma loja existente.

    Aviso

    Por padrão, o local de armazenamento será definido para a mesma região geográfica do recurso do Application Insights. Se você armazenar em uma região diferente, poderá incorrer em taxas de transferência.

  4. Crie ou selecione um contêiner no armazenamento.

Nota

Depois de criar sua exportação, os dados recém-ingeridos começarão a fluir para o Armazenamento de Blobs do Azure. A exportação contínua transmite apenas a nova telemetria criada ou ingerida após a ativação da exportação contínua. Os dados que existiam antes de permitir a exportação contínua não serão exportados. Não há nenhuma maneira suportada de exportar retroativamente dados criados anteriormente usando a exportação contínua.

Pode haver um atraso de cerca de uma hora antes que os dados apareçam no armazenamento.

Após a conclusão da primeira exportação, você encontrará a seguinte estrutura no contêiner de Armazenamento de Blobs. (Essa estrutura varia dependendo dos dados que você está coletando.)

Nome Descrição
Disponibilidade Relatórios de testes web de disponibilidade.
Evento Eventos personalizados gerados por TrackEvent().
Exceções Relata exceções no servidor e no navegador.
Mensagens Enviado pelo TrackTrace e pelos adaptadores de log.
Métricas Gerado por chamadas métricas de API.
PerformanceCounters Contadores de desempenho coletados pelo Application Insights.
Pedidos Enviado por TrackRequest. Os módulos padrão usam solicitações para relatar o tempo de resposta do servidor, medido no servidor.

Editar exportação contínua

Selecione Exportação contínua e selecione a conta de armazenamento a ser editada.

Parar a exportação contínua

Para interromper a exportação, selecione Desativar. Quando você seleciona Ativar novamente, a exportação é reiniciada com novos dados. Você não obterá os dados que chegaram ao portal enquanto a exportação foi desativada.

Para interromper a exportação permanentemente, exclua-a. Isso não exclui seus dados do armazenamento.

Não é possível adicionar ou alterar uma exportação?

Para adicionar ou alterar exportações, precisa dos direitos de acesso de Proprietário, Contribuidor ou Contribuidor do Application Insights. Saiba mais sobre as funções.

Que eventos recebe?

Os dados exportados são a telemetria bruta que recebemos do seu aplicativo com dados de localização adicionados do endereço IP do cliente.

Os dados que foram descartados por amostragem não são incluídos nos dados exportados.

Outras métricas calculadas não estão incluídas. Por exemplo, não exportamos a utilização média da CPU, mas exportamos a telemetria bruta a partir da qual a média é calculada.

Os dados também incluem os resultados de quaisquer testes da Web de disponibilidade que você tenha configurado.

Nota

Se seu aplicativo enviar muitos dados, o recurso de amostragem poderá operar e enviar apenas uma fração da telemetria gerada. Saiba mais sobre a amostragem.

Inspecionar os dados

Você pode inspecionar o armazenamento diretamente no portal. Selecione Início no menu mais à esquerda. Na parte superior, onde diz Serviços do Azure, selecione Contas de armazenamento. Selecione o nome da conta de armazenamento e, na página Visão geral, selecione Blobs de serviços>. Por fim, selecione o nome do contêiner.

Para inspecionar o Armazenamento do Azure no Visual Studio, selecione Exibir o Gerenciador de>Nuvem. Se você não tiver esse comando de menu, precisará instalar o SDK do Azure. Abra a caixa de diálogo Novo Projeto, expanda Visual C#/Cloud e selecione Obter SDK do Microsoft Azure para .NET.

Ao abrir sua loja de blob, você verá um contêiner com um conjunto de arquivos de blob. Você verá o URI de cada arquivo derivado do nome do recurso do Application Insights, sua chave de instrumentação e o tipo, data e hora da telemetria. O nome do recurso é todo minúsculo e a chave de instrumentação omite traços.

Captura de tela que mostra inspecionando a loja de blob com uma ferramenta adequada.

Nota

A 31 de março de 2025, o suporte da ingestão de chaves de instrumentação terminará. A ingestão de chaves de instrumentação continuará a funcionar, mas não forneceremos mais atualizações ou suporte para o recurso. Transição para cadeias de conexão para aproveitar os novos recursos.

A data e a hora são UTC e são quando a telemetria foi depositada na loja, não a hora em que foi gerada. Por esse motivo, se você escrever código para baixar os dados, ele poderá se mover linearmente pelos dados.

Aqui está a forma do caminho:

$"{applicationName}_{instrumentationKey}/{type}/{blobDeliveryTimeUtc:yyyy-MM-dd}/{ blobDeliveryTimeUtc:HH}/{blobId}_{blobCreationTimeUtc:yyyyMMdd_HHmmss}.blob"

Em que:

  • blobCreationTimeUtc é a hora em que o blob foi criado no armazenamento de preparo interno.
  • blobDeliveryTimeUtc é o momento em que o blob é copiado para o armazenamento de destino de exportação.

Formato dos dados

Os dados são formatados de modo a que:

  • Cada blob é um arquivo de texto que contém várias \nlinhas separadas. Contém a telemetria processada durante um período de tempo de aproximadamente meio minuto.

  • Cada linha representa um ponto de dados de telemetria, como uma solicitação ou exibição de página.

  • Cada linha é um documento JSON não formatado. Se você quiser exibir as linhas, abra o blob no Visual Studio e selecione Editar>arquivo de formato avançado.>

    Captura de tela que mostra a visualização da telemetria com uma ferramenta adequada

As durações de tempo são em ticks, onde 10 000 ticks = 1 ms. Por exemplo, esses valores mostram um tempo de 1 ms para enviar uma solicitação do navegador, 3 ms para recebê-la e 1,8 s para processar a página no navegador:

"sendRequest": {"value": 10000.0},
"receiveRequest": {"value": 30000.0},
"clientProcess": {"value": 17970000.0}

Para obter uma referência de modelo de dados detalhada para os tipos e valores de propriedade, consulte Modelo de dados de exportação do Application Insights.

Processar os dados

Em pequena escala, você pode escrever algum código para separar seus dados e lê-los em uma planilha. Por exemplo:

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);
         }
      }
   }
}

Para obter um exemplo de código maior, consulte Usando uma função de trabalho.

Eliminar os seus dados antigos

Você é responsável por gerenciar sua capacidade de armazenamento e excluir dados antigos, se necessário.

Regenere a sua chave de armazenamento

Se alterar a chave do armazenamento, a Exportação contínua deixará de funcionar. Verá uma notificação na conta do Azure.

Selecione a guia Exportação contínua e edite sua exportação. Edite ovalor Exportar destino , mas deixe o mesmo armazenamento selecionado. Selecionar OK para confirmar.

A exportação contínua será reiniciada.

Exportar amostras

Para amostras de exportação, consulte:

Em escalas maiores, considere clusters Hadoop HDInsight na nuvem. O HDInsight fornece várias tecnologias para gerenciar e analisar big data. Você pode usá-lo para processar dados que foram exportados do Application Insights.

Perguntas mais frequentes

Esta secção fornece respostas a perguntas comuns.

Posso obter um download único de um gráfico?

Você pode fazer isso. Na parte superior da guia, selecione Exportar dados.

Eu configurei uma exportação, mas por que não há dados na minha loja?

O Application Insights recebeu alguma telemetria do seu aplicativo desde que você configurou a exportação? Você só receberá novos dados.

Tentei configurar uma exportação, mas por que me foi negado o acesso?

Se a conta pertencer à sua organização, tem de ser membro dos grupos Proprietários ou Colaboradores.

Posso exportar diretamente para a minha própria loja local?

N.º Atualmente, nosso mecanismo de exportação só funciona com o Armazenamento do Azure no momento.

Existe algum limite para a quantidade de dados que você coloca na minha loja?

N.º Continuaremos enviando dados até que você exclua a exportação. Vamos parar se atingirmos os limites externos para o Armazenamento de Blobs, mas esse limite é enorme. Cabe-lhe a si controlar a quantidade de armazenamento que utiliza.

Quantos blobs devo ver no armazenamento?

  • Para cada tipo de dados selecionado para exportação, um novo blob é criado a cada minuto, se os dados estiverem disponíveis.
  • Para aplicações com alto tráfego, unidades de partição extras são alocadas. Neste caso, cada unidade cria um blob a cada minuto.

Eu regenerei a chave do meu armazenamento ou alterei o nome do contêiner, mas por que a exportação não funciona?

Edite a exportação e selecione a guia Exportar destino . Deixe o mesmo armazenamento selecionado como antes e selecione OK para confirmar. A exportação será reiniciada. Se a alteração ocorreu nos últimos dias, você não perderá dados.

Posso pausar a exportação?

Sim. Selecione Desativar.

Amostras de código

Exportação baseada em definições de diagnóstico

A exportação de configurações de diagnóstico é preferida porque fornece recursos extras:

  • Contas de Armazenamento do Azure com redes virtuais, firewalls e links privados.
  • Exporte para Hubs de Eventos do Azure.

A exportação de configurações de diagnóstico difere ainda mais da exportação contínua das seguintes maneiras:

  • Esquema atualizado.
  • Os dados de telemetria são enviados à medida que chegam, em vez de serem enviados em lotes.

Importante

Custos adicionais podem ser incorridos devido a um aumento nas chamadas para o destino, como uma conta de armazenamento.

Para migrar para a exportação de configurações de diagnóstico:

  1. Habilite as configurações de diagnóstico no Classic Application Insights.
  2. Configurar a exportação de dados: selecione Configurações de diagnóstico Adicione a>configuração de diagnóstico de dentro do recurso do Application Insights.
  3. Verifique se a nova exportação de dados está configurada da mesma forma que a Exportação Contínua

Atenção

Se você quiser armazenar logs de diagnóstico em um espaço de trabalho do Log Analytics, há dois pontos a considerar para evitar ver dados duplicados no Application Insights:

  • O destino não pode ser idêntico à área de trabalho do Log Analytics em que o recurso do Application Insights está baseado.
  • O utilizador do Application Insights não pode ter acesso a ambas as áreas de trabalho. Defina o modo de controle de acesso do Log Analytics como Requer permissões de espaço de trabalho. Por meio do controle de acesso baseado em função do Azure, certifique-se de que o usuário só tenha acesso ao espaço de trabalho do Log Analytics no qual o recurso do Application Insights se baseia.

Estes passos são necessários, dado que o Application Insights acede à telemetria em todos os recursos do Application Insight, incluindo as áreas de trabalho do Log Analytics, de modo a proporcionar operações de transação ponto a ponto completas e mapas de aplicações precisos. Dado que os registos de diagnóstico utilizam os mesmos nomes de tabela, a telemetria duplicada poderá ser apresentada se o utilizador tiver acesso a vários recursos que contenham os mesmos dados.

Modelo de dados de exportação do Application Insights

Esta tabela lista as propriedades da telemetria enviadas dos SDKs do Application Insights para o portal. Você verá essas propriedades na saída de dados da Exportação Contínua. Eles também aparecem em filtros de propriedade no Metric Explorer e na Pesquisa de Diagnóstico.

Pontos a ter em conta:

  • [0] nestas tabelas denota um ponto no caminho onde você tem que inserir um índice; mas nem sempre é 0.
  • As durações de tempo são em décimos de um microssegundo, então 10000000 == 1 segundo.
  • As datas e horas são UTC e são indicadas no formato ISO yyyy-MM-DDThh:mm:ss.sssZ

Exemplo

// 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
    }
  }
}

Contexto

Todos os tipos de telemetria são acompanhados por uma seção de contexto. Nem todos esses campos são transmitidos com todos os pontos de dados.

Caminho Type Notas
context.custom.dimensions [0] objeto [ ] Pares de cadeia de caracteres chave-valor definidos pelo parâmetro de propriedades personalizadas. Comprimento máximo da chave 100, valores comprimento máximo 1024. Mais de 100 valores únicos, o imóvel pode ser pesquisado, mas não pode ser usado para segmentação. Max 200 teclas por ikey.
context.custom.metrics [0] objeto [ ] Pares chave-valor definidos por parâmetro de medições personalizadas e por TrackMetrics. Comprimento máximo da chave 100, os valores podem ser numéricos.
context.data.eventTime string UTC
context.data.isSynthetic boolean A solicitação parece vir de um bot ou teste da Web.
context.data.samplingRate Número Porcentagem de telemetria gerada pelo SDK que é enviada ao portal. Intervalo 0,0-100,0.
context.device objeto Dispositivo cliente
context.device.browser string IE, Chrome, ...
context.device.browserVersão string Chrome 48.0, ...
context.device.deviceModel string
context.device.deviceName string
context.device.id string
context.device.locale string en-GB, de-DE, ...
context.device.network string
context.device.oemName string
contexto.device.os string
context.device.osVersion string SO Anfitrião
context.device.roleInstance string ID do host do servidor
context.device.roleName string
context.device.screenResolução string
context.device.type string PC, Navegador, ...
contexto.localização objeto Derivado de clientip.
contexto.localização.cidade string Derivado de clientip, se conhecido
context.location.clientip string O último octógono é anonimizado para 0.
contexto.localização.continente string
contexto.localização.país string
contexto.localização.província string Distrito
context.operation.id string Os itens que têm o mesmo operation id são mostrados como Itens Relacionados no portal. Normalmente, o request id.
context.operation.name string URL ou nome da solicitação
context.operation.parentId string Permite aninhar itens relacionados.
context.session.id string Id de um grupo de operações da mesma fonte. Um período de 30 minutos sem uma operação sinaliza o fim de uma sessão.
context.session.isFirst boolean
context.user.accountAcquisitionDate string
context.user.accountId string
context.user.anonAcquisitionDate string
context.user.anonId string
context.user.authAcquisitionDate string Usuário autenticado
context.user.authId string
context.user.isAuthenticated boolean
context.user.storeRegion string
internal.data.documentVersion string
internal.data.id string Unique id que é atribuído quando um item é ingerido ao Application Insights

evento

Eventos personalizados gerados por TrackEvent().

Caminho Type Notas
contagem de eventos [0] integer 100/(taxa de amostragem ). Por exemplo, 4 => 25%.
nome do evento [0] string Nome do evento. Comprimento máximo 250.
evento [0] url string
evento [0] urlData.base string
evento [0] urlData.host string

Exceções

Relata exceções no servidor e no navegador.

Caminho Type Notas
montagem basicException [0] string
contagem basicException [0] integer 100/(taxa de amostragem ). Por exemplo, 4 => 25%.
basicException [0] exceptionGroup string
basicException [0] exceptionType string
basicException [0] failedUserCodeMethod string
basicException [0] failedUserCodeAssembly string
basicException [0] handledAt string
basicException [0] hasFullStack boolean
basicException [0] id string
método basicException [0] string
mensagem basicException [0] string Mensagem de exceção. Comprimento máximo 10k.
basicException [0] outerExceptionMessage string
basicException [0] outerExceptionThrownAtAssembly string
basicException [0] outerExceptionThrownAtMethod string
basicException [0] outerExceptionType string
basicException [0] outerId string
montagem basicException [0] parsedStack [0] string
basicException [0] parsedStack [0] nome_do_arquivo string
basicException [0] nível parsedStack [0] integer
linha basicException [0] parsedStack [0] integer
método basicException [0] parsedStack [0] string
pilha basicException [0] string Comprimento máximo 10k
basicException [0] typeName string

Mensagens de rastreamento

Enviado pelo TrackTrace e pelos adaptadores de log.

Caminho Type Notas
mensagem [0] loggerName string
parâmetros da mensagem [0] string
mensagem [0] raw string A mensagem de log, comprimento máximo 10k.
mensagem [0] severityLevel string

Dependência remota

Enviado por TrackDependency. Usado para relatar o desempenho e o uso de chamadas para dependências no servidor e chamadas AJAX no navegador.

Caminho Type Notas
remoteDependency [0] assíncrono boolean
remoteDependency [0] nome_base string
remoteDependency [0] commandName string Por exemplo, "home/index"
contagem remoteDependency [0] integer 100/(taxa de amostragem ). Por exemplo, 4 => 25%.
remoteDependency [0] dependencyTypeName string HTTP, SQL, ...
remoteDependency [0] durationMetric.value Número Tempo desde a chamada até a conclusão da resposta por dependência
remoteDependency [0] id string
nome remoteDependency [0] string Url. Comprimento máximo 250.
remoteDependency [0] resultCode string da dependência HTTP
Êxito de remoteDependency [0] boolean
tipo remoteDependency [0] string Http, Sql,...
url remoteDependency [0] string Comprimento máximo 2000
remoteDependency [0] urlData.base string Comprimento máximo 2000
remoteDependency [0] urlData.hashTag string
remoteDependency [0] urlData.host string Comprimento máximo 200

Pedidos do

Enviado por TrackRequest. Os módulos padrão usam isso para relatar o tempo de resposta do servidor, medido no servidor.

Caminho Type Notas
solicitar [0] contagem integer 100/(taxa de amostragem ). Por exemplo: 4 => 25%.
solicitação [0] durationMetric.value Número Tempo desde a chegada do pedido até à resposta. 1e7 == 1s
pedido [0] id string Operation id
solicitar [0] nome string GET/POST + base url. Comprimento máximo 250
request [0] responseCode integer Resposta HTTP enviada ao cliente
pedido [0] sucesso boolean Padrão == (responseCode < 400)
solicitar [0] url string Não inclui anfitrião
solicitação [0] urlData.base string
solicitação [0] urlData.hashTag string
solicitação [0] urlData.host string

Desempenho da Visualização de Página

Enviado pelo navegador. Mede o tempo para processar uma página, desde o usuário iniciar a solicitação até a exibição completa (excluindo chamadas AJAX assíncronas).

Os valores de contexto mostram o sistema operacional do cliente e a versão do navegador.

Caminho Type Notas
clientPerformance [0] clientProcess.value integer Tempo desde o fim do recebimento do HTML até a exibição da página.
nome clientPerformance [0] string
clientPerformance [0] networkConnection.value integer Tempo necessário para estabelecer uma conexão de rede.
clientPerformance [0] receiveRequest.value integer Tempo desde o final do envio do pedido até à receção do HTML em resposta.
clientPerformance [0] sendRequest.value integer Tempo necessário para enviar a solicitação HTTP.
clientPerformance [0] total.value integer Tempo desde o início do envio do pedido até à apresentação da página.
url clientPerformance [0] string URL deste pedido
clientPerformance [0] urlData.base string
clientPerformance [0] urlData.hashTag string
clientPerformance [0] urlData.host string
clientPerformance [0] urlData.protocol string

Visualizações de página

Enviado por trackPageView() ou stopTrackPage

Caminho Type Notas
ver [0] contagem integer 100/(taxa de amostragem ). Por exemplo, 4 => 25%.
ver [0] durationMetric.value integer Valor opcionalmente definido em trackPageView() ou por startTrackPage() - stopTrackPage(). Não é o mesmo que os valores clientPerformance.
ver [0] nome string Título da página. Comprimento máximo 250
ver [0] url string
ver [0] urlData.base string
ver [0] urlData.hashTag string
ver [0] urlData.host string

Disponibilidade

Relatórios de testes web de disponibilidade.

Caminho Type Notas
Disponibilidade [0] availabilityMetric.name string disponibilidade
disponibilidade [0] availabilityMetric.value Número 1,0 ou 0,0
Contagem de disponibilidade [0] integer 100/(taxa de amostragem ). Por exemplo, 4 => 25%.
Disponibilidade [0] dataSizeMetric.name string
disponibilidade [0] dataSizeMetric.value integer
Disponibilidade [0] durationMetric.name string
disponibilidade [0] durationMetric.value Número Duração do ensaio. 1e7==1s
Mensagem de disponibilidade [0] string Diagnóstico de falhas
Disponibilidade [0] Resultado string Aprovado/Reprovado
disponibilidade [0] runLocation string Fonte geográfica de http req
disponibilidade [0] testName string
disponibilidade [0] testRunId string
disponibilidade [0] testTimestamp string

Métricas

Gerado por TrackMetric().

O valor da métrica é encontrado em context.custom.metrics[0]

Por exemplo:

{
  "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
          }
        }
      ]  
    }
  }
}

Sobre valores métricos

Os valores métricos, tanto em relatórios de métricas quanto em outros lugares, são relatados com uma estrutura de objeto padrão. Por exemplo:

"durationMetric": {
  "name": "contoso.org",
  "type": "Aggregation",
  "value": 468.71603053650279,
  "count": 1.0,
  "min": 468.71603053650279,
  "max": 468.71603053650279,
  "stdDev": 0.0,
  "sampledValue": 468.71603053650279
}

Atualmente - embora isso possa mudar no futuro - em todos os valores relatados a partir dos módulos SDK padrão, count==1 e apenas os name campos e value são úteis. O único caso em que eles seriam diferentes seria se você escrevesse suas próprias chamadas TrackMetric nas quais você define os outros parâmetros.

O objetivo dos outros campos é permitir que as métricas sejam agregadas no SDK, para reduzir o tráfego para o portal. Por exemplo, você pode calcular a média de várias leituras sucessivas antes de enviar cada relatório de métrica. Em seguida, você calcularia o min, max, desvio padrão e valor agregado (soma ou média) e definiria a contagem para o número de leituras representado pelo relatório.

Nas tabelas acima, omitimos os campos raramente usados count, min, max, stdDev e sampledValue.

Em vez de pré-agregar métricas, você pode usar amostragem se precisar reduzir o volume de telemetria.

Durações

Salvo indicação em contrário, as durações são representadas em décimos de microssegundo, de modo que 10000000.0 significa 1 segundo.

Consulte também