I have found that implementing the hook to create a stream does not behave as expected. Upon setting up the custom module with the stream, then going to the Heartbeat streams page, I expected to see the stream. The page states:

Visiting this page will check for new heartbeat streams. If you want to add a stream, just implement the hook hook_heartbeat_register_access_types.

However, despite numerous visits to that page, as well as visiting the module and theme pages, clearing all caches with Drush, the stream did not appear until the next day.

When the stream did show up, I saw I needed to make changes to the query. Changing the SQL had no effect. Inserting drupal_set_messsge() calls to indicate the code was being called did not appear for several hours, and then upon removing them, continued to be displayed for over a day.

Here is what I used to create the stream:

function media_wall_heartbeat_register_access_types() {
  return array(
     0 => array(
      'name' => 'Node activity',
      'class' => 'mWallActivity',
      'path' => 'mwallactivity.inc',
      'module' => ‘media_wall'
    ),
  );
}

When I couldn’t get my changes to be reflected, I tried altering the class and filename, renaming the stream include file to match. The Heartbeat streams page still lists the old stream class and include filename.

function media_wall_heartbeat_register_access_types() {
  return array(
    0 => array(
      'name' => 'Node activity',
      'class' => 'mWallActivity1',
      'path' => 'mwallactivity1.inc',
      'module' => ‘media_wall'
    ),
  );
}