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; ...@@ -18,10 +18,7 @@ import us.codecraft.webmagic.utils.UrlUtils;
import java.io.Closeable; import java.io.Closeable;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.*;
import java.util.Collection;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicLong;
...@@ -103,6 +100,8 @@ public class Spider implements Runnable, Task { ...@@ -103,6 +100,8 @@ public class Spider implements Runnable, Task {
private final AtomicLong pageCount = new AtomicLong(0); private final AtomicLong pageCount = new AtomicLong(0);
private Date startTime;
/** /**
* create a spider with pageProcessor. * create a spider with pageProcessor.
* *
...@@ -288,6 +287,7 @@ public class Spider implements Runnable, Task { ...@@ -288,6 +287,7 @@ public class Spider implements Runnable, Task {
} }
startRequests.clear(); startRequests.clear();
} }
startTime = new Date();
} }
@Override @Override
...@@ -685,6 +685,10 @@ public class Spider implements Runnable, Task { ...@@ -685,6 +685,10 @@ public class Spider implements Runnable, Task {
return this; return this;
} }
public Date getStartTime() {
return startTime;
}
public Scheduler getScheduler() { public Scheduler getScheduler() {
return scheduler; return scheduler;
} }
......
...@@ -5,6 +5,7 @@ import org.slf4j.LoggerFactory; ...@@ -5,6 +5,7 @@ import org.slf4j.LoggerFactory;
import us.codecraft.webmagic.Spider; import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.scheduler.MonitorableScheduler; import us.codecraft.webmagic.scheduler.MonitorableScheduler;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -76,4 +77,15 @@ public class SpiderStatus implements SpiderStatusMXBean { ...@@ -76,4 +77,15 @@ public class SpiderStatus implements SpiderStatusMXBean {
spider.stop(); 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; package us.codecraft.webmagic.monitor;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -27,4 +28,8 @@ public interface SpiderStatusMXBean { ...@@ -27,4 +28,8 @@ public interface SpiderStatusMXBean {
public void start(); public void start();
public void stop(); 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