Compatibility and requirements for instrumenting Azure functions

Before you instrument Azure Functions, make sure your system meets the following requirements.

Basic requirements

Supported runtimes

Based on your hosting environment, the following Azure Function runtime stacks are supported.

  • .NET stack:
    • .NET 6 - 9, Isolated model only
  • .NET stack:
    • .NET 4.8 (.NET agent version 10.37.0 and later)
    • .NET 6 - 9, Isolated model
    • .NET 6 and 8, In-process model (.NET agent version 10.38.0 and later)
  • .NET stack:
    • .NET 6 - 9, Isolated model only

Supported triggers and Distributed Tracing

You can instrument all trigger types, however Distributed Tracing is supported only in the following cases:

  • .NET Stack:
    • Isolated model:
      • HttpTrigger
        • Distributed trace headers will be read from the inbound HTTP request.
    • In-process model (.NET agent version 10.38.0 and later):
      • HttpTrigger
        • Distributed tracing is supported when the function method has a parameter of type Microsoft.AspNetCore.Http.DefaultHttpRequest, Microsoft.AspNetCore.Http.HttpRequest or System.Net.Http.HttpRequest.
      • ServiceBusTrigger:
        • Incoming distributed trace headers will be read if the function method has a parameter of type Azure.Messaging.ServiceBus.ServiceBusReceivedMessage. Trace headers are expected to be in the ApplicationProperties collection of that object.
        • Distributed trace headers will be inserted into the ApplicationProperties collection of outbound Service Bus messages if the function method has a return type of Azure.Messaging.ServiceBus.ServiceBusMessage or Task<Azure.Messaging.ServiceBus.ServiceBusMessage>.

What's next