Azure Functions offers a wide range of options to address various Azure Functions scenarios and use-cases:
With the different options for hosting your functions, Dynatrace provides you with the best options to enable distributed tracing.
Dynatrace provides distributed tracing for these sandboxed environments based on OpenTelemetry. If you already use OpenTelemetry to instrument your functions, you can ingest the trace data using Dynatrace Trace Ingest API, but we recommend that you use the Dynatrace exporter, which adds additional benefits to fully leverage the automatic AI-based analysis capabilities of Dynatrace.
To make using OpenTelemetry easier, Dynatrace provides library packages for Azure Functions to reduce necessary OpenTelemetry boiler-plate code for trace-propagation, applying resource attributes and initialization code as well as aligning with semantic conventions.
By using advanced concepts such as aspect-oriented programming (AOP), it is even possible to add fully automatic instrumentation without changing a single line of code, as demonstrated within this community github-project for Azure Functions .NET.
To enhance visibility for monitoring your Azure Functions health, we recommend that you enable capturing service metrics from Azure Monitor as well as ingesting logs.