Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Este recurso está em Versão prévia privada. Para experimentá-lo, entre em contato com o representante do Azure Databricks.
Adicione análises a um aplicativo existente em três etapas: grave um evento, encaminhe-o pelo seu backend e verifique no Analytics. Não é necessária nenhuma biblioteca específica de análise.
Pré-requisitos
- Um aplicativo registrado na prévia de Análise de Aplicativos, com a telemetria do aplicativo ativada.
- As permissões listadas em Requisitos.
Passo 1: Grave um evento
Chame esse código de um manipulador de interação existente. Este exemplo registra report_exported após o sucesso de uma exportação de relatório:
const logRecord = {
timeUnixNano: (BigInt(Date.now()) * 1000000n).toString(),
eventName: 'report_exported',
attributes: [
{ key: 'databricks.app.analytics.schema.version', value: { intValue: '1' } },
{ key: 'databricks.app.analytics.event.id', value: { stringValue: crypto.randomUUID() } },
{ key: 'databricks.app.analytics.event.type', value: { stringValue: 'action' } },
{ key: 'databricks.app.analytics.event.name', value: { stringValue: 'report_exported' } },
],
};
const response = await fetch('/_analytics', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify(logRecord),
});
if (!response.ok) throw new Error('Analytics export failed.');
/_analyticsé uma rota que você adiciona ao seu app, não um endpoint embutido do Azure Databricks. O Passo 2 mostra a lógica de exportação do seu handler de backend.
session_id é opcional. Se você fornecer um, reutilize a sessão de análise originada em vez de gerar um novo ID de sessão para cada evento. Se você tentar um evento novamente, reenvie o mesmo registro, incluindo seu ID e carimbo de data.
Para visualizações de página, Web Vitals e propriedades de ação, veja exemplos de Payload.
Passo 2: Exportar do seu backend
Adicione um POST /_analytics handler ao seu backend atual. Passe o corpo de solicitação analisado e validado para a seguinte função. Mantenha a rota atrás dos controles de acesso do seu app e aplique seus limites de requisições e o tratamento de erros existentes. Retorne o sucesso ao navegador somente depois que a função for bem-sucedida.
A função envolve o registro em uma requisição do OpenTelemetry Protocol (OTLP) e o envia para o coletor do app:
async function exportAnalyticsRecord(logRecord) {
const endpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT;
if (endpoint !== 'http://localhost:4314') {
throw new Error('This example requires the TCP OTLP/HTTP receiver at localhost:4314.');
}
const response = await fetch(`${endpoint}/v1/logs`, {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({
resourceLogs: [
{
resource: {
attributes: [{ key: 'service.name', value: { stringValue: process.env.DATABRICKS_APP_NAME } }],
},
scopeLogs: [{ logRecords: [logRecord] }],
},
],
}),
});
if (!response.ok) throw new Error('Collector rejected the request.');
const text = await response.text();
const result = text ? JSON.parse(text) : {};
if (Number(result.partialSuccess?.rejectedLogRecords ?? 0) > 0) {
throw new Error('Collector rejected the event.');
}
}
Importante
Este exemplo HTTP usa o receptor TCP em localhost:4314, que suporta HTTP e gRPC. Para um endpoint unix:// ou um endpoint somente gRPC, use, em vez disso, um exportador OpenTelemetry compatível. O coletor roda dentro do aplicativo implantado, não no dispositivo do visitante. Veja Variáveis de ambiente de telemetria do aplicativo.
Passo 3: Verificar em Análise
- Implante as mudanças usando o fluxo de trabalho existente do seu app, e então acione a interação instrumentada.
- Na página de detalhes do app, abra Analytics e selecione um warehouse SQL.
- Se a tela de integração inicial for exibida, selecione Verificar se há eventos e, quando os eventos chegarem, Abrir o Analytics.
- Encontre
report_exportedem Principais Ações ou Eventos ao Vivo.
A aceitação do coletor precede a ingestão da tabela. Se o evento não aparecer, atualize o Analytics e verifique o intervalo de tempo. Siga todas as instruções de permissão mostradas pela interface. Para verificar os dados de telemetria subjacentes, veja Verificar dados de telemetria.