Os widgets personalizados permitem que você estenda o dashboard do Media Streaming com visualizações de gráficos sob medida criadas a partir de suas próprias consultas NRQL. Os widgets personalizados aparecem no dropdown Quality Metrics ao lado das métricas predefinidas, em uma categoria Custom Metrics separada. Eles persistem entre as sessões e são dimensionados dentro do dashboard existente.
Importante
Cada conta suporta um limite flexível de 50 widgets personalizados. Esse limite é baseado na capacidade do NerdStorage. Se você atingi-lo, exclua um widget personalizado existente antes de adicionar um novo.
Antes de você começar
Os widgets personalizados são criados a partir do nerdpack Media Streaming. Você precisa de acesso a uma conta da New Relic com o agente de Streaming Video & Ads instalado. Consulte Instalar o agente de Streaming de Vídeo e Anúncios se você ainda não o configurou.
Criar um widget personalizado
- Abra o dashboard de Media Streaming e navegue até a seção Quality Metrics.
- Clique em + Add Custom Widget.
- Insira um título para o widget.
- Escreva sua consulta NRQL no editor NRQL. Consulte Escrevendo consultas para obter orientação sobre sintaxe, espaços reservados de filtro e exemplos.
- Clique em Run Query para visualizar os resultados antes de salvar.
- Clique em Save. O widget é adicionado à seção Custom Metrics do dropdown Quality Metrics e renderizado no dashboard.
Escrevendo consultas
O editor NRQL aceita qualquer consulta NRQL SELECT ou FROM válida. Escreva sua consulta completa diretamente no editor — o destaque de sintaxe, o preenchimento automático e a validação em tempo real são fornecidos pelo editor.
Requisitos da consulta
- As consultas devem começar com
SELECTouFROMe conter ambas as cláusulas. - Não inclua uma cláusula
SINCEouUNTILcodificada. O seletor de hora do dashboard injeta o intervalo de tempo automaticamente no momento da execução. - Para responder às seleções da barra de filtros no nível do dashboard, inclua um espaço reservado de filtro em sua consulta.
Espaços reservados de filtro
Os espaços reservados de filtro são tokens de comentário NRQL que são substituídos no tempo de execução pelas condições de filtro aplicadas na barra de filtro do dashboard. Adicione-os manualmente à sua consulta.
| Espaço reservado | Quando usar |
|---|---|
/* {whereClause} */ | Sua consulta não tem uma cláusula WHERE existente. O espaço reservado é substituído por uma condição WHERE ... completa. |
/* {andWhereClause} */ | Sua consulta já tem uma cláusula WHERE . O espaço reservado é anexado como uma condição AND ... adicional. |
/* {aggregatorWhereClause} */ | Dentro de uma função filter() que já contém uma cláusula WHERE. Anexa uma condição AND ... adicional dentro do escopo do agregador. |
Exemplo — sem cláusula WHERE existente:
SELECT uniqueCount(viewId) AS 'Total Views'FROM VideoAction /* {whereClause} */TIMESERIESQuando um filtro para asn = '14618' está ativo:
SELECT uniqueCount(viewId) AS 'Total Views'FROM VideoAction WHERE asn = '14618'TIMESERIES SINCE 30 minutes ago UNTIL nowExemplo — cláusula WHERE existente:
SELECT count(*) AS 'Error Count'FROM VideoErrorAction, VideoActionWHERE actionName = 'CONTENT_ERROR' /* {andWhereClause} */TIMESERIESExemplo — filtro dentro de uma função de agregador:
FROM VideoActionSELECT ( filter(sum(timeSinceBufferBegin), WHERE actionName = 'CONTENT_BUFFER_END' AND bufferType = 'connection' /* {aggregatorWhereClause} */ ) / filter(sum(elapsedTime) OR 1, WHERE actionName = 'CONTENT_HEARTBEAT' /* {aggregatorWhereClause} */ )) AS 'Connection-induced rebuffering ratio'TIMESERIESDica
Quando um filtro está ativo na barra de filtros do dashboard, todos os três tipos de espaço reservado são resolvidos para as mesmas condições de filtro subjacentes — a diferença é apenas sintática, para produzir um NRQL válido dependendo da estrutura da sua consulta.
Palavras-chave e caracteres bloqueados
Para evitar a modificação acidental ou maliciosa de dados, os seguintes itens estão bloqueados no editor NRQL:
Palavras-chave bloqueadas:
DROPDELETEINSERTUPDATECREATEALTER
Caracteres bloqueados:
- Ponto e vírgula (
;) — bloqueado para evitar cadeia de consultas ou ataques de injeção.
Consultas contendo qualquer um destes falharão na validação e não poderão ser salvas ou visualizadas.
Exemplos de consulta
Série temporal básica — total de inícios de vídeo:
SELECT count(*) AS 'Video Starts'FROM VideoActionWHERE actionName = 'CONTENT_START' /* {andWhereClause} */TIMESERIESContagem de espectadores únicos com integração de filtro:
SELECT uniqueCount(viewId) AS 'Unique Viewers'FROM VideoAction /* {whereClause} */TIMESERIESTaxa de erros entre tipos de evento:
SELECT count(*) AS 'Error Count'FROM VideoErrorAction, VideoActionWHERE actionName = 'CONTENT_ERROR' /* {andWhereClause} */TIMESERIESTaxa de rebufferização induzida pela conexão (avançado):
FROM VideoActionSELECT ( filter(sum(timeSinceBufferBegin), WHERE actionName = 'CONTENT_BUFFER_END' AND bufferType = 'connection' /* {aggregatorWhereClause} */ ) / filter(sum(elapsedTime) OR 1, WHERE actionName = 'CONTENT_HEARTBEAT' /* {aggregatorWhereClause} */ )) AS 'Connection-induced rebuffering ratio'TIMESERIESPara mais inspiração de consulta, consulte o Dicionário de Dados de Métrica de Taxa de Bits para exemplos de NRQL pré-construídos usando VideoAction e VideoErrorAction.
Visualizar um widget
Clique em Run Query antes de salvar para executar a consulta em dados ativos e ver um gráfico renderizado. Isso não salva o widget.
Use a pré-visualização para:
- Confirme se o gráfico renderiza os dados que você espera.
- Verifique se os espaços reservados de filtro são resolvidos corretamente quando um filtro está ativo na barra de filtros.
- Detecte erros de sintaxe ou lógica antes que o widget seja confirmado no dashboard.
Editar um widget personalizado
- Na seção Quality Metrics, localize o widget personalizado que você deseja alterar.
- Clique no ícone de lápis no cartão do widget.
- O editor abre no modo de edição com todos os campos pré-preenchidos — título e consulta NRQL existente.
- Faça suas alterações, clique em Run Query para verificar e, em seguida, clique em Save.
Quando salvo:
- O timestamp
updatedAté atualizado; ocreatedAtoriginal e oiddo widget são preservados. - O widget é renderizado novamente de forma imediata com a consulta atualizada.
- Se você alterou o título, ele é atualizado no dropdown de Métricas de Qualidade.
Excluir um widget personalizado
- Na seção Quality Metrics, clique no ícone no cartão do widget.
- Selecione Delete.
- Confirme no prompt: "Tem certeza de que deseja excluir '[Título do Widget]'? Esta ação não pode ser desfeita."
Quando excluído:
- O widget é removido do NerdStorage e excluído permanentemente.
- O cartão do widget é removido imediatamente do dashboard.
- O título é removido do dropdown de Métrica de Qualidade.
- Se o widget estava selecionado, ele é desmarcado automaticamente.
Cuidado
A exclusão é permanente. Copie sua consulta NRQL antes de excluir um widget se você puder precisar dela mais tarde.
Limite de widget
O limite flexível de 50 widgets por conta é baseado na capacidade de documentos do NerdStorage. Com 50 widgets, o uso de armazenamento é de aproximadamente 21 KB — cerca de 33% do limite de 64 KB por documento, fornecendo uma margem segura.
Se você atingir o limite, a criação de widgets será bloqueada até que um widget personalizado existente seja excluído. Os widgets existentes continuam funcionando normalmente.