|
@@ -4,6 +4,7 @@
|
|
package org.dbsyncer.parser.flush;
|
|
package org.dbsyncer.parser.flush;
|
|
|
|
|
|
import org.dbsyncer.common.config.BufferActuatorConfig;
|
|
import org.dbsyncer.common.config.BufferActuatorConfig;
|
|
|
|
+import org.dbsyncer.common.metric.TimeRegistry;
|
|
import org.dbsyncer.common.scheduled.ScheduledTaskJob;
|
|
import org.dbsyncer.common.scheduled.ScheduledTaskJob;
|
|
import org.dbsyncer.common.scheduled.ScheduledTaskService;
|
|
import org.dbsyncer.common.scheduled.ScheduledTaskService;
|
|
import org.dbsyncer.parser.ProfileComponent;
|
|
import org.dbsyncer.parser.ProfileComponent;
|
|
@@ -48,6 +49,9 @@ public abstract class AbstractBufferActuator<Request extends BufferRequest, Resp
|
|
@Resource
|
|
@Resource
|
|
private ProfileComponent profileComponent;
|
|
private ProfileComponent profileComponent;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private TimeRegistry timeRegistry;
|
|
|
|
+
|
|
public AbstractBufferActuator() {
|
|
public AbstractBufferActuator() {
|
|
int level = 5;
|
|
int level = 5;
|
|
Class<?> aClass = getClass();
|
|
Class<?> aClass = getClass();
|
|
@@ -130,7 +134,7 @@ public abstract class AbstractBufferActuator<Request extends BufferRequest, Resp
|
|
*
|
|
*
|
|
* @param map
|
|
* @param map
|
|
*/
|
|
*/
|
|
- protected void process(Map<String, Response> map){
|
|
|
|
|
|
+ protected void process(Map<String, Response> map) {
|
|
map.forEach((key, response) -> {
|
|
map.forEach((key, response) -> {
|
|
long now = Instant.now().toEpochMilli();
|
|
long now = Instant.now().toEpochMilli();
|
|
try {
|
|
try {
|
|
@@ -150,6 +154,16 @@ public abstract class AbstractBufferActuator<Request extends BufferRequest, Resp
|
|
*/
|
|
*/
|
|
protected abstract void offerFailed(BlockingQueue<Request> queue, Request request);
|
|
protected abstract void offerFailed(BlockingQueue<Request> queue, Request request);
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 统计消费 TPS
|
|
|
|
+ *
|
|
|
|
+ * @param timeRegistry
|
|
|
|
+ * @param count
|
|
|
|
+ */
|
|
|
|
+ protected void meter(TimeRegistry timeRegistry, long count) {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void offer(BufferRequest request) {
|
|
public void offer(BufferRequest request) {
|
|
if (queue.offer((Request) request)) {
|
|
if (queue.offer((Request) request)) {
|
|
@@ -212,6 +226,7 @@ public abstract class AbstractBufferActuator<Request extends BufferRequest, Resp
|
|
|
|
|
|
process(map);
|
|
process(map);
|
|
map.clear();
|
|
map.clear();
|
|
|
|
+ meter(timeRegistry, batchCounter.get());
|
|
map = null;
|
|
map = null;
|
|
batchCounter = null;
|
|
batchCounter = null;
|
|
}
|
|
}
|