anchor.diff:    }
   }
   
  -// TODO(devoncarew): Show the last x requests and responses.
   class ProfilePage extends DiagnosticPageWithNav {
     ProfilePage(DiagnosticsSite site)
         : super(site, 'profile', 'Profiling Info',
  -            description: 'Profiling performance tag data.');
  -
  -  @override
  -  void generateContent(Map<String, String> params) {
  +            description: 'Profiling performance tag data and lint timings.');
  +
  +  @override
  +  void generateContent(Map<String, String> params) {
  +    h3('Profiling performance tag data');
  +
       // prepare sorted tags
       List<PerformanceTag> tags = PerformanceTag.all.toList();
       tags.remove(ServerPerformanceStatistics.idle);
       tags.remove(PerformanceTag.unknown);
       tags.removeWhere((tag) => tag.elapsedMs == 0);
       tags.sort((a, b) => b.elapsedMs - a.elapsedMs);
  +
  +    // print total time
  +    int totalTime =
  +        tags.fold<int>(0, (int a, PerformanceTag tag) => a + tag.elapsedMs);
  +    p('Total measured time: ${printMilliseconds(totalTime)}');
   
       // draw a pie chart
       String rowData =
  
positive.code:     tags.forEach(writeRow);
      buf.write('</table>');
  
      List<LintRule> rules = Registry.ruleRegistry.rules.toList();
      rules.sort((first, second) {
        int firstTime = lintRegistry.getTimer(first).elapsedMilliseconds;
        int secondTime = lintRegistry.getTimer(second).elapsedMilliseconds;
  
negative.code:       </script>
  ''');
  
      // write out a table
      void _writeRow(List<String> data, {bool header: false}) {
        buf.write('<tr>');
  