package org.skywalking.apm.collector.worker.noderef.analysis; import com.google.gson.Gson; import com.google.gson.JsonArray; import org.skywalking.apm.collector.worker.datamerge.JsonDataMerge; import org.skywalking.apm.collector.worker.datamerge.RecordDataMergeJson; import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; import org.skywalking.apm.collector.worker.storage.RecordData; import java.util.List; /** * @author pengys5 */ public enum NodeRefAnalyse { INSTANCE; public void analyse(String resSumJsonFile, String jsonFile, AbstractNodeRefAnalysis analysis, RecordDataAnswer answer, NodeRefResRecordAnswer recordAnswer) throws Exception { SegmentMock segmentMock = new SegmentMock(); segmentMock.executeAnalysis(analysis); List<RecordData> recordDataList = answer.getRecordDataList(); RecordDataMergeJson.INSTANCE.merge(jsonFile, recordDataList); Gson gson = new Gson(); String recordJsonStr = gson.toJson(recordAnswer.getNodeRefResRecordList()); JsonArray recordJsonArray = gson.fromJson(recordJsonStr, JsonArray.class); JsonDataMerge.INSTANCE.merge(resSumJsonFile, recordJsonArray); } }