На одном из проектов с использованием profile2 понадобилось сделать свой счетчик просмотров с возможностью его редактирование в "ручном" режиме.
Что было придумано:
- Добавили в профиль поле counter
 - через hook_exit увеличивали это поле на единичку при каждом просмотре провиля пользователя.
 - Далее это поле выводим во views или где нам удобно.
 
Почему использовал этот метод? Нигде не нашел как можно прикрутить к profile2 статистику посещений. Пробывал и через Relation и добавлять в эти же Relation все материалы пользователя, ничего путного не получилось.
непосредственно сам код
/**
 * Implements hook_exit().
 */
function sm_company_exit($destination = NULL) {
    // We are counting content views.
    if (arg(0) == 'user' && is_numeric(arg(1)) && arg(2) == NULL) {
      // A node has been viewed, so update the node's counters.
      $account = user_load(arg(1));
      // save counter for company
      $user_wrapper = entity_metadata_wrapper('user', $account);
      $profile2 = profile2_load_by_user($account, 'company');
//      watchdog('HOOK:EXIT', var_export($user_wrapper->field_counter, TRUE));
      $user_wrapper->field_counter = $user_wrapper->field_counter->value() + 1;
      $user_wrapper->save();
      // save counter for company
      $profile2_wr = entity_metadata_wrapper('profile2', $profile2);
      $profile2_wr->field_counter = $profile2_wr->field_counter->value() + 1;
      $profile2_wr->save();
    }
}
        