Jak policzyć całkowitą liczbę zegarków na stronie?

Czy istnieje sposób, w JavaScript, aby policzyć liczbę kątowych zegarków na całej stronie?

UżywamyBatarang, ale nie zawsze odpowiada naszym potrzebom. Nasza aplikacja jest duża i jesteśmy zainteresowani wykorzystaniem automatycznych testów, aby sprawdzić, czy liczba zegarków nie wzrośnie zbytnio.

Przydatne byłoby również zliczanie zegarków według poszczególnych kontrolerów.

Edytować: oto moja próba. Liczy zegarki we wszystkim z klasą ng-scope.

(function () {
    var elts = document.getElementsByClassName('ng-scope');
    var watches = [];
    var visited_ids = {};
    for (var i=0; i < elts.length; i++) {
       var scope = angular.element(elts[i]).scope();
       if (scope.$id in visited_ids) 
         continue;
       visited_ids[scope.$id] = true;
       watches.push.apply(watches, scope.$watchers);
    }
    return watches.length;
})();

questionAnswers(12)

yourAnswerToTheQuestion