Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,7 @@ public byte[] compress(long[] src, int offset, int length) {
}

public long[] decompress(byte[] src) {
logger.info(Arrays.toString(src));
LongBuffer srcBuf = ByteBuffer.wrap(src).asLongBuffer();
logger.info(Arrays.toString(srcBuf.array()));
int len = decompressLength(srcBuf);
LongArrayOutputStream dst = (len < 0)
? new LongArrayOutputStream() : new LongArrayOutputStream(len);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,6 @@ protected int decompressLength(LongBuffer src) {
src.mark();
final int outLen = (int)src.get();
src.reset();
logger.info("outLen:" + outLen);
return outLen;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,10 @@ public String search(String metricsSearch) {
}

public MetricsSearchResponse search(MetricsSearchRequest request) {
return searchWithTime(request, System.currentTimeMillis());
}

public MetricsSearchResponse searchWithTime(MetricsSearchRequest request, long currentTimeStamp) {

long startTime = request.getStartTime();
long endTime = request.getEndTime();
Expand All @@ -131,9 +135,6 @@ public MetricsSearchResponse search(MetricsSearchRequest request) {
List<MetricSearch> metricNames = request.getQueries();
boolean zeroIgnore = request.isZeroIgnore();

long currentTimeStamp = System.currentTimeMillis();
long todayBaseTime = FigureUtil.getTodayStartTimestamp(currentTimeStamp);

MetricsSearchResponse response = new MetricsSearchResponse();
List<MetricResult> resultList = new ArrayList<MetricResult>();

Expand Down Expand Up @@ -258,7 +259,7 @@ private Map<MetricLevel, SortedMap<Long, List<MetricResult>>> distinguishSearch(
results = cache.getDataFromCache(results, dataSourcesYesterday, cacheStartTime, todayBaseTime - 1000,
precision);

} else if (startTime < todayBaseTime && todayBaseTime < endTime) {
} else if (todayBaseTime > startTime && todayBaseTime > endTime) {
passedDayAccess.inc();
// 数据都是昨天的
LogDescriptionRegister logDescribeYesterday = logDescriptionManager
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public class MetricsSearchServiceTest {

private MetricsCollectPeriodConfig metricsCollectPeriodConfig = new MetricsCollectPeriodConfig();
private LogDescriptionManager logDescriptionManager = new LogDescriptionManager(logRootPath);
private MetricsMemoryCache cache = new MetricsMemoryCache(Constants.DATA_CACHE_TIME);
private MetricsMemoryCache cache = new MetricsMemoryCache(Constants.DATA_CACHE_TIME * 10);

private static Map<MetricLevel, Long> lastUpdateTime = new HashMap<MetricLevel, Long>(){{
put(MetricLevel.CRITICAL, 0L);
Expand All @@ -59,7 +59,7 @@ public class MetricsSearchServiceTest {

private MetricsSearchService service = MetricsSearchService.getInstance();

@Ignore
// @Ignore
@Test
public void mainServer() {

Expand All @@ -68,6 +68,7 @@ public void mainServer() {
initData();
dataInCurrentOneDay();
dataInPassedDay();
dataInCrossDayWithCache();
dataInAnyDay();
hasNoData();
} finally {
Expand Down Expand Up @@ -98,6 +99,9 @@ public void initData() {
long baseTimestamp = FigureUtil.getTodayStartTimestamp(timestampx);

for (int i = 0; i < 86400000; i = i + 1000) {
if (i > 120000 && timestampx == startTimestamps[2]) {
continue;
}

long timestamp = baseTimestamp + i;

Expand Down Expand Up @@ -141,6 +145,38 @@ public void dataInCache(){

}

public void dataInCrossDayWithCache() {

long timstamp = FigureUtil.getTodayStartTimestamp(System.currentTimeMillis());

long startTime = timstamp - 15000;
long endTime = startTime + 14000;

MetricsSearchRequest request = new MetricsSearchRequest();
request.setStartTime(startTime);
request.setEndTime(endTime);
request.setLimit(0);
request.setPrecision(60);

List<MetricSearch> searchKey = new ArrayList<MetricSearch>();
for(int i = 0; i <= 0; i++){

for(MetricLevel level : MetricLevel.values()){
MetricSearch metricSearch = new MetricSearch("METRIC_TEST_" + level + "_" + i, new HashMap<String, String>());
searchKey.add(metricSearch);
}

}

request.setQueries(searchKey);

MetricsSearchResponse response = service.searchWithTime(request, request.getStartTime()+30000L);
System.out.println(response);
System.out.println(response.getResult().size());
assert response.getResult().size() == 19;

}

public void dataInCurrentOneDay() {

long timstamp = FigureUtil.getTodayStartTimestamp(System.currentTimeMillis());
Expand Down
8 changes: 7 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<metrics.version>2.1.0-SNAPSHOT</metrics.version>
<metrics.version>2.0.7</metrics.version>
<jersey.version>2.27</jersey.version>
<fastjson.version>1.2.60</fastjson.version>
<!-- be careful that higher version might not support JDK6 -->
Expand Down Expand Up @@ -440,6 +440,12 @@
</plugins>
</build>

<distributionManagement>
<snapshotRepository>
<id>snapshots</id>
<url>http://mvnrepo.alibaba-inc.com/mvn/snapshots</url>
</snapshotRepository>
</distributionManagement>
<scm>
<url>https://github.com/alibaba/metrics</url>
<connection>scm:git:https://github.com/alibaba/metrics.git</connection>
Expand Down