Skip to main content
By default, Upsun offers 15 minutes of continuous profiling per project and for free. To get 30 days of continuous profiling per project and for a fixed fee, upgrade to the Continuous Profiling add-on.

Continuous profiling on Upsun Cloud

Upsun Cloud Continuous Profiling is powered by Upsun Blackfire. It is available directly in the Console, under Apps and Services → your app → Profiling. The Node.js continuous profiling is currently made across 3 dimensions:
  • CPU Time: Time spent running on the CPU
  • Wall-time: Elapsed time per function call
  • Heap: Memory allocation and reserved space over time
The default sampling frequency is 100 Hz. This means the Node.js continuous profiler is collecting information 100 times per second.

Prerequisites

Upsun Cloud Continuous Profiler requires Node.js >= 18.0.0.

Installation

Get the Upsun Blackfire Continuous Profiler NodeJS library:

NodeJS continuous profiler API

The NodeJS continuous profiler API has two functions:

function start(config) {}

The start function starts the continuous profiler probe. It collects profiling information in the background and periodically uploads it to the Upsun Blackfire Agent until the stop function is called.
The start function accepts an object as a parameter with the following keys:
  • appName: name of the application
  • durationMillis: time in milliseconds for which to collect profile (default: 45_000)
  • cpuProfileRate: average sampling frequency in Hz. (default: 100)
  • labels: Labels to add to the profile. (default: )
  • uploadTimeoutMillis: Timeout in milliseconds for the upload request (default: 10000)

function stop() {}

Stops the continuous profiling probe.

An example application

  1. Get the Continuous Profiler NodeJS library
  1. Create index.js with the following code
  1. Run the Node.js server
Last modified on September 16, 2026