result set
This commit is contained in:
parent
0aef8f100b
commit
a647c230e1
|
@ -8,30 +8,31 @@ import java.util.Map;
|
||||||
*/
|
*/
|
||||||
public class Item {
|
public class Item {
|
||||||
|
|
||||||
List<String> metrics;
|
private List<Keys> keys;
|
||||||
List<String> keys;
|
private QueryInfo queryInfo;
|
||||||
Map<String,Object> queryInfo;
|
private MappingInfo mappingInfo;
|
||||||
|
|
||||||
public List<String> getMetrics() {
|
public List<Keys> getKeys() {
|
||||||
return metrics;
|
|
||||||
}
|
|
||||||
public void setMetrics(List<String> metrics) {
|
|
||||||
this.metrics = metrics;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<String> getKeys() {
|
|
||||||
return keys;
|
return keys;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setKeys(List<String> keys) {
|
public void setKeys(List<Keys> keys) {
|
||||||
this.keys = keys;
|
this.keys = keys;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<String, Object> getQueryInfo() {
|
public QueryInfo getQueryInfo() {
|
||||||
return queryInfo;
|
return queryInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setQueryInfo(Map<String, Object> queryInfo) {
|
public void setQueryInfo(QueryInfo queryInfo) {
|
||||||
this.queryInfo = queryInfo;
|
this.queryInfo = queryInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MappingInfo getMappingInfo() {
|
||||||
|
return mappingInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMappingInfo(MappingInfo mappingInfo) {
|
||||||
|
this.mappingInfo = mappingInfo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
26
src/main/java/com/loafle/overflow/crawler/config/Keys.java
Normal file
26
src/main/java/com/loafle/overflow/crawler/config/Keys.java
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
package com.loafle.overflow.crawler.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by root on 17. 4. 26.
|
||||||
|
*/
|
||||||
|
public class Keys {
|
||||||
|
|
||||||
|
private String metric;
|
||||||
|
private String key;
|
||||||
|
|
||||||
|
public String getMetric() {
|
||||||
|
return metric;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMetric(String metric) {
|
||||||
|
this.metric = metric;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKey() {
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKey(String key) {
|
||||||
|
this.key = key;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.loafle.overflow.crawler.config;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by root on 17. 4. 26.
|
||||||
|
*/
|
||||||
|
public class MappingInfo {
|
||||||
|
|
||||||
|
private String parseDirection;
|
||||||
|
private List<String> arrayColumns;
|
||||||
|
private List<String> keyColumns;
|
||||||
|
private String valueColumn;
|
||||||
|
|
||||||
|
public String getParseDirection() {
|
||||||
|
return parseDirection;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setParseDirection(String parseDirection) {
|
||||||
|
this.parseDirection = parseDirection;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getArrayColumns() {
|
||||||
|
return arrayColumns;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setArrayColumns(List<String> arrayColumns) {
|
||||||
|
this.arrayColumns = arrayColumns;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getKeyColumns() {
|
||||||
|
return keyColumns;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKeyColumns(List<String> keyColumns) {
|
||||||
|
this.keyColumns = keyColumns;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValueColumn() {
|
||||||
|
return valueColumn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValueColumn(String valueColumn) {
|
||||||
|
this.valueColumn = valueColumn;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.loafle.overflow.crawler.config;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by root on 17. 4. 26.
|
||||||
|
*/
|
||||||
|
public class QueryInfo {
|
||||||
|
private String query;
|
||||||
|
private Map<String,String> extend;
|
||||||
|
|
||||||
|
public String getQuery() {
|
||||||
|
return query;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setQuery(String query) {
|
||||||
|
this.query = query;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getExtend() {
|
||||||
|
return extend;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setExtend(Map<String, String> extend) {
|
||||||
|
this.extend = extend;
|
||||||
|
}
|
||||||
|
}
|
|
@ -42,7 +42,7 @@ public abstract class OFResultSet {
|
||||||
|
|
||||||
// methods
|
// methods
|
||||||
static public OFResultSet newInstance(Item item) {
|
static public OFResultSet newInstance(Item item) {
|
||||||
String type = (String) item.getQueryInfo().get("parseDirection");
|
String type = (String) item.getMappingInfo().getParseDirection();
|
||||||
if (type != null && type.equals("row")) {
|
if (type != null && type.equals("row")) {
|
||||||
return new OFResultSetRow(item);
|
return new OFResultSetRow(item);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.loafle.overflow.crawler.result;
|
package com.loafle.overflow.crawler.result;
|
||||||
|
|
||||||
import com.loafle.overflow.crawler.config.Item;
|
import com.loafle.overflow.crawler.config.Item;
|
||||||
|
import com.loafle.overflow.crawler.config.Keys;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
@ -16,15 +17,15 @@ public class OFResultSetCol extends OFResultSet{
|
||||||
|
|
||||||
public void setMeta() {
|
public void setMeta() {
|
||||||
|
|
||||||
List<String> meta = this.item.getKeys();
|
List<Keys> meta = this.item.getKeys();
|
||||||
List<String> arrayColumns = (List<String>)this.item.getQueryInfo().get("arrayColumns");
|
List<String> arrayColumns = (List<String>)this.item.getMappingInfo().getArrayColumns();
|
||||||
|
|
||||||
if(this.meta == null) {
|
if(this.meta == null) {
|
||||||
this.meta = new HashMap<>();
|
this.meta = new HashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int indexI = 0; indexI < meta.size(); ++indexI) {
|
for(int indexI = 0; indexI < meta.size(); ++indexI) {
|
||||||
this.meta.put(meta.get(indexI), indexI);
|
this.meta.put(meta.get(indexI).getKey(), indexI);
|
||||||
}
|
}
|
||||||
|
|
||||||
if( arrayColumns != null) {
|
if( arrayColumns != null) {
|
||||||
|
@ -39,8 +40,8 @@ public class OFResultSetCol extends OFResultSet{
|
||||||
|
|
||||||
public Map<String, String> parse() {
|
public Map<String, String> parse() {
|
||||||
|
|
||||||
List<String> metrics = this.item.getMetrics();
|
List<Keys> metrics = this.item.getKeys();
|
||||||
List<String> arrayColumns = (List<String>)this.item.getQueryInfo().get("arrayColumns");
|
List<String> arrayColumns = (List<String>)this.item.getMappingInfo().getArrayColumns();
|
||||||
// this.meta
|
// this.meta
|
||||||
|
|
||||||
Map<String, String> resultMap = new HashMap<>();
|
Map<String, String> resultMap = new HashMap<>();
|
||||||
|
@ -72,7 +73,7 @@ public class OFResultSetCol extends OFResultSet{
|
||||||
|
|
||||||
for(int indexK = 0 ; indexK < metrics.size(); ++indexK) {
|
for(int indexK = 0 ; indexK < metrics.size(); ++indexK) {
|
||||||
|
|
||||||
metric = metrics.get(indexK);
|
metric = metrics.get(indexK).getMetric();
|
||||||
|
|
||||||
metric = convertMetric(metric, arrayValue);
|
metric = convertMetric(metric, arrayValue);
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.loafle.overflow.crawler.result;
|
package com.loafle.overflow.crawler.result;
|
||||||
|
|
||||||
import com.loafle.overflow.crawler.config.Item;
|
import com.loafle.overflow.crawler.config.Item;
|
||||||
|
import com.loafle.overflow.crawler.config.Keys;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -21,9 +22,9 @@ public class OFResultSetRow extends OFResultSet{
|
||||||
|
|
||||||
List<String> meta = new ArrayList<>();
|
List<String> meta = new ArrayList<>();
|
||||||
|
|
||||||
List<String> arrayColumns = (List<String>) this.item.getQueryInfo().get("arrayColumns");
|
List<String> arrayColumns = (List<String>) this.item.getMappingInfo().getArrayColumns();
|
||||||
List<String> keyColumns = (List<String>) this.item.getQueryInfo().get("keyColumns");
|
List<String> keyColumns = (List<String>) this.item.getMappingInfo().getKeyColumns();
|
||||||
String valueColumn = (String) this.item.getQueryInfo().get("valueColumn");
|
String valueColumn = (String) this.item.getMappingInfo().getValueColumn();
|
||||||
if (arrayColumns != null) {
|
if (arrayColumns != null) {
|
||||||
for (String c : arrayColumns) {
|
for (String c : arrayColumns) {
|
||||||
meta.add(c);
|
meta.add(c);
|
||||||
|
@ -53,7 +54,7 @@ public class OFResultSetRow extends OFResultSet{
|
||||||
|
|
||||||
Map<String, String> returnMap = new HashMap<>();
|
Map<String, String> returnMap = new HashMap<>();
|
||||||
|
|
||||||
String valueColumn = (String) this.item.getQueryInfo().get("valueColumn");
|
String valueColumn = (String) this.item.getMappingInfo().getValueColumn();
|
||||||
|
|
||||||
for (List<String> row : this.rows) {
|
for (List<String> row : this.rows) {
|
||||||
String key = makeKey(row);
|
String key = makeKey(row);
|
||||||
|
@ -65,11 +66,11 @@ public class OFResultSetRow extends OFResultSet{
|
||||||
|
|
||||||
private String makeKey(List<String> data) {
|
private String makeKey(List<String> data) {
|
||||||
|
|
||||||
List<String> metrics = this.item.getMetrics();
|
List<Keys> metrics = this.item.getKeys();
|
||||||
|
|
||||||
List<String> arrayColumns = (List<String>) this.item.getQueryInfo().get("arrayColumns");
|
List<String> arrayColumns = (List<String>) this.item.getMappingInfo().getArrayColumns();
|
||||||
List<String> keyColumns = (List<String>) this.item.getQueryInfo().get("keyColumns");
|
List<String> keyColumns = (List<String>) this.item.getMappingInfo().getKeyColumns();
|
||||||
List<String> keys = this.item.getKeys();
|
List<Keys> keys = this.item.getKeys();
|
||||||
|
|
||||||
boolean find = false;
|
boolean find = false;
|
||||||
int findIndex = -1;
|
int findIndex = -1;
|
||||||
|
@ -85,7 +86,7 @@ public class OFResultSetRow extends OFResultSet{
|
||||||
if (find == true) {break;}
|
if (find == true) {break;}
|
||||||
}
|
}
|
||||||
|
|
||||||
String metric = metrics.get(findIndex);
|
String metric = metrics.get(findIndex).getMetric();
|
||||||
|
|
||||||
if (arrayColumns != null) {
|
if (arrayColumns != null) {
|
||||||
for (int i =0 ; i< arrayColumns.size() ; ++i) {
|
for (int i =0 ; i< arrayColumns.size() ; ++i) {
|
||||||
|
|
|
@ -20,15 +20,28 @@
|
||||||
},
|
},
|
||||||
"items" : [
|
"items" : [
|
||||||
{
|
{
|
||||||
"query":
|
"keys" : [
|
||||||
{
|
{
|
||||||
"queryInfo" : {
|
"metric" : "object[$0].db[$1].datafile_size",
|
||||||
"query" : "show session status",
|
"key" : "Data File(s) Size (KB)"
|
||||||
"direction" : "col"
|
},
|
||||||
},
|
{
|
||||||
"keys" : []
|
"metric" : "object[$0].db[$1].logfile_size",
|
||||||
|
"key" : "Log File(s) Size (KB)"
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"queryInfo" : {
|
||||||
|
"query": "select object_name,instance_name, counter_name, cntr_value from sys.dm_os_performance_counters where ( counter_name = 'Data File(s) Size (KB)' or counter_name = 'Log File(s) Size (KB)' ) AND object_name = 'SQLServer:Databases'",
|
||||||
|
"extend" : {
|
||||||
|
"command":""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappingInfo" : {
|
||||||
|
"parseDirection" : "row",
|
||||||
|
"arrayColumns" : [ "object_name","instance_name"],
|
||||||
|
"keyColumns" : ["counter_name"],
|
||||||
|
"valueColumn" : "cntr_value"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user