Skip to main content


Dynatrace AppEngine is responsible for the installation of Dynatrace® Apps and their lifecycle. It also provides APIs to execute JavaScript code inside the Dynatrace JavaScript runtime, with low-latency access to Grail and the platform APIs. Code for the JavaScript runtime is either part of the app bundle or dynamically sent in the request body.


You need to know the following concepts to work with the AppEngine.

App bundles

Apps are installed by uploading the app bundle, a ZIP file containing the built app code, app metadata, static resources, settings, and functions. The Dynatrace App Toolkit (dt-app) is the preferred method of creating app bundles.


The registry is mainly responsible for installing, retrieving, updating, and uninstalling apps.

It performs a basic confidence check before installation and returns an error if it finds any constraint violations, such as the app bundle being too large. The asynchronous app installation process starts if that check ends successfully. You can check the app installation process by calling the /apps/<Id> endpoint. Installing an app is a relatively quick process that should complete within a few minutes.

Uninstalling an app is an asynchronous process as well. It might take a few minutes until the app is removed.

Function executor

The function executor is an API that allows code execution inside Dynatrace AppEngine that wasn't bundled with apps.

Dynatrace JavaScript runtime

In addition to code executed in the browser, you can provide backend code via Dynatrace app functions powered by the Dynatrace JavaScript runtime. The runtime executes app functions and code sent to the function executor (for example, within Notebooks and Workflows). Follow the Dynatrace app development tutorial or read more in the app functions reference to start with app functions. Read more about all available APIs in the Dynatrace JavaScript runtime in the JavaScript runtime reference.

Code inside the runtime runs sandboxed, and communication with resources outside the Dynatrace platform is restricted. Code inside the Dynatrace JavaScript runtime may use the fetch function to execute HTTP requests to external and platform service APIs. If the resource parameter of the fetch function is a relative path, the request can interact with Dynatrace platform services. In that case, the Dynatrace platform handles the authentication and routing to the right environment for you.

Outbound connections from functions

By default, you can't access external hosts from the Dynatrace runtime. To learn more about managing the list of allowed hosts, read Allow outbound connections.


EdgeConnect lets you forward selected HTTP requests from the Dynatrace JavaScript runtime to your private network. You need to run an EdgeConnect container in that private network and configure the host patterns of HTTP requests that should be routed to that EdgeConnect via the To learn more about EdgeConnect, read the deployment instructions.

Still have questions?
Find answers in the Dynatrace Community