Compartilhar via


Usar Rastreamentos de Atividade e Telemetria Aberta

O DAB (Construtor de API de Dados) dá suporte ao OpenTelemetry para rastreamento distribuído e métricas, permitindo que você monitore e diagnostice o comportamento do aplicativo em REST, GraphQL, operações de banco de dados e middleware interno.

Rastreamentos do construtor de API de Dados

O DAB cria "atividades" do OpenTelemetry para:

  • Solicitações HTTP de entrada (pontos de extremidade REST)
  • Operações do GraphQL
  • Consultas de banco de dados (por entidade)
  • Etapas internas do middleware (por exemplo, tratamento de solicitações, acompanhamento de erros)

Cada atividade inclui marcas detalhadas (metadados), como:

  • http.method, http.url, , http.querystringstatus.code
  • action.type (CRUD, operação GraphQL)
  • user.role, user-agent
  • data-source.type, data-source.name
  • api.type (REST ou GraphQL)

Erros e exceções também são rastreados com informações detalhadas.

Métricas do construtor de API de Dados

O DAB emite métricas opentelemetry, como:

  • Total de Solicitações: Contador, rotulado pelo método HTTP, status, ponto de extremidade e tipo de API.
  • Erros: Contador, rotulado por tipo de erro, método HTTP, status, ponto de extremidade e tipo de API.
  • Duração da Solicitação: Histograma (em milissegundos), rotulado pelo método HTTP, status, ponto de extremidade e tipo de API.
  • Solicitações Ativas: contador para cima/para baixo para solicitações simultâneas.

As métricas usam a API do .NET Meter e o SDK do OpenTelemetry.

Configuration

Adicione uma open-telemetry seçãoruntime.telemetry em seu arquivo de configuração.

{
    "runtime": {
        "telemetry": {
            "open-telemetry": {
                "enabled": true,
                "endpoint": "http://otel-collector:4317",
                "service-name": "dab",
                "exporter-protocol": "grpc"
            }
        }
    }
}

Opções da CLI

Configurar o OpenTelemetry por meio de sinalizadores da CLI:

  • dab configure --otel-enabled true
  • dab configure --otel-endpoint "http://otel-collector:4317"
  • dab configure --otel-protocol "grpc"
  • dab configure --otel-service-name "dab"
  • dab configure --otel-headers

Exportar e visualizar

A telemetria é exportada por meio do SDK do .NET OpenTelemetry para o back-end configurado, como o Azure Monitor ou o Jaeger. Verifique se o back-end está em execução e acessível no especificado endpoint.

Notas de implementação

  • Rastreamentos e métricas abrangem todas as operações REST, GraphQL e banco de dados
  • Os manipuladores de middleware e de erro também emitem telemetria
  • O contexto é propagado por meio de solicitações