nodes: 0, module; 1, function_definition; 2, function_name:get_all; 3, parameters; 4, block; 5, identifier:self; 6, expression_statement; 7, return_statement; 8, comment:"""Returns all the timings, sorted in decreasing order.
  
      Each value is a dict: { path: <path>, timing: <timing in seconds> }
      """; 9, list_comprehension; 10, dictionary; 11, for_in_clause; 12, pair; 13, pair; 14, pair; 15, identifier:x; 16, call; 17, string; 18, subscript; 19, string; 20, subscript; 21, string; 22, comparison_operator:x[0] in self._tool_labels; 23, identifier:sorted; 24, argument_list; 25, string_content:label; 26, identifier:x; 27, integer:0; 28, string_content:timing; 29, identifier:x; 30, integer:1; 31, string_content:is_tool; 32, subscript; 33, attribute; 34, call; 35, keyword_argument; 36, keyword_argument; 37, identifier:x; 38, integer:0; 39, identifier:self; 40, identifier:_tool_labels; 41, attribute; 42, argument_list; 43, identifier:key; 44, lambda; 45, identifier:reverse; 46, True; 47, attribute; 48, identifier:items; 49, lambda_parameters; 50, subscript; 51, identifier:self; 52, identifier:_timings_by_path; 53, identifier:x; 54, identifier:x; 55, integer:1
code: def get_all(self):
      """Returns all the timings, sorted in decreasing order.
  
      Each value is a dict: { path: <path>, timing: <timing in seconds> }
      """
      return [{'label': x[0], 'timing': x[1], 'is_tool': x[0] in self._tool_labels}
              for x in sorted(self._timings_by_path.items(), key=lambda x: x[1], reverse=True)]