Commit 375e64e8 authored by yihua.huang's avatar yihua.huang

more monitor status

parent 018061d2
......@@ -18,10 +18,7 @@ import us.codecraft.webmagic.utils.UrlUtils;
import java.io.Closeable;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.UUID;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
......@@ -103,6 +100,8 @@ public class Spider implements Runnable, Task {
private final AtomicLong pageCount = new AtomicLong(0);
private Date startTime;
/**
* create a spider with pageProcessor.
*
......@@ -288,6 +287,7 @@ public class Spider implements Runnable, Task {
}
startRequests.clear();
}
startTime = new Date();
}
@Override
......@@ -685,6 +685,10 @@ public class Spider implements Runnable, Task {
return this;
}
public Date getStartTime() {
return startTime;
}
public Scheduler getScheduler() {
return scheduler;
}
......
......@@ -5,6 +5,7 @@ import org.slf4j.LoggerFactory;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.scheduler.MonitorableScheduler;
import java.util.Date;
import java.util.List;
/**
......@@ -76,4 +77,15 @@ public class SpiderStatus implements SpiderStatusMXBean {
spider.stop();
}
@Override
public Date getStartTime() {
return spider.getStartTime();
}
@Override
public int getPagePerSecond() {
int runSeconds = (int) (System.currentTimeMillis() - getStartTime().getTime()) / 1000;
return getSuccessPageCount() / runSeconds;
}
}
package us.codecraft.webmagic.monitor;
import java.util.Date;
import java.util.List;
/**
......@@ -27,4 +28,8 @@ public interface SpiderStatusMXBean {
public void start();
public void stop();
public Date getStartTime();
public int getPagePerSecond();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment