MCPcopy Index your code
hub / github.com/OpenTSDB/opentsdb / getQueryStats

Method getQueryStats

src/stats/QueryStats.java:802–872  ·  view source on GitHub ↗

Returns a map of stats for a single sub query @param index The sub query to fetch @param with_scanners Whether or not to print detailed stats for each scanner @return A map with stats to print or null if the sub query didn't have any data.

(final int index, 
      final boolean with_scanners)

Source from the content-addressed store, hash-verified

800 * data.
801 */
802 public Map<String, Object> getQueryStats(final int index,
803 final boolean with_scanners) {
804
805 final Map<QueryStat, Long> qs = query_stats.get(index);
806 if (qs == null) {
807 return null;
808 }
809
810 final Map<String, Object> query_map = new TreeMap<String, Object>();
811 query_map.put("queryIndex", index);
812
813 final Iterator<Entry<QueryStat, Long>> stats_it =
814 qs.entrySet().iterator();
815 while (stats_it.hasNext()) {
816 final Entry<QueryStat, Long> stat = stats_it.next();
817 if (stat.getKey().is_time) {
818 query_map.put(stat.getKey().toString(),
819 DateTime.msFromNano(stat.getValue()));
820 } else {
821 query_map.put(stat.getKey().toString(), stat.getValue());
822 }
823 }
824
825 if (with_scanners) {
826 final Map<Integer, Map<QueryStat, Long>> scanner_stats_map =
827 scanner_stats.get(index);
828
829 final Map<String, Object> scanner_maps = new TreeMap<String, Object>();
830
831 query_map.put("scannerStats", scanner_maps);
832 if (scanner_stats_map != null) {
833 final Map<Integer, String> scanners = scanner_ids.get(index);
834 final Iterator<Entry<Integer, Map<QueryStat, Long>>> scanner_it =
835 scanner_stats_map.entrySet().iterator();
836 while (scanner_it.hasNext()) {
837 final Entry<Integer, Map<QueryStat, Long>> scanner = scanner_it.next();
838 final Map<String, Object> scanner_map = new TreeMap<String, Object>();
839 scanner_maps.put(String.format("scannerIdx_%02d", scanner.getKey()),
840 scanner_map);
841 final String id;
842 if (scanners != null) {
843 id = scanners.get(scanner.getKey());
844 } else {
845 id = null;
846 }
847 scanner_map.put("scannerId", id);
848 /* Uncomment when AsyncHBase supports this
849 final Map<Integer, Set<String>> servers = scanner_servers.get(index);
850 if (servers != null) {
851 scanner_map.put("regionServers", servers.get(scanner.getKey()));
852 } else {
853 scanner_map.put("regionServers", null);
854 }
855 */
856 final Iterator<Entry<QueryStat, Long>> scanner_stats_it =
857 scanner.getValue().entrySet().iterator();
858 while (scanner_stats_it.hasNext()) {
859 final Entry<QueryStat, Long> scanner_stats = scanner_stats_it.next();

Callers 2

getStatsMethod · 0.95
callMethod · 0.95

Calls 9

msFromNanoMethod · 0.95
putMethod · 0.80
iteratorMethod · 0.65
hasNextMethod · 0.65
nextMethod · 0.65
getMethod · 0.45
getKeyMethod · 0.45
toStringMethod · 0.45
getValueMethod · 0.45

Tested by

no test coverage detected