Delen via


Open telemetrie- en activiteitstraceringen gebruiken

Data API Builder (DAB) ondersteunt OpenTelemetry voor gedistribueerde tracering en metrische gegevens, zodat u het gedrag van uw toepassing kunt bewaken en diagnosticeren in REST, GraphQL, databasebewerkingen en interne middleware.

Traceringen voor data-API-opbouwfunctie

DAB maakt OpenTelemetry -activiteiten voor:

  • Binnenkomende HTTP-aanvragen (REST-eindpunten)
  • GraphQL operations
  • Database queries (per entity)
  • Interne middlewarestappen (bijvoorbeeld aanvraagafhandeling, fouttracking)

Elke activiteit bevat gedetailleerde tags (metagegevens), zoals:

  • http.method,http.url,http.querystring,status.code
  • action.type (CRUD, GraphQL-bewerking)
  • user.role, user-agent
  • data-source.type, data-source.name
  • api.type (REST of GraphQL)

Fouten en uitzonderingen worden ook getraceerd met gedetailleerde informatie.

Metrische gegevens van Data API Builder

DAB verzendt metrische gegevens van OpenTelemetry, zoals:

  • Total Requests: Counter, labeled by HTTP method, status, endpoint, and API type.
  • Errors: Counter, labeled by error type, HTTP method, status, endpoint, and API type.
  • Request Duration: Histogram (in milliseconds), labeled as above.
  • Active Requests: Up/down counter for concurrent requests.

Metrische gegevens maken gebruik van de .NET Meter API en OpenTelemetry SDK.

Configuration

Voeg een open-telemetry sectie toe onder runtime.telemetry het configuratiebestand.

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

CLI Options

Configure OpenTelemetry via CLI flags:

  • 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

Exporteren en visualiseren

Telemetrie wordt geƫxporteerd via .NET OpenTelemetry SDK naar uw geconfigureerde back-end, zoals Azure Monitor of Jaeger. Zorg ervoor dat uw back-end wordt uitgevoerd en bereikbaar is op de opgegeven endpoint.

Implementation Notes

  • Traceringen en metrische gegevens hebben betrekking op alle REST-, GraphQL- en DB-bewerkingen
  • Middleware en fouthandlers verzenden ook telemetrie
  • Context wordt doorgegeven via aanvragen