我有一个数组,每个节点都有以下数据
[{
"id": "2130483",
"appId": "SIGERprod",
"time": 1500,
"dateStart": 1521564131000,
"timestamp": 1521564131000,
"dateEnd": 1521564131000,
"ipAddress": "10.110.11.111",
"principalName": "suiza_2@hotmail.com",
"contextPath": "/prueba",
"ruta": "/prueba/xhtml/formasPreCodificadas/llenarForma.xhtml",
"metodo": "POST",
"status": 200,
"year": 2018,
"month": 3,
"day": 20,
"hour": 10,
"minute": 42,
"second": 11
}]
我有以下代码,此代码按日期分组我的请求
$.getJSON(prefix + "/getFullData.htm", {idApp: App, dateStart: inicio, dateEnd: fin},
function (data) {
data.forEach(function (d) {
d.date = new Date(d.year, d.month, d.day, d.hour, d.minute, d.second, 0);
});
ndx = crossfilter(data);
dateDimension = ndx.dimension(function (d) {
return d.date;
});
var peticiones = dateDimension.group().reduceCount();
var minDate = dateDimension.bottom(1)[0].date;
var maxDate = dateDimension.top(1)[0].date;
solicitudesXIntervalo
.width(1000)
.height(200)
.mouseZoomable(true)
.dimension(dateDimension)
.group(peticiones)
.x(d3.time.scale().domain([minDate, maxDate]))
.yAxisLabel("request grouped by second");
我得到以下
我需要绘制每个请求所需的时间(时间与日期)
答案 0 :(得分:0)
听起来您希望根据持续时间对请求进行求和,而不是仅计算。
如果这是你的意思,那就是一个简单的改变:
var peticiones = dateDimension.group().reduceSum(function(d) {
return (d.dateEnd - d.dateStart) / 1000;
})
我除以1000得到秒而不是毫秒;根据需要调整。
但是,在上面的示例数据中,持续时间为0(并且根本不会显示)。所以我不确定我是否理解你的问题。如果我错过了商标,请评论和/或编辑您的问题。