Datadog has expanded Serverless Monitoring for Azure Functions with a new Serverless Compatibility Layer that enables direct telemetry collection across all hosting plans (Linux and Windows), not just Windows-based .NET apps on Dedicated or Premium plans. New capabilities include distributed tracing that connects HTTP endpoints, messaging, and databases, RUM-to-backend trace linking, trace context preservation across Azure Service Bus and Event Hubs via span links, inferred spans for Cosmos DB operations, enhanced CPU metrics sampled every second (versus Azure's native 1-minute intervals), and a Preview release of Continuous Profiler for Python and Node.js functions.

6m read timeFrom datadoghq.com
Post cover image
Table of contents
Collect telemetry data across Azure Functions hosting plansTrack requests through Azure Functions with distributed tracingAnalyze Azure Functions CPU usage with enhanced metricsFind performance bottlenecks with Datadog Continuous ProfilerStart monitoring your Azure Functions applications with Datadog

Questions this post answers

How can I monitor Azure Functions running on Linux with Datadog, since the App Service extension doesn't support Linux?

Datadog's Serverless Compatibility Layer provides direct telemetry collection for Azure Functions on Linux or Windows, regardless of hosting plan. It is a lightweight package for .NET, Python, Node.js, and Java that runs alongside function code, detects the Azure Functions environment at startup, and batches telemetry before sending it to Datadog, unlike the extension-based approach limited to Windows .NET apps. Teams standardizing serverless observability across mixed Linux and Windows hosting plans can track these integrations on daily.dev.

How often does Datadog sample CPU metrics for Azure Functions compared to Azure's native metrics?

Datadog's Serverless Monitoring samples CPU usage from the function app every second and publishes distribution metrics every 10 seconds, versus Azure's native metrics which update at intervals of 1 minute or longer. This higher resolution helps distinguish brief CPU bursts from sustained utilization. These enhanced metrics use the azure.functions.enhanced.* prefix and require updating to the latest Serverless Compatibility Layer version. Engineers chasing short-lived CPU spikes in serverless workloads can follow monitoring updates like this on daily.dev.

Is Datadog Continuous Profiler available for Azure Functions written in Python or Node.js?

Yes, Continuous Profiler for Azure Functions is available in Preview for Python and Node.js. It is enabled by setting the environment variable DD_PROFILING_ENABLED=true, after which Datadog begins collecting profiles and building flame graphs without requiring any code changes. Developers evaluating profiling options for serverless code paths can keep tabs on tools like this via daily.dev.

36 Impressions