diff --git a/src/main/java/com/datadog/ServerlessCompatAgent.java b/src/main/java/com/datadog/ServerlessCompatAgent.java index c6c1893..8d08959 100644 --- a/src/main/java/com/datadog/ServerlessCompatAgent.java +++ b/src/main/java/com/datadog/ServerlessCompatAgent.java @@ -64,6 +64,10 @@ public static String getPackageVersion() { return packageVersion == null ? "unknown" : packageVersion; } + public static boolean isAzureFlexWithoutDDAzureResourceGroup() { + return "FlexConsumption".equals(System.getenv("WEBSITE_SKU")) && System.getenv("DD_AZURE_RESOURCE_GROUP") == null; + } + public static void premain(String agentArgs, Instrumentation instrumentation) { CloudEnvironment environment = getEnvironment(); log.debug("Environment detected: {}", environment); @@ -90,6 +94,12 @@ public static void premain(String agentArgs, Instrumentation instrumentation) { return; } + // Check for Azure Flex Consumption functions that don't have the DD_AZURE_RESOURCE_GROUP environment variable set + if (environment == CloudEnvironment.AZURE_FUNCTION && isAzureFlexWithoutDDAzureResourceGroup()) { + log.error("Azure function detected on flex consumption plan without DD_AZURE_RESOURCE_GROUP set. Please set the DD_AZURE_RESOURCE_GROUP environment variable to your resource group name in Azure app settings. Shutting down Datadog Serverless Compatibility Layer."); + return; + } + try (InputStream inputStream = ServerlessCompatAgent.class.getClassLoader() .getResourceAsStream(fileName)) { if (inputStream == null) {