renderQueryTable renders query results as a table based on query type
(body []byte, queryType string)
| 667 | |
| 668 | // renderQueryTable renders query results as a table based on query type |
| 669 | func renderQueryTable(body []byte, queryType string) { |
| 670 | var result map[string]interface{} |
| 671 | if err := json.Unmarshal(body, &result); err != nil { |
| 672 | siteOutputToTarget(FormatJSON(body)) |
| 673 | return |
| 674 | } |
| 675 | |
| 676 | switch queryType { |
| 677 | case "aggregation": |
| 678 | renderAggregationTable(result) |
| 679 | case "breakdown": |
| 680 | renderBreakdownTable(result) |
| 681 | case "timeseries": |
| 682 | renderTimeseriesTable(result) |
| 683 | case "error_groups": |
| 684 | renderErrorGroupsTable(result) |
| 685 | default: |
| 686 | siteOutputToTarget(FormatJSON(body)) |
| 687 | } |
| 688 | } |
| 689 | |
| 690 | func renderAggregationTable(result map[string]interface{}) { |
| 691 | data, ok := result["data"].(map[string]interface{}) |
no test coverage detected