Métricas no Application Insights
O Application Insights oferece suporte a três tipos diferentes de métricas: padrão (pré-agregada), baseada em log e personalizada. Cada um deles traz um valor exclusivo no monitoramento da integridade do aplicativo, diagnósticos e análises. Os desenvolvedores que estão instrumentando aplicativos podem decidir qual tipo de métrica é mais adequado para um cenário específico. As decisões são baseadas no tamanho do aplicativo, no volume esperado de telemetria e nos requisitos de negócios para precisão de métricas e alertas. Este artigo explica a diferença entre todos os tipos de métricas suportados.
Métricas standard
As métricas padrão no Application Insights são métricas predefinidas que são coletadas e monitoradas automaticamente pelo serviço. Essas métricas abrangem uma ampla gama de indicadores de desempenho e uso, como uso da CPU, consumo de memória, taxas de solicitação e tempos de resposta. As métricas padrão fornecem uma visão geral abrangente da integridade e do desempenho do seu aplicativo sem a necessidade de qualquer configuração adicional. As métricas padrão são pré-agregadas durante a coleta e armazenadas como uma série temporal em um repositório especializado com apenas dimensões-chave, o que lhes proporciona um melhor desempenho no momento da consulta. Isso torna as métricas padrão a melhor escolha para alertas quase em tempo real sobre dimensões de métricas e painéis mais responsivos.
Métricas baseadas no registo
As métricas baseadas em log no Application Insights são um conceito de tempo de consulta, representado como uma série temporal sobre os dados de log do seu aplicativo. Os logs subjacentes não são pré-agregados no momento da coleta ou armazenamento e retêm todas as propriedades de cada entrada de log. Essa retenção torna possível usar propriedades de log como dimensões em métricas baseadas em log no momento da consulta para filtragem de gráficos de métricas e divisão de métricas, dando às métricas baseadas em log um valor analítico e de diagnóstico superior. No entanto, as técnicas de redução de volume de telemetria, como amostragem e filtragem por telemetria, comumente usadas com aplicativos de monitoramento que geram grandes volumes de telemetria, afetam a quantidade de entradas de log coletadas e, portanto, reduzem a precisão das métricas baseadas em log.
Métricas personalizadas (visualização)
As métricas personalizadas no Application Insights permitem que você defina e acompanhe medições específicas que são exclusivas do seu aplicativo. Essas métricas podem ser criadas instrumentando seu código para enviar dados de telemetria personalizados para o Application Insights. As métricas personalizadas oferecem a flexibilidade de monitorar qualquer aspeto do seu aplicativo que não seja coberto por métricas padrão, permitindo que você obtenha informações mais detalhadas sobre o comportamento e o desempenho do seu aplicativo.
Para obter mais informações, consulte Métricas personalizadas no Azure Monitor (visualização).
Nota
O Application Insights também fornece um recurso chamado fluxo de métricas ao vivo, que permite o monitoramento quase em tempo real de seus aplicativos Web e não armazena dados de telemetria.
Comparação de métricas
Caraterística | Métricas standard | Métricas baseadas no registo | Métricas personalizadas |
---|---|---|---|
Origem de dados | Dados pré-agregados de séries cronológicas recolhidos durante o tempo de execução. | Derivado de dados de log usando consultas Kusto. | Métricas definidas pelo usuário coletadas por meio do SDK ou API do Application Insights. |
Granularidade | Intervalos fixos (1 minuto). | Depende da granularidade dos próprios dados de log. | Granularidade flexível com base em métricas definidas pelo usuário. |
Exatidão | Alto, não afetado pela amostragem de log. | Pode ser afetado pela amostragem e filtragem. | Alta precisão, especialmente ao usar métodos pré-agregados como GetMetric. |
Custo | Incluído nos preços do Application Insights. | Com base na ingestão de dados de log e custos de consulta. | Consulte Modelo de preços e retenção. |
Configuração | Disponível automaticamente com configuração mínima. | Exigir a configuração de consultas de log para extrair as métricas desejadas dos dados de log. | Requer implementação e configuração personalizadas no código. |
Desempenho das consultas | Rápido, devido à pré-agregação. | Mais lento, pois envolve a consulta de dados de log. | Depende do volume de dados e da complexidade da consulta. |
Armazenamento | Armazenados como dados de séries cronológicas no repositório de métricas do Azure Monitor. | Armazenados como logs no espaço de trabalho do Log Analytics. | Armazenado no Log Analytics e no repositório de métricas do Azure Monitor. |
Alertas | Suporta alertas em tempo real. | Permite cenários de alerta complexos com base em dados de log detalhados. | Alertas flexíveis com base em métricas definidas pelo usuário. |
Limite de serviço | Sujeito aos limites do Application Insights. | Sujeito aos limites do espaço de trabalho do Log Analytics. | Limitado pela quota para métricas gratuitas e pelo custo para dimensões adicionais. |
Casos de utilização | Monitoramento em tempo real, painéis de desempenho e insights rápidos. | Diagnósticos detalhados, solução de problemas e análise aprofundada. | Indicadores de desempenho personalizados e métricas específicas do negócio. |
Exemplos | Uso da CPU, uso da memória, duração da solicitação. | Contagens de solicitações, rastreamentos de exceções, chamadas de dependência. | Métricas personalizadas específicas do aplicativo, como envolvimento do usuário, uso de recursos. |
Pré-agregação de métricas
Os SDKs OpenTelemetry e os SDKs mais recentes do Application Insights (API clássica) pré-agregam métricas durante a coleta para reduzir o volume de dados enviados do SDK para o ponto de extremidade do canal de telemetria. Esse processo se aplica a métricas padrão enviadas por padrão, portanto, a precisão não é afetada pela amostragem ou filtragem. Ele também se aplica a métricas personalizadas enviadas usando a API OpenTelemetry ou GetMetric e TrackValue, o que resulta em menos ingestão de dados e menor custo. Se sua versão do SDK do Application Insights oferecer suporte a GetMetric e TrackValue, esse é o método preferido de envio de métricas personalizadas.
Para SDKs que não implementam preagregação (ou seja, versões mais antigas de SDKs do Application Insights ou para instrumentação de navegador), o back-end do Application Insights ainda preenche as novas métricas agregando os eventos recebidos pelo ponto de extremidade do canal de telemetria do Application Insights. Para métricas personalizadas, você pode usar o método trackMetric . Embora você não se beneficie do volume reduzido de dados transmitidos por fio, ainda pode usar as métricas pré-agregadas e experimentar um melhor desempenho e suporte ao alerta dimensional quase em tempo real com SDKs que não pré-agregam métricas durante a coleta.
O ponto de extremidade do canal de telemetria pré-agrega eventos antes da amostragem de ingestão. Por esse motivo, a amostragem de ingestão nunca afeta a precisão das métricas pré-agregadas, independentemente da versão do SDK que você usa com seu aplicativo.
As tabelas a seguir listam onde a pré-agregação é pré-agregada.
Pré-agregação de métricas com o Azure Monitor OpenTelemetry Distro
SDK de produção atual | Pré-agregação de métricas padrão | Pré-agregação de métricas personalizadas |
---|---|---|
ASP.NET Core | SDK | SDK via API OpenTelemetry |
.NET (via Exportador) | SDK | SDK via API OpenTelemetry |
Java (3.x) | SDK | SDK via API OpenTelemetry |
Java nativo | SDK | SDK via API OpenTelemetry |
Node.js | SDK | SDK via API OpenTelemetry |
Python | SDK | SDK via API OpenTelemetry |
Pré-agregação de métricas com o SDK do Application Insights (API clássica)
SDK de produção atual | Pré-agregação de métricas padrão | Pré-agregação de métricas personalizadas |
---|---|---|
.NET Core e .NET Framework | SDK (v2.13.1+) | SDK (V2.7.2+) via GetMetric Ponto de extremidade do canal de telemetria via TrackMetric |
Java (2.x) | Ponto de extremidade do canal de telemetria | Ponto de extremidade do canal de telemetria via TrackMetric |
JavaScript (Browser) | Ponto de extremidade do canal de telemetria | Ponto de extremidade do canal de telemetria via TrackMetric |
Node.js | Ponto de extremidade do canal de telemetria | Ponto de extremidade do canal de telemetria via TrackMetric |
Python | Ponto de extremidade do canal de telemetria | SDK via OpenCensus.stats (desativado) Ponto de extremidade do canal de telemetria via TrackMetric |
Atenção
O SDK Java 2.x do Application Insights não é mais recomendado. Em vez disso, use a oferta Java baseada em OpenTelemetry.
O OpenCensus Python SDK foi desativado. Recomendamos a oferta Python baseada em OpenTelemetry e fornecemos orientação de migração.
Pré-agregação de métricas com autoinstrumentação
Com a autoinstrumentação, o SDK é adicionado automaticamente ao código do aplicativo e não pode ser personalizado. Para métricas personalizadas, é necessária instrumentação manual.
SDK de produção atual | Pré-agregação de métricas padrão | Pré-agregação de métricas personalizadas |
---|---|---|
ASP.NET Core | SDK 1 | Não suportado |
ASP.NET | SDK 2 | Não suportado |
Java | SDK | Suportado 3 |
Node.js | SDK | Não suportado |
Python | SDK | Não suportado |
Notas de rodapé
- 1 ASP.NET Autoinstrumentação principal no Serviço de Aplicativo emite métricas padrão sem dimensões. A instrumentação manual é necessária para todas as dimensões.
- 2 ASP.NET autoinstrumentação em máquinas virtuais/conjuntos de dimensionamento de máquinas virtuais e emite métricas padrão no local sem dimensões. O mesmo é verdadeiro para o Serviço de Aplicativo do Azure, mas o nível de coleta deve ser definido como recomendado. A instrumentação manual é necessária para todas as dimensões.
- 3 O agente Java usado com a autoinstrumentação captura métricas emitidas por bibliotecas populares e as envia para o Application Insights como métricas personalizadas.
Métricas personalizadas, dimensões e pré-agregação
Todas as métricas enviadas usando OpenTelemetry, trackMétric, ou chamadas de API GetMetric e TrackValue são armazenadas automaticamente no repositório de métricas e nos logs. Essas métricas podem ser encontradas na tabela customMetrics no Application Insights e no Metrics Explorer sob o namespace de métrica personalizada chamado azure.applicationinsights. Embora a versão baseada em log da métrica personalizada sempre mantenha todas as dimensões, a versão pré-agregada da métrica é armazenada por padrão sem dimensões. A retenção de dimensões de métricas personalizadas é um recurso de visualização que pode ser ativado na guia Uso e custo estimado selecionando Com dimensões em Enviar métricas personalizadas para o Azure Metric Store.
Quotas
As métricas pré-agregadas são armazenadas como séries temporais no Azure Monitor. Aplicam-se cotas do Azure Monitor em métricas personalizadas .
Nota
Ultrapassar a quota pode ter consequências indesejadas. O Azure Monitor pode tornar-se pouco fiável na sua subscrição ou região. Para saber como evitar exceder a cota, consulte Limitações e considerações de design.
Por que a coleta de dimensões de métricas personalizadas está desativada por padrão?
A coleção de dimensões de métricas personalizadas é desativada por padrão porque, no futuro, o armazenamento de métricas personalizadas com dimensões será cobrado separadamente do Application Insights. O armazenamento das métricas personalizadas não dimensionais permanece gratuito (até uma cota). Você pode saber mais sobre as próximas mudanças no modelo de preços em nossa página oficial de preços.
Crie gráficos e explore métricas
Use o explorador de métricas do Azure Monitor para plotar gráficos de métricas pré-agregadas, baseadas em log e personalizadas, e para criar painéis com gráficos. Depois de selecionar o recurso do Application Insights desejado, use o seletor de namespace para alternar entre métricas.
Modelos de preços para métricas do Application Insights
A ingestão de métricas no Application Insights, seja baseada em log ou pré-agregada, gera custos com base no tamanho dos dados ingeridos. Para obter mais informações, consulte Detalhes de preços dos Logs do Azure Monitor. Suas métricas personalizadas, incluindo todas as suas dimensões, são sempre armazenadas no repositório de logs do Application Insights. Além disso, uma versão pré-agregada de suas métricas personalizadas sem dimensões é encaminhada para o repositório de métricas por padrão.
Selecionar a opção Ativar alertas em dimensões métricas personalizadas para armazenar todas as dimensões das métricas pré-agregadas no repositório de métricas pode gerar custos extras com base nos preços das métricas personalizadas.
Métricas disponíveis
As seções a seguir listam métricas com agregações e dimensões suportadas. Os detalhes sobre métricas baseadas em log incluem as instruções de consulta Kusto subjacentes.
Métricas de disponibilidade
As métricas na categoria Disponibilidade permitem que você veja a integridade do seu aplicativo Web conforme observado em pontos ao redor do mundo. Configure os testes de disponibilidade para começar a usar quaisquer métricas dessa categoria.
Disponibilidade (disponibilidadeResultados/percentagemidadede disponibilidade)
A métrica Disponibilidade mostra a porcentagem de execuções de teste da Web que não detetaram nenhum problema. O menor valor possível é 0, o que indica que todas as execuções de teste da Web falharam. O valor de 100 significa que todas as execuções de teste da Web passaram pelos critérios de validação.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Percentagem | Média | Run location , Test name |
Duração do teste de disponibilidade (disponibilidadeResultados/duração)
A métrica Duração do teste de disponibilidade mostra quanto tempo levou para a execução do teste da Web. Para os testes da Web de várias etapas, a métrica reflete o tempo total de execução de todas as etapas.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Milissegundos | Preço médio, máximo, mínimo | Run location , Test name , Test result |
Testes de disponibilidade (availabilityResults/count)
A métrica Testes de disponibilidade reflete a contagem dos testes da Web executados pelo Azure Monitor.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
de palavras | de palavras | Run location , Test name , Test result |
Métricas do navegador
As métricas do navegador são coletadas pelo SDK JavaScript do Application Insights a partir de navegadores reais do usuário final. Eles fornecem ótimas informações sobre a experiência dos usuários com seu aplicativo Web. As métricas do navegador normalmente não são amostradas, o que significa que elas fornecem maior precisão dos números de uso em comparação com as métricas do lado do servidor, que podem ser distorcidas pela amostragem.
Nota
Para coletar métricas do navegador, seu aplicativo deve ser instrumentado com o SDK JavaScript do Application Insights.
Tempo de carregamento da página do navegador (browserTimings/totalDuration)
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Milissegundos | Preço médio, máximo, mínimo | Nenhuma |
Tempo de processamento do cliente (browserTiming/processingDuration)
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Milissegundos | Preço médio, máximo, mínimo | Nenhuma |
Tempo de conexão de rede de carregamento de página (browserTimings/networkDuration)
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Milissegundos | Preço médio, máximo, mínimo | Nenhuma |
Tempo de resposta de recebimento (browserTimings/receiveDuration)
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Milissegundos | Preço médio, máximo, mínimo | Nenhuma |
Tempo de solicitação de envio (browserTimings/sendDuration)
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Milissegundos | Preço médio, máximo, mínimo | Nenhuma |
Métricas das falhas
As métricas em Falhas mostram problemas com o processamento de solicitações, chamadas de dependência e exceções lançadas.
Exceções do navegador (exceções/navegador)
Essa métrica reflete o número de exceções lançadas do código do aplicativo em execução no navegador. Apenas as exceções que são rastreadas com uma trackException()
chamada de API do Application Insights são incluídas na métrica.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
de palavras | de palavras | Cloud role name |
Falhas de chamada de dependência (dependências/falha)
O número de chamadas de dependência com falha.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
de palavras | de palavras | Cloud role instance , Cloud role name , Dependency performance , Dependency type , Is traffic synthetic , Result code , Target of dependency call |
Exceções (exceções/contagem)
Sempre que você registra uma exceção no Application Insights, há uma chamada para o método trackException() do SDK. A métrica Exceptions mostra o número de exceções registradas.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
de palavras | de palavras | Cloud role instance , Cloud role name , Device type |
Pedidos falhados (pedidos/falhas)
A contagem de solicitações de servidor rastreadas que foram marcadas como falha. Por padrão, o SDK do Application Insights marca automaticamente cada solicitação de servidor que retornou o código de resposta HTTP 5xx ou 4xx como uma solicitação com falha. Você pode personalizar essa lógica modificando a propriedade success do item de telemetria de solicitação em um inicializador de telemetria personalizado.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
de palavras | de palavras | Cloud role instance , Cloud role name , Is synthetic traffic , Request performance , Result code |
Exceções do servidor (exceções/servidor)
Essa métrica mostra o número de exceções do servidor.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
de palavras | de palavras | Cloud role instance , Cloud role name |
Contadores de desempenho
Use métricas na categoria Contadores de desempenho para acessar contadores de desempenho do sistema coletados pelo Application Insights.
Memória disponível (performanceCounters/availableMemory)
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Megabytes / Gigabytes (dependente de dados) | Preço médio, máximo, mínimo | Cloud role instance |
Taxa de exceção (performanceCounters/exceptionRate)
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Count | Preço médio, máximo, mínimo | Cloud role instance |
Tempo de execução da solicitação HTTP (performanceCounters/requestExecutionTime)
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Milissegundos | Preço médio, máximo, mínimo | Cloud role instance |
Taxa de solicitação HTTP (performanceCounters/requestsPerSecond)
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Pedidos por segundo | Preço médio, máximo, mínimo | Cloud role instance |
Solicitações HTTP na fila de aplicativos (performanceCounters/requestsInQueue)
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Count | Preço médio, máximo, mínimo | Cloud role instance |
CPU de processo (performanceCounters/processCpuPercentage)
A métrica mostra quanto da capacidade total do processador é consumida pelo processo que está hospedando seu aplicativo monitorado.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Percentagem | Preço médio, máximo, mínimo | Cloud role instance |
Nota
O intervalo da métrica está entre 0 e 100 * n, onde n é o número de núcleos de CPU disponíveis. Por exemplo, o valor métrico de 200% pode representar a utilização total de dois núcleos de CPU ou metade da utilização de 4 núcleos de CPU e assim por diante. O Process CPU Normalized é uma métrica alternativa coletada por muitos SDKs que representa o mesmo valor, mas o divide pelo número de núcleos de CPU disponíveis. Assim, o intervalo da métrica Process CPU Normalized é de 0 a 100.
Taxa de E/S do processo (performanceCounters/processIOBytesPerSecond)
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Bytes por segundo | Média, Mín, Máximo | Cloud role instance |
Processar bytes privados (performanceCounters/processPrivateBytes)
Quantidade de memória não compartilhada que o processo monitorado alocado para seus dados.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Bytes | Média, Mín, Máximo | Cloud role instance |
Tempo do processador (performanceCounters/processorCpuPercentage)
Consumo de CPU por todos os processos em execução na instância do servidor monitorado.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Percentagem | Média, Mín, Máximo | Cloud role instance |
Nota
A métrica de tempo do processador não está disponível para os aplicativos hospedados nos Serviços de Aplicativo do Azure. Use a métrica Process CPU para controlar a utilização da CPU dos aplicativos Web hospedados nos Serviços de Aplicativo.
Métricas do servidor
Chamadas de dependência (dependências/contagem)
Essa métrica é em relação ao número de chamadas de dependência.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
de palavras | de palavras | Cloud role instance , Cloud role name , , Dependency performance , Is traffic synthetic Dependency type , Result code , Successful call ,Target of a dependency call |
Duração da dependência (dependências/duração)
Esta métrica refere-se à duração das chamadas de dependência.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Milissegundos | Preço médio, máximo, mínimo | Cloud role instance , Cloud role name , , Dependency performance , Is traffic synthetic Dependency type , Result code , Successful call ,Target of a dependency call |
Taxa de solicitação do servidor (solicitações/taxa)
Essa métrica reflete o número de solicitações de servidor de entrada que foram recebidas pelo seu aplicativo Web.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Contagem por segundo | Média | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code , Successful request |
Solicitações do servidor (solicitações/contagem)
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
de palavras | de palavras | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code , Successful request |
Tempo de resposta do servidor (pedidos/duração)
Essa métrica reflete o tempo que os servidores levaram para processar solicitações de entrada.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Milissegundos | Preço médio, máximo, mínimo | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code , Successful request |
Métricas de utilização
Tempo de carregamento da vista de página (pageViews/duração)
Essa métrica refere-se à quantidade de tempo que os eventos PageView levaram para carregar.
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
Milissegundos | Preço médio, máximo, mínimo | Cloud role name , Is traffic synthetic |
Visualizações de página (pageViews/count)
A contagem de eventos PageView registrados com a API do Application Insights TrackPageView().
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
de palavras | de palavras | Cloud role name , Is traffic synthetic |
Vestígios (vestígios/contagem)
A contagem de instruções de rastreamento registradas com a chamada da API do Application Insights TrackTrace().
Unidade de medida | Agregações suportadas | Dimensões suportadas |
---|---|---|
de palavras | de palavras | Cloud role instance , Cloud role name , Is traffic synthetic , Severity level |
Métricas personalizadas
Não aplicável a métricas padrão.
Acesse métricas baseadas em log diretamente com a API REST do Application Insights
A API REST do Application Insights permite a recuperação programática de métricas baseadas em log. Ele também apresenta um parâmetro ai.include-query-payload
opcional que, quando adicionado a uma cadeia de caracteres de consulta, solicita que a API retorne não apenas os dados de séries temporais, mas também a instrução KQL (Kusto Query Language) usada para buscá-los. Esse parâmetro pode ser particularmente benéfico para usuários que pretendem compreender a conexão entre eventos brutos no Log Analytics e a métrica baseada em log resultante.
Para acessar seus dados diretamente, passe o parâmetro ai.include-query-payload
para a API do Application Insights em uma consulta usando o KQL.
Nota
Para recuperar a consulta DEMO_APP
de logs subjacente e DEMO_KEY
não precisa substituí-la. Se você quiser apenas recuperar a instrução KQL e não os dados de séries temporais do seu próprio aplicativo, você pode copiá-lo e colá-lo diretamente na barra de pesquisa do navegador.
api.applicationinsights.io/v1/apps/DEMO_APP/metrics/users/authenticated?api_key=DEMO_KEY&prefer=ai.include-query-payload
A seguir está um exemplo de uma instrução KQL de retorno para a métrica "Usuários autenticados". (Neste exemplo, "users/authenticated"
é o ID da métrica.)
output
{
"value": {
"start": "2024-06-21T09:14:25.450Z",
"end": "2024-06-21T21:14:25.450Z",
"users/authenticated": {
"unique": 0
}
},
"@ai.query": "union (traces | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (requests | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (pageViews | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (dependencies | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customEvents | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (availabilityResults | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (exceptions | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customMetrics | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (browserTimings | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)) | where notempty(user_AuthenticatedId) | summarize ['users/authenticated_unique'] = dcount(user_AuthenticatedId)"
}