public Map<String, Object> pullMetric(MetricContract metricContract, Map<String, String> ruleSettings) throws DataQueryException {
Map<String, Object> result = new HashMap<>();
MetricData metricData = mysqlDataQuery.querySql(metricContract);
result.put("NUMBER", metricData.getMetricValue());
if (metricData.getLatestDocument() != null) {
result.putAll(metricData.getLatestDocument());
if (metricData.getTopNDocuments() != null) {
result.put("TOP_N_DOCUMENTS", metricData.getTopNDocuments());
Map<String, String> dataNameProperties = metricContract.getDataNameContract().getSettings();
result.putAll(dataNameProperties);