The Profiler sample demonstrates the functionality of the Profiler subsystem. It shows how to use the Profiler to log and visualize data about custom events that are not part of the Event Manager.


The sample initializes the Profiler, registers two event types, and profiles their occurrences periodically.

Event without data (no data event):
This event is used to signal the occurrence of an event only. It does not contain additional data.
Event with data (data event):
There are several numerical values associated with this event. The values are updated periodically.


  • One of the following development boards:
    • nRF9160 DK board (PCA10090)
    • nRF52840 Development Kit board (PCA10056)
    • nRF52 Development Kit board (PCA10040)
    • nRF51 Development Kit board (PCA10028)

Building and running

This sample can be found under samples/profiler in the nRF Connect SDK folder structure.

See Building and programming a sample application for information about how to build and program the application.


After programming the sample to your board, you can test it by running the script (located under scripts/profiler). As arguments, pass the csv and json file names that should be used to store the data (for example, run data.csv data.json).

The script opens a GUI window that displays events as points on timelines. See the Profiler documentation for more information.

Connect to the board with a terminal emulator (for example, PuTTY) to see messages displayed by the sample. See How to connect with PuTTY for the required settings.


This sample uses the following nRF Connect SDK subsystems: