<commit_before><!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <th:block th:include="fragments :: #head-boilerplate"/>
    <title>Codekvast</title>
</head>

<body>
<div class="container-fluid">
<div th:if="${#httpServletRequest.remoteUser != null}">
    <div class="pull-right">
        <form class="form-inline" role="form" th:action="@{/logout}" method="post">
            <div class="form-group">
                <p class="form-control-static" th:text="${#httpServletRequest.remoteUser}">sample_user</p>

                <input class="btn btn-default" type="submit" value="Log out"/>
            </div>
        </form>
    </div>
</div>

<div class="container ng-cloak" ng-app="codekvastApp">
    <div ng-controller="MainCtrl">
        <h1>Codekvast Invocation Data</h1>

        <div class="status-panel alert alert-info" ng-show="haveData">
            <table>
                <tr>
                    <td>Collection started:</td>
                    <td>{{timestamp.collectionStartedAt}}</td>
                    <td>({{timestamp.collectionAge}})</td>
                </tr>
                <tr>
                    <td>Update received:</td>
                    <td>{{timestamp.updateReceivedAt}}</td>
                </tr>
            </table>
        </div>

        <div class="jumbotron" ng-hide="haveData"><h2>Waiting for data...</h2></div>

        <div ng-show="haveData">
            Show only package: <select ng-model="package" ng-options="o for o in packages"/> Max rows:
            <input type="number" step="10" ng-model="maxRows"/>
            <hr/>

            <div class="table-responsive">
                <table class="table table-striped table-hover table-condensed">
                    <thead>
                    <tr>
                        <th class="signature-name"><a href="" ng-click="predicate='name'; reverse = !reverse">Signature</a></th>
                        <th class="signature-age"><a href="" ng-click="predicate='invokedAtMillis'; reverse = !reverse">Age</a></th>
                        <th class="signature-invoked-at"><a href="" ng-click="predicate='invokedAtMillis'; reverse = !reverse">Invoked
                                                                                                                               &nbsp;At</a>
                        </th>
                    </tr>
                    </thead>

                    <tbody>
                    <tr ng-repeat="s in signatures | filter: package | orderBy:predicate:reverse | limitTo:maxRows">
                        <td class="signature-name">{{::s.name}}</td>
                        <td class="signature-age">{{::s.age}}</td>
                        <td class="signature-invoked-at">{{::s.invokedAtString}}</td>
                    </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>
</div>
<th:block th:include="fragments :: #scripts-twitter-bootstrap"/>
<th:block th:include="fragments :: #scripts-angularjs"/>
<th:block th:include="fragments :: #scripts-sockjs"/>
<script th:src="@{/app/codekvast.js}"></script>
</body>
</html>
<commit_msg>Speeding up Angular by only matching package on name<commit_after><!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <th:block th:include="fragments :: #head-boilerplate"/>
    <title>Codekvast</title>
</head>

<body>
<div class="container-fluid">
<div th:if="${#httpServletRequest.remoteUser != null}">
    <div class="pull-right">
        <form class="form-inline" role="form" th:action="@{/logout}" method="post">
            <div class="form-group">
                <p class="form-control-static" th:text="${#httpServletRequest.remoteUser}">sample_user</p>

                <input class="btn btn-default" type="submit" value="Log out"/>
            </div>
        </form>
    </div>
</div>

<div class="container ng-cloak" ng-app="codekvastApp">
    <div ng-controller="MainCtrl">
        <h1>Codekvast Invocation Data</h1>

        <div class="status-panel alert alert-info" ng-show="haveData">
            <table>
                <tr>
                    <td>Collection started:</td>
                    <td>{{timestamp.collectionStartedAt}}</td>
                    <td>({{timestamp.collectionAge}})</td>
                </tr>
                <tr>
                    <td>Update received:</td>
                    <td>{{timestamp.updateReceivedAt}}</td>
                </tr>
            </table>
        </div>

        <div class="jumbotron" ng-hide="haveData"><h2>Waiting for data...</h2></div>

        <div ng-show="haveData">
            Show only package: <select ng-model="package" ng-options="o for o in packages"/> Max rows:
            <input type="number" step="10" ng-model="maxRows"/>
            <hr/>

            <div class="table-responsive">
                <table class="table table-striped table-hover table-condensed">
                    <thead>
                    <tr>
                        <th class="signature-name"><a href="" ng-click="predicate='name'; reverse = !reverse">Signature</a></th>
                        <th class="signature-age"><a href="" ng-click="predicate='invokedAtMillis'; reverse = !reverse">Age</a></th>
                        <th class="signature-invoked-at"><a href="" ng-click="predicate='invokedAtMillis'; reverse = !reverse">Invoked
                                                                                                                               &nbsp;At</a>
                        </th>
                    </tr>
                    </thead>

                    <tbody>
                    <tr ng-repeat="s in signatures | filter: {name: package} | orderBy:predicate:reverse | limitTo:maxRows">
                        <td class="signature-name">{{::s.name}}</td>
                        <td class="signature-age">{{::s.age}}</td>
                        <td class="signature-invoked-at">{{::s.invokedAtString}}</td>
                    </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>
</div>
<th:block th:include="fragments :: #scripts-twitter-bootstrap"/>
<th:block th:include="fragments :: #scripts-angularjs"/>
<th:block th:include="fragments :: #scripts-sockjs"/>
<script th:src="@{/app/codekvast.js}"></script>
</body>
</html>

{'fraction_non_alphanumeric': 0.17072404586147322, 'fraction_numerical': 0.0018847180775875608, 'mean_word_length': 1.726027397260274, 'pattern_counts': {'":': 0, '<': 185, '<?xml version=': 0, '>': 185, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 10, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4442953', 'n_tokens_mistral': 1851, 'n_tokens_neox': 1745, 'n_words': 325}