visualização
Ainda estamos trabalhando nesse recurso, mas adoraríamos que você experimentasse!
Atualmente, esse recurso é fornecido como parte de um programa de visualização de acordo com nossas políticas de pré-lançamento.
Você pode usar nossa API NerdGraph para criar e gerenciar fluxos do Pathpoint de forma programática, em vez de construí-los na interface.
Um fluxo representa uma jornada de negócios, como checkout, autenticação ou onboarding. É a unidade que você cria e gerencia por meio da API. Os fluxos são entidades, portanto, cada um tem um GUID de entidade que você usa para lê-lo, atualizá-lo ou excluí-lo.
Cada fluxo segue uma hierarquia de quatro níveis, com KPIs vinculados ao nível do fluxo, ao nível do estágio ou a ambos:
Flow├── Flow KPIs└── Stages ├── Stage KPIs └── Levels └── Steps └── Signals (entity GUIDs, alert condition GUIDs, or a dynamic query)Para uma introdução ao próprio Pathpoint, consulte Comece a usar o Pathpoint.
Antes de você começar
Você precisa:
- Pathpoint habilitado em sua conta.
- Um da New Relic para autenticar suas requests.
- Seu ID da conta.
Operações de fluxo
Para executar esses exemplos de forma interativa, abra o NerdGraph GraphiQL explorer e pesquise pathPoint no esquema. Antes de executar um exemplo, substitua seus espaços reservados por seus próprios valores: YOUR_ACCOUNT_ID, TARGET_ACCOUNT_ID, FLOW_GUID, SOURCE_FLOW_GUID, ENTITY_GUID, ANOTHER_ENTITY_GUID, ENTITY_NAME, ALERT_CONDITION_GUID e os IDs de estágio, nível e etapa.
Crie um fluxo
Crie um fluxo passando seus estágios, níveis, etapas e sinais aninhados em uma única mutação.
pathPointCreate requer a conta scope. Dentro da carga, apenas name é obrigatório. Todo o resto, incluindo stages, é opcional. Uma etapa obtém seus sinais de uma das três maneiras, e você pode combiná-las:
- A dynamic query (
entitySearchQuery): quaisquer entidades que correspondam à consulta, reavaliadas a cada atualização. - A pinned entity (
type: ENTITY): Uma entidade específica, identificada por seu GUID. - A pinned alert condition (
type: ALERT): uma condição do alerta, identificada por seu GUID.
O campo type é opcional. O GUID é suficiente para identificar o sinal.
Os estágios também aceitam um bloco related opcional que controla como a interface desenha as setas de conexão entre eles, independentemente da agregação de integridade. Defina source: true se um estágio deve mostrar uma seta de entrada do estágio anterior, e target: true se deve mostrar uma seta de saída para o estágio seguinte. Em um fluxo onde cada estágio se conecta ao próximo em sequência, o primeiro estágio é source: false, target: true, o último é source: true, target: false, e cada estágio intermediário é true para ambos.
Importante
O accountId de um KPI tem como padrão a conta do fluxo. Se você o definir para uma conta diferente, o KPI não é criado e nenhum erro é retornado. Verifique o campo excludedKpis na resposta para ver quais KPIs a mutação ignorou.
Ler um fluxo
Leia um fluxo pelo GUID de sua entidade para obter sua configuração completa, além do status de saúde atual do fluxo, de cada estágio, de cada nível e de cada etapa. healthStatus aparece apenas em leituras.
Estágios, níveis e passos retornam 50 itens por página. Quando um nextCursor retorna não nulo, passe-o para buscar a próxima página.
{ actor { account(id: YOUR_ACCOUNT_ID) { pathPoint { flow(guid: "FLOW_GUID") { guid name description category refreshInterval healthRollup healthStatus version message kpis { id name category accountId query { from where select { aggregationType attribute alias threshold } timeWindow { customRange relativeRange { since compareAgainst } } } metricQuery } stages { totalCount nextCursor items { id name link healthRollup healthStatus isExcluded related { source target } levels { totalCount nextCursor items { id healthStatus steps { totalCount nextCursor items { id name healthStatus isExcluded scopedAccounts config { healthRollup thresholdType thresholdValue } entitySearchQuery { query isExcluded } signals { guid name type isExcluded } } } } } } } metadata { createdAt createdBy { name email } updatedAt updatedBy { name email } } } } } }}Solicite menos campos se não precisar da árvore inteira. Ler apenas name e healthStatus, por exemplo, é suficiente para consultar o status de um fluxo.
Atualizar um fluxo
pathPointUpdate é uma operação baseada em diff. Ele compara a carga que você envia com o estado atual do fluxo e atua em cada estágio, nível, etapa e KPI de acordo com a inclusão do respectivo ID:
- ID included: atualiza o objeto existente.
- ID omitted: Cria um novo objeto.
- Object left out of the payload entirely: exclui-o do fluxo.
Cuidado
Como a omissão significa exclusão, sempre leia o fluxo primeiro, modifique a carga recebida e envie o estado pretendido completo. Enviar uma carga parcial exclui tudo o que foi deixado de fora.
O campo version também é obrigatório. É o timestamp da última atualização do fluxo em milissegundos epoch, usado para controle de concorrência otimista. Omiti-lo ou enviar um valor desatualizado faz com que a atualização falhe.
Duplicar um fluxo
Você pode duplicar apenas a estrutura ou o fluxo inteiro:
STRUCTURE: copia apenas estágios, níveis e etapas, sem sinais ou KPIs.WHOLE_FLOW: copia a estrutura junto com seus sinais e KPIs.
Qualquer propriedade definida na entrada substitui o valor do fluxo de origem. Omita uma propriedade para herdá-la.
Excluir um fluxo
A exclusão de um fluxo ocorre em cascata: remove o fluxo junto com todos os seus estágios, níveis, etapas e KPIs. Os próprios sinais, as entidades e as condições do alerta para os quais o fluxo apontava permanecem na sua conta.
Cuidado
A exclusão de um fluxo é permanente.
mutation { pathPointDelete(guid: "FLOW_GUID") { guid name }}Falhas parciais
Uma criação ou atualização pode ser bem-sucedida no geral, enquanto objetos individuais falham. Dois campos na resposta indicam quando isso ocorreu:
message: detalhes de quaisquer estágios, níveis ou etapas que falharam. Énullquando tudo foi bem-sucedido.excludedKpis: os nomes dos KPIs que não foram criados, mais comumente porque oaccountIddo KPI não correspondia à conta do fluxo.
Solicite ambos os campos em suas mutações para não tratar um sucesso parcial como completo.
Limites
Os seguintes limites se aplicam a cada fluxo, quer você o crie por meio da API ou na interface:
Limite | Valor |
|---|---|
Máximo de estágios por fluxo | 50 |
Níveis máximos por estágio | 50 |
Máximo de passos por nível | 50 |
Máximo de itens retornados por página | 50 |
Referência de tipos
Esses enums aparecem nas operações acima. Cada linha lista os valores aceitos, seguidos pelo que eles controlam:
Enum | Valores |
|---|---|
|
,
,
,
,
. Com que frequência a integridade do fluxo, estágio, nível e etapa é atualizada. |
,
|
,
. Se a integridade é acumulada a partir de objetos filhos ou vem da pior condição do alerta nos KPIs do fluxo ou do estágio. |
|
,
. Se a etapa considera o seu sinal menos saudável ou o mais saudável. |
|
,
. Se
é uma contagem absoluta ou uma porcentagem de sinais. |
|
,
,
,
. Saúde computada, retornada nas leituras. |
|
,
. Se o GUID aponta para uma entidade monitorada, como um serviço APM ou host, ou para uma condição do alerta. |
|
,
,
,
,
,
,
,
. A agregação que uma consulta de KPI aplica. Toda função, exceto
, precisa de um
. |
|
,
,
,
,
,
,
. Durações para
e
de um KPI. |
|
,
. Se deve copiar apenas estágios, níveis e etapas, ou a estrutura junto com seus sinais e KPIs. |