How to get a list of fields that are used in entities?
I would recommend EntityFieldManager::getFieldMap. The EntityManager is only a service to provide functions from other classes.
From documentation:

Return value
array An array keyed by entity type. Each value is an array which keys are field names and value is an array with two entries:

type: The field type.
bundles: An associative array of the bundles in which the field appears, where the keys and values are both the bundle's machine name.