This call is returning the static configuration for the profiler. In other words, the JSON read from the .conf file with the profiler. This is what's called the "plugin_config" in the PluginCallConfiguration.

What we need to do before invoking the profiler, or any plugin for that matter, is assemble a PluginCallConfiguration that lets us aggregate all of the possible configuration sources into a wrapper. That object has a .get() call that will check the various configs in order by priority to return either the global plugin value, the value for that particular repo (not applicable here, so just leave as None), and then the config values for this single call (known as the override_config).

Create that object in conjunction with changing the signature to not accept the report type but rather the open-ended override_config and shove that into the object. Then pass that wrapper object to the profiler call. The API for the find_applicable_units call already indicates that this is the type of object config will be:

        :param config: plugin configuration
        :type config: pulp.plugins.config.PluginCallConfiguration