提交 0a696813 编写于 作者: 彭勇升 pengys 提交者: wu-sheng

Time bucket util improve. (#2795)

上级 50ecc53c
...@@ -20,7 +20,7 @@ package org.apache.skywalking.oap.server.core.alarm; ...@@ -20,7 +20,7 @@ package org.apache.skywalking.oap.server.core.alarm;
import java.util.List; import java.util.List;
import org.apache.skywalking.oap.server.core.analysis.worker.RecordStreamProcessor; import org.apache.skywalking.oap.server.core.analysis.worker.RecordStreamProcessor;
import org.apache.skywalking.oap.server.library.util.TimeBucketUtils; import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.slf4j.*; import org.slf4j.*;
/** /**
...@@ -45,7 +45,7 @@ public class AlarmStandardPersistence implements AlarmCallback { ...@@ -45,7 +45,7 @@ public class AlarmStandardPersistence implements AlarmCallback {
record.setName(message.getName()); record.setName(message.getName());
record.setAlarmMessage(message.getAlarmMessage()); record.setAlarmMessage(message.getAlarmMessage());
record.setStartTime(message.getStartTime()); record.setStartTime(message.getStartTime());
record.setTimeBucket(TimeBucketUtils.INSTANCE.getSecondTimeBucket(message.getStartTime())); record.setTimeBucket(TimeBucket.getSecondTimeBucket(message.getStartTime()));
RecordStreamProcessor.getInstance().in(record); RecordStreamProcessor.getInstance().in(record);
}); });
......
...@@ -13,37 +13,27 @@ ...@@ -13,37 +13,27 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*
*/ */
package org.apache.skywalking.oap.server.library.util; package org.apache.skywalking.oap.server.core.analysis;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import org.apache.skywalking.oap.server.core.UnexpectedException;
import org.joda.time.LocalDateTime;
/** /**
* @author peng-yongsheng * @author peng-yongsheng
*/ */
public enum TimeBucketUtils { public class TimeBucket {
INSTANCE;
public long getMinuteTimeBucket(long time) { public static long getSecondTimeBucket(long time) {
Calendar calendar = Calendar.getInstance(); return getTimeBucket(time, Downsampling.Second);
calendar.setTimeInMillis(time); }
long year = calendar.get(Calendar.YEAR);
long month = calendar.get(Calendar.MONTH) + 1;
long day = calendar.get(Calendar.DAY_OF_MONTH);
long hour = calendar.get(Calendar.HOUR_OF_DAY);
long minute = calendar.get(Calendar.MINUTE);
return year * 100000000 + month * 1000000 + day * 10000 + hour * 100 + minute; public static long getMinuteTimeBucket(long time) {
return getTimeBucket(time, Downsampling.Minute);
} }
public long getSecondTimeBucket(long time) { public static long getTimeBucket(long time, Downsampling downsampling) {
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time); calendar.setTimeInMillis(time);
...@@ -54,30 +44,19 @@ public enum TimeBucketUtils { ...@@ -54,30 +44,19 @@ public enum TimeBucketUtils {
long minute = calendar.get(Calendar.MINUTE); long minute = calendar.get(Calendar.MINUTE);
long second = calendar.get(Calendar.SECOND); long second = calendar.get(Calendar.SECOND);
return year * 10000000000L + month * 100000000 + day * 1000000 + hour * 10000 + minute * 100 + second; switch (downsampling) {
} case Second:
return year * 10000000000L + month * 100000000 + day * 1000000 + hour * 10000 + minute * 100 + second;
public long getTime(LocalDateTime time) { case Minute:
return time.getYear() * 10000000000L + time.getMonthOfYear() * 100000000 + time.getDayOfMonth() * 1000000 return year * 100000000 + month * 1000000 + day * 10000 + hour * 100 + minute;
+ time.getHourOfDay() * 10000 + time.getMinuteOfHour() * 100 + time.getSecondOfMinute(); case Hour:
} return year * 1000000 + month * 10000 + day * 100 + hour;
case Day:
public String formatMinuteTimeBucket(long minuteTimeBucket) throws ParseException { return year * 10000 + month * 100 + day;
SimpleDateFormat minuteDateFormat = new SimpleDateFormat("yyyyMMddHHmm"); case Month:
Date date = minuteDateFormat.parse(String.valueOf(minuteTimeBucket)); return year * 100 + month;
SimpleDateFormat parsedMinuteDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); default:
return parsedMinuteDateFormat.format(date); throw new UnexpectedException("Unknown downsampling value.");
} }
public long minuteToHour(long minuteBucket) {
return minuteBucket / 100;
}
public long minuteToDay(long minuteBucket) {
return minuteBucket / 100 / 100;
}
public long minuteToMonth(long minuteBucket) {
return minuteBucket / 100 / 100 / 100;
} }
} }
...@@ -23,7 +23,7 @@ import java.util.*; ...@@ -23,7 +23,7 @@ import java.util.*;
import org.apache.skywalking.oap.server.core.*; import org.apache.skywalking.oap.server.core.*;
import org.apache.skywalking.oap.server.core.analysis.Downsampling; import org.apache.skywalking.oap.server.core.analysis.Downsampling;
import org.apache.skywalking.oap.server.core.query.entity.Step; import org.apache.skywalking.oap.server.core.query.entity.Step;
import org.joda.time.*; import org.joda.time.DateTime;
/** /**
* @author peng-yongsheng * @author peng-yongsheng
...@@ -113,13 +113,6 @@ public enum DurationUtils { ...@@ -113,13 +113,6 @@ public enum DurationUtils {
throw new UnexpectedException("Unsupported step " + step.name()); throw new UnexpectedException("Unsupported step " + step.name());
} }
public int minutesBetween(Step step, long startTimeBucket, long endTimeBucket) throws ParseException {
Date startDate = formatDate(step, startTimeBucket);
Date endDate = formatDate(step, endTimeBucket);
return Minutes.minutesBetween(new DateTime(startDate), new DateTime(endDate)).getMinutes();
}
public int minutesBetween(Downsampling downsampling, DateTime dateTime) { public int minutesBetween(Downsampling downsampling, DateTime dateTime) {
switch (downsampling) { switch (downsampling) {
case Month: case Month:
...@@ -128,22 +121,11 @@ public enum DurationUtils { ...@@ -128,22 +121,11 @@ public enum DurationUtils {
return 24 * 60; return 24 * 60;
case Hour: case Hour:
return 60; return 60;
case Minute:
return 1;
case Second:
return 1;
default: default:
return 1; return 1;
} }
} }
public int secondsBetween(Step step, long startTimeBucket, long endTimeBucket) throws ParseException {
Date startDate = formatDate(step, startTimeBucket);
Date endDate = formatDate(step, endTimeBucket);
return Seconds.secondsBetween(new DateTime(startDate), new DateTime(endDate)).getSeconds();
}
public int secondsBetween(Downsampling downsampling, DateTime dateTime) { public int secondsBetween(Downsampling downsampling, DateTime dateTime) {
switch (downsampling) { switch (downsampling) {
case Month: case Month:
...@@ -154,8 +136,6 @@ public enum DurationUtils { ...@@ -154,8 +136,6 @@ public enum DurationUtils {
return 60 * 60; return 60 * 60;
case Minute: case Minute:
return 60; return 60;
case Second:
return 1;
default: default:
return 1; return 1;
} }
...@@ -207,28 +187,6 @@ public enum DurationUtils { ...@@ -207,28 +187,6 @@ public enum DurationUtils {
return durations; return durations;
} }
private Date formatDate(Step step, long timeBucket) throws ParseException {
Date date = null;
switch (step) {
case MONTH:
date = new SimpleDateFormat("yyyyMM").parse(String.valueOf(timeBucket));
break;
case DAY:
date = new SimpleDateFormat("yyyyMMdd").parse(String.valueOf(timeBucket));
break;
case HOUR:
date = new SimpleDateFormat("yyyyMMddHH").parse(String.valueOf(timeBucket));
break;
case MINUTE:
date = new SimpleDateFormat("yyyyMMddHHmm").parse(String.valueOf(timeBucket));
break;
case SECOND:
date = new SimpleDateFormat("yyyyMMddHHmmss").parse(String.valueOf(timeBucket));
break;
}
return date;
}
private DateTime parseToDateTime(Downsampling downsampling, long time) throws ParseException { private DateTime parseToDateTime(Downsampling downsampling, long time) throws ParseException {
DateTime dateTime = null; DateTime dateTime = null;
......
...@@ -28,7 +28,7 @@ import org.apache.skywalking.oap.server.core.*; ...@@ -28,7 +28,7 @@ import org.apache.skywalking.oap.server.core.*;
import org.apache.skywalking.oap.server.core.register.service.*; import org.apache.skywalking.oap.server.core.register.service.*;
import org.apache.skywalking.oap.server.core.source.*; import org.apache.skywalking.oap.server.core.source.*;
import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.util.TimeBucketUtils; import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.apache.skywalking.oap.server.telemetry.TelemetryModule; import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
import org.apache.skywalking.oap.server.telemetry.api.*; import org.apache.skywalking.oap.server.telemetry.api.*;
import org.slf4j.*; import org.slf4j.*;
...@@ -134,7 +134,7 @@ public class MetricServiceGRPCHandler extends MetricsServiceGrpc.MetricsServiceI ...@@ -134,7 +134,7 @@ public class MetricServiceGRPCHandler extends MetricsServiceGrpc.MetricsServiceI
metricSource.setName(serviceInstanceName); metricSource.setName(serviceInstanceName);
metricSource.setMetricName(metricFamily.getName()); metricSource.setMetricName(metricFamily.getName());
metricSource.setValue(value); metricSource.setValue(value);
metricSource.setTimeBucket(TimeBucketUtils.INSTANCE.getMinuteTimeBucket(timestamp)); metricSource.setTimeBucket(TimeBucket.getMinuteTimeBucket(timestamp));
sourceReceiver.receive(metricSource); sourceReceiver.receive(metricSource);
} }
break; break;
......
...@@ -26,6 +26,7 @@ import java.time.Instant; ...@@ -26,6 +26,7 @@ import java.time.Instant;
import java.util.Base64; import java.util.Base64;
import org.apache.skywalking.apm.util.StringUtil; import org.apache.skywalking.apm.util.StringUtil;
import org.apache.skywalking.oap.server.core.Const; import org.apache.skywalking.oap.server.core.Const;
import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.apache.skywalking.oap.server.core.source.*; import org.apache.skywalking.oap.server.core.source.*;
import org.apache.skywalking.oap.server.library.util.*; import org.apache.skywalking.oap.server.library.util.*;
import org.apache.skywalking.oap.server.receiver.sharing.server.CoreRegisterLinker; import org.apache.skywalking.oap.server.receiver.sharing.server.CoreRegisterLinker;
...@@ -98,7 +99,7 @@ public class JaegerGRPCHandler extends CollectorServiceGrpc.CollectorServiceImpl ...@@ -98,7 +99,7 @@ public class JaegerGRPCHandler extends CollectorServiceGrpc.CollectorServiceImpl
long duration = span.getDuration().getNanos() / 1_000_000; long duration = span.getDuration().getNanos() / 1_000_000;
jaegerSpan.setStartTime(Instant.ofEpochSecond(span.getStartTime().getSeconds(), span.getStartTime().getNanos()).toEpochMilli()); jaegerSpan.setStartTime(Instant.ofEpochSecond(span.getStartTime().getSeconds(), span.getStartTime().getNanos()).toEpochMilli());
long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(jaegerSpan.getStartTime()); long timeBucket = TimeBucket.getSecondTimeBucket(jaegerSpan.getStartTime());
jaegerSpan.setTimeBucket(timeBucket); jaegerSpan.setTimeBucket(timeBucket);
jaegerSpan.setEndTime(jaegerSpan.getStartTime() + duration); jaegerSpan.setEndTime(jaegerSpan.getStartTime() + duration);
jaegerSpan.setLatency((int)duration); jaegerSpan.setLatency((int)duration);
......
...@@ -24,7 +24,7 @@ import org.apache.skywalking.apm.network.language.agent.v2.CLRMetricCollection; ...@@ -24,7 +24,7 @@ import org.apache.skywalking.apm.network.language.agent.v2.CLRMetricCollection;
import org.apache.skywalking.apm.network.language.agent.v2.CLRMetricReportServiceGrpc; import org.apache.skywalking.apm.network.language.agent.v2.CLRMetricReportServiceGrpc;
import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler; import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler;
import org.apache.skywalking.oap.server.library.util.TimeBucketUtils; import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -49,7 +49,7 @@ public class CLRMetricReportServiceHandler extends CLRMetricReportServiceGrpc.CL ...@@ -49,7 +49,7 @@ public class CLRMetricReportServiceHandler extends CLRMetricReportServiceGrpc.CL
} }
request.getMetricsList().forEach(metrics -> { request.getMetricsList().forEach(metrics -> {
long minuteTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(metrics.getTime()); long minuteTimeBucket = TimeBucket.getMinuteTimeBucket(metrics.getTime());
clrSourceDispatcher.sendMetric(serviceInstanceId, minuteTimeBucket, metrics); clrSourceDispatcher.sendMetric(serviceInstanceId, minuteTimeBucket, metrics);
}); });
......
...@@ -23,7 +23,7 @@ import org.apache.skywalking.apm.network.common.Commands; ...@@ -23,7 +23,7 @@ import org.apache.skywalking.apm.network.common.Commands;
import org.apache.skywalking.apm.network.language.agent.v2.*; import org.apache.skywalking.apm.network.language.agent.v2.*;
import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler; import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler;
import org.apache.skywalking.oap.server.library.util.TimeBucketUtils; import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.slf4j.*; import org.slf4j.*;
public class JVMMetricReportServiceHandler extends JVMMetricReportServiceGrpc.JVMMetricReportServiceImplBase implements GRPCHandler { public class JVMMetricReportServiceHandler extends JVMMetricReportServiceGrpc.JVMMetricReportServiceImplBase implements GRPCHandler {
...@@ -44,7 +44,7 @@ public class JVMMetricReportServiceHandler extends JVMMetricReportServiceGrpc.JV ...@@ -44,7 +44,7 @@ public class JVMMetricReportServiceHandler extends JVMMetricReportServiceGrpc.JV
} }
request.getMetricsList().forEach(metrics -> { request.getMetricsList().forEach(metrics -> {
long minuteTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(metrics.getTime()); long minuteTimeBucket = TimeBucket.getMinuteTimeBucket(metrics.getTime());
jvmSourceDispatcher.sendMetric(serviceInstanceId, minuteTimeBucket, metrics); jvmSourceDispatcher.sendMetric(serviceInstanceId, minuteTimeBucket, metrics);
}); });
......
...@@ -22,7 +22,7 @@ import io.grpc.stub.StreamObserver; ...@@ -22,7 +22,7 @@ import io.grpc.stub.StreamObserver;
import org.apache.skywalking.apm.network.language.agent.*; import org.apache.skywalking.apm.network.language.agent.*;
import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler; import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler;
import org.apache.skywalking.oap.server.library.util.TimeBucketUtils; import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.slf4j.*; import org.slf4j.*;
/** /**
...@@ -46,7 +46,7 @@ public class JVMMetricsServiceHandler extends JVMMetricsServiceGrpc.JVMMetricsSe ...@@ -46,7 +46,7 @@ public class JVMMetricsServiceHandler extends JVMMetricsServiceGrpc.JVMMetricsSe
} }
request.getMetricsList().forEach(metrics -> { request.getMetricsList().forEach(metrics -> {
long minuteTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(metrics.getTime()); long minuteTimeBucket = TimeBucket.getMinuteTimeBucket(metrics.getTime());
jvmSourceDispatcher.sendMetric(serviceInstanceId, minuteTimeBucket, metrics); jvmSourceDispatcher.sendMetric(serviceInstanceId, minuteTimeBucket, metrics);
}); });
......
...@@ -28,7 +28,7 @@ import org.apache.skywalking.oap.server.core.register.ServiceInstanceInventory; ...@@ -28,7 +28,7 @@ import org.apache.skywalking.oap.server.core.register.ServiceInstanceInventory;
import org.apache.skywalking.oap.server.core.register.service.*; import org.apache.skywalking.oap.server.core.register.service.*;
import org.apache.skywalking.oap.server.core.source.*; import org.apache.skywalking.oap.server.core.source.*;
import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.util.TimeBucketUtils; import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.slf4j.*; import org.slf4j.*;
/** /**
...@@ -89,7 +89,7 @@ public class TelemetryDataDispatcher { ...@@ -89,7 +89,7 @@ public class TelemetryDataDispatcher {
*/ */
static void doDispatch(ServiceMeshMetricDataDecorator decorator) { static void doDispatch(ServiceMeshMetricDataDecorator decorator) {
ServiceMeshMetric metrics = decorator.getMetric(); ServiceMeshMetric metrics = decorator.getMetric();
long minuteTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(metrics.getStartTime()); long minuteTimeBucket = TimeBucket.getMinuteTimeBucket(metrics.getStartTime());
heartbeat(decorator, minuteTimeBucket); heartbeat(decorator, minuteTimeBucket);
if (org.apache.skywalking.apm.network.common.DetectPoint.server.equals(metrics.getDetectPoint())) { if (org.apache.skywalking.apm.network.common.DetectPoint.server.equals(metrics.getDetectPoint())) {
......
...@@ -24,7 +24,7 @@ import lombok.Setter; ...@@ -24,7 +24,7 @@ import lombok.Setter;
import org.apache.skywalking.apm.network.language.agent.*; import org.apache.skywalking.apm.network.language.agent.*;
import org.apache.skywalking.oap.server.library.buffer.*; import org.apache.skywalking.oap.server.library.buffer.*;
import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.util.TimeBucketUtils; import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.apache.skywalking.oap.server.receiver.trace.provider.TraceServiceModuleConfig; import org.apache.skywalking.oap.server.receiver.trace.provider.TraceServiceModuleConfig;
import org.apache.skywalking.oap.server.receiver.trace.provider.parser.decorator.*; import org.apache.skywalking.oap.server.receiver.trace.provider.parser.decorator.*;
import org.apache.skywalking.oap.server.receiver.trace.provider.parser.listener.*; import org.apache.skywalking.oap.server.receiver.trace.provider.parser.listener.*;
...@@ -162,7 +162,7 @@ public class SegmentParse { ...@@ -162,7 +162,7 @@ public class SegmentParse {
} }
if (exchanged) { if (exchanged) {
long minuteTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(segmentCoreInfo.getStartTime()); long minuteTimeBucket = TimeBucket.getMinuteTimeBucket(segmentCoreInfo.getStartTime());
segmentCoreInfo.setMinuteTimeBucket(minuteTimeBucket); segmentCoreInfo.setMinuteTimeBucket(minuteTimeBucket);
for (int i = 0; i < segmentDecorator.getSpansCount(); i++) { for (int i = 0; i < segmentDecorator.getSpansCount(); i++) {
......
...@@ -25,7 +25,7 @@ import org.apache.skywalking.apm.network.language.agent.*; ...@@ -25,7 +25,7 @@ import org.apache.skywalking.apm.network.language.agent.*;
import org.apache.skywalking.apm.network.language.agent.v2.SegmentObject; import org.apache.skywalking.apm.network.language.agent.v2.SegmentObject;
import org.apache.skywalking.oap.server.library.buffer.*; import org.apache.skywalking.oap.server.library.buffer.*;
import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.util.TimeBucketUtils; import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.apache.skywalking.oap.server.receiver.trace.provider.TraceServiceModuleConfig; import org.apache.skywalking.oap.server.receiver.trace.provider.TraceServiceModuleConfig;
import org.apache.skywalking.oap.server.receiver.trace.provider.parser.decorator.*; import org.apache.skywalking.oap.server.receiver.trace.provider.parser.decorator.*;
import org.apache.skywalking.oap.server.receiver.trace.provider.parser.listener.*; import org.apache.skywalking.oap.server.receiver.trace.provider.parser.listener.*;
...@@ -167,7 +167,7 @@ public class SegmentParseV2 { ...@@ -167,7 +167,7 @@ public class SegmentParseV2 {
} }
if (exchanged) { if (exchanged) {
long minuteTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(segmentCoreInfo.getStartTime()); long minuteTimeBucket = TimeBucket.getMinuteTimeBucket(segmentCoreInfo.getStartTime());
segmentCoreInfo.setMinuteTimeBucket(minuteTimeBucket); segmentCoreInfo.setMinuteTimeBucket(minuteTimeBucket);
for (int i = 0; i < segmentDecorator.getSpansCount(); i++) { for (int i = 0; i < segmentDecorator.getSpansCount(); i++) {
......
...@@ -25,7 +25,7 @@ import org.apache.skywalking.oap.server.core.*; ...@@ -25,7 +25,7 @@ import org.apache.skywalking.oap.server.core.*;
import org.apache.skywalking.oap.server.core.cache.*; import org.apache.skywalking.oap.server.core.cache.*;
import org.apache.skywalking.oap.server.core.source.*; import org.apache.skywalking.oap.server.core.source.*;
import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.util.TimeBucketUtils; import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.apache.skywalking.oap.server.receiver.trace.provider.*; import org.apache.skywalking.oap.server.receiver.trace.provider.*;
import org.apache.skywalking.oap.server.receiver.trace.provider.parser.SpanTags; import org.apache.skywalking.oap.server.receiver.trace.provider.parser.SpanTags;
import org.apache.skywalking.oap.server.receiver.trace.provider.parser.decorator.*; import org.apache.skywalking.oap.server.receiver.trace.provider.parser.decorator.*;
...@@ -157,7 +157,7 @@ public class MultiScopesSpanListener implements EntrySpanListener, ExitSpanListe ...@@ -157,7 +157,7 @@ public class MultiScopesSpanListener implements EntrySpanListener, ExitSpanListe
statement.setId(segmentCoreInfo.getSegmentId() + "-" + spanDecorator.getSpanId()); statement.setId(segmentCoreInfo.getSegmentId() + "-" + spanDecorator.getSpanId());
statement.setDatabaseServiceId(sourceBuilder.getDestServiceId()); statement.setDatabaseServiceId(sourceBuilder.getDestServiceId());
statement.setLatency(sourceBuilder.getLatency()); statement.setLatency(sourceBuilder.getLatency());
statement.setTimeBucket(TimeBucketUtils.INSTANCE.getSecondTimeBucket(segmentCoreInfo.getStartTime())); statement.setTimeBucket(TimeBucket.getSecondTimeBucket(segmentCoreInfo.getStartTime()));
statement.setTraceId(traceId); statement.setTraceId(traceId);
for (KeyStringValuePair tag : spanDecorator.getAllTags()) { for (KeyStringValuePair tag : spanDecorator.getAllTags()) {
if (SpanTags.DB_STATEMENT.equals(tag.getKey())) { if (SpanTags.DB_STATEMENT.equals(tag.getKey())) {
......
...@@ -25,7 +25,7 @@ import org.apache.skywalking.oap.server.core.source.Segment; ...@@ -25,7 +25,7 @@ import org.apache.skywalking.oap.server.core.source.Segment;
import org.apache.skywalking.oap.server.core.source.SourceReceiver; import org.apache.skywalking.oap.server.core.source.SourceReceiver;
import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.util.BooleanUtils; import org.apache.skywalking.oap.server.library.util.BooleanUtils;
import org.apache.skywalking.oap.server.library.util.TimeBucketUtils; import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.apache.skywalking.oap.server.receiver.trace.provider.TraceServiceModuleConfig; import org.apache.skywalking.oap.server.receiver.trace.provider.TraceServiceModuleConfig;
import org.apache.skywalking.oap.server.receiver.trace.provider.parser.decorator.SegmentCoreInfo; import org.apache.skywalking.oap.server.receiver.trace.provider.parser.decorator.SegmentCoreInfo;
import org.apache.skywalking.oap.server.receiver.trace.provider.parser.decorator.SpanDecorator; import org.apache.skywalking.oap.server.receiver.trace.provider.parser.decorator.SpanDecorator;
...@@ -68,7 +68,7 @@ public class SegmentSpanListener implements FirstSpanListener, EntrySpanListener ...@@ -68,7 +68,7 @@ public class SegmentSpanListener implements FirstSpanListener, EntrySpanListener
return; return;
} }
long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(segmentCoreInfo.getStartTime()); long timeBucket = TimeBucket.getSecondTimeBucket(segmentCoreInfo.getStartTime());
segment.setSegmentId(segmentCoreInfo.getSegmentId()); segment.setSegmentId(segmentCoreInfo.getSegmentId());
segment.setServiceId(segmentCoreInfo.getServiceId()); segment.setServiceId(segmentCoreInfo.getServiceId());
......
...@@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.receiver.zipkin.trace; ...@@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.receiver.zipkin.trace;
import java.util.List; import java.util.List;
import org.apache.skywalking.apm.util.StringUtil; import org.apache.skywalking.apm.util.StringUtil;
import org.apache.skywalking.oap.server.core.Const; import org.apache.skywalking.oap.server.core.Const;
import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.apache.skywalking.oap.server.core.cache.*; import org.apache.skywalking.oap.server.core.cache.*;
import org.apache.skywalking.oap.server.core.source.*; import org.apache.skywalking.oap.server.core.source.*;
import org.apache.skywalking.oap.server.library.util.*; import org.apache.skywalking.oap.server.library.util.*;
...@@ -92,7 +93,7 @@ public class SpanForward { ...@@ -92,7 +93,7 @@ public class SpanForward {
long startTime = span.timestampAsLong() / 1000; long startTime = span.timestampAsLong() / 1000;
zipkinSpan.setStartTime(startTime); zipkinSpan.setStartTime(startTime);
if (startTime != 0) { if (startTime != 0) {
long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(zipkinSpan.getStartTime()); long timeBucket = TimeBucket.getSecondTimeBucket(zipkinSpan.getStartTime());
zipkinSpan.setTimeBucket(timeBucket); zipkinSpan.setTimeBucket(timeBucket);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册