请求延迟与请求时间的框图

时间:2014-12-08 14:30:55

标签: r

我有一个数据集,可以捕获从多个客户端到服务器的大量网络请求的延迟:

              request_timestamp latency
1  2014-12-08T12:22:53.344+0000       9
2  2014-12-08T12:22:53.328+0000       2
3  2014-12-08T12:23:54.254+0000       7
...
10 2014-12-08T12:24:12.749+0000       6

我希望能够执行一个箱形图,其中x轴是以分钟为单位的时间,例如

20141208T1222 20141208T1223 20141208T1224 ...

这些方框将在相应的分钟内汇总数据。

我相信我需要一个与此类似的功能:

tmp <- boxplot(latency ~ request_timestamp_minute, data=DF, plot=FALSE) 
bxp(tmp, at=sort(unique(df$request_timestamp_minute)))

我还希望按不同的时间戳值进行汇总,例如小时,小时等等。

我怎样才能在R?

中这样做

1 个答案:

答案 0 :(得分:0)

这可以工作几小时,几分钟,一天等:

library("lubridate")

# make more margin space for x axis label
par.old <- par(mar=c(10,4,4,2)) 

# add a new field containing the request timestamp as a POSIXct type
DF$req_time <- as.POSIXct(strptime(DF$request_timestamp, "%Y-%m-%dT%H:%M:%S"))

# add a new field to store the hour interval
DF$req_time_hour <- round_date(DF$req_time, "hour")

# now do the plotting
tmp <- boxplot(latency ~ req_time_hour, data=DF, plot=FALSE)
bxp(tmp, log = "y", las=2, at=sort(unique(DF$req_time_hour)))

# reset the margins
par(par.old)

这是有助于提供此解决方案的博文的link

我会另外提出一个关于四舍五入到其他时间增量的问题,例如四分之一小时。