Profiler: Start log object sources

Use this action to start logging the growth of objects in memory and attempt to find the source of the new objects. Its primary use case is finding memory leaks.

This action is similar to Profiler: Start log objects. Profiler: Start log object sources is much more CPU intensive, because it attempts to locate the source of each new object, up to the Max objects value each time it logs.

This action requires an administrator account.

Using this action from the user interface

If you prefer building automations and scripts visually, Home Assistant walks you through this action step by step. You pick what to target, tweak a few options, and save. No YAML knowledge required.

To start logging object sources from an automation or a script:

  1. Go to Settings > Automations & scenes.
  2. Open an existing automation or script, or select Create automation > Create new automation.
  3. If you’re setting up a new automation, add a trigger in the When section. Scripts don’t need a trigger. They run when something else calls them.
  4. In the Then do section, select Add action.
  5. Search for and select Profiler: Start log object sources.
  6. Optionally, set the Scan interval and Max objects.
  7. Select Save.

Options in the UI

Scan interval (Optional)

How often to log the objects, in seconds. Defaults to 30.

Max objects (Optional)

The number of new objects to examine for source information. Defaults to 5.

Using this action in YAML

If you work directly in YAML, or you want to know exactly what Home Assistant does under the hood, this section has the technical reference. It lists the field names you use in YAML, their types, and which ones are required.

In YAML, refer to this action as profiler.start_log_object_sources. A basic example looks like this:

ActionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. [Learn more]
action: profiler.start_log_object_sources
data:
  scan_interval: 60
  max_objects: 10

This logs the growth of objects in memory every 60 seconds, examining up to 10 new objects for their source.

Options in YAML

scan_interval float

How often to log the objects, in seconds. Defaults to 30.

max_objects integer

The number of new objects to examine for source information, between 1 and 1024. Defaults to 5.

This action does not support targets.

Try it yourself

Ready to test this? Open Developer tools > Actions, search for this action, fill in the fields, and select Perform action. You see what happens on your actual entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] without writing a line of YAML.

Still stuck?

The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with the action you’re calling and what you expected to happen, or share on our subreddit /r/homeassistant.

Tip

AI assistants like ChatGPT or Claude can also explain actions or suggest the right one when you describe what you want in plain language.

Related actions

These actions work well alongside this one: