diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/pom.xml b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/pom.xml new file mode 100644 index 000000000..0cd511794 --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/pom.xml @@ -0,0 +1,33 @@ + + + + + + analysis-jvm + org.apache.skywalking + 5.0.0-alpha + + 4.0.0 + + jvm-define + + + \ No newline at end of file diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/AnalysisJVMModule.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/AnalysisJVMModule.java new file mode 100644 index 000000000..b91b96f88 --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/AnalysisJVMModule.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.analysis.jvm.define; + +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.ICpuMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IGCMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IInstanceHeartBeatService; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IMemoryMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IMemoryPoolMetricService; +import org.apache.skywalking.apm.collector.core.module.Module; + +/** + * @author peng-yongsheng + */ +public class AnalysisJVMModule extends Module { + + public static final String NAME = "analysis_jvm"; + + @Override public String name() { + return NAME; + } + + @Override public Class[] services() { + return new Class[] { + ICpuMetricService.class, IGCMetricService.class, IInstanceHeartBeatService.class, + IMemoryMetricService.class, IMemoryPoolMetricService.class + }; + } +} diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/graph/GraphIdDefine.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/graph/GraphIdDefine.java new file mode 100644 index 000000000..ba80f21e2 --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/graph/GraphIdDefine.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.analysis.jvm.define.graph; + +/** + * @author peng-yongsheng + */ +public class GraphIdDefine { + public static final int CPU_METRIC_PERSISTENCE_GRAPH_ID = 300; + public static final int GC_METRIC_PERSISTENCE_GRAPH_ID = 301; + public static final int INSTANCE_HEART_BEAT_PERSISTENCE_GRAPH_ID = 302; + public static final int MEMORY_METRIC_PERSISTENCE_GRAPH_ID = 303; + public static final int MEMORY_POOL_METRIC_PERSISTENCE_GRAPH_ID = 304; +} diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/graph/WorkerIdDefine.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/graph/WorkerIdDefine.java new file mode 100644 index 000000000..1606225cb --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/graph/WorkerIdDefine.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.analysis.jvm.define.graph; + +/** + * @author peng-yongsheng + */ +public class WorkerIdDefine { + public static final int CPU_METRIC_PERSISTENCE_WORKER_ID = 300; + public static final int GC_METRIC_PERSISTENCE_WORKER_ID = 301; + public static final int INST_HEART_BEAT_PERSISTENCE_WORKER_ID = 302; + public static final int MEMORY_METRIC_PERSISTENCE_WORKER_ID = 303; + public static final int MEMORY_POOL_METRIC_PERSISTENCE_WORKER_ID = 303; +} diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/ICpuMetricService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/ICpuMetricService.java similarity index 93% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/ICpuMetricService.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/ICpuMetricService.java index 5e18519a5..45fc3885f 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/ICpuMetricService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/ICpuMetricService.java @@ -16,8 +16,7 @@ * */ - -package org.apache.skywalking.apm.collector.agent.stream.service.jvm; +package org.apache.skywalking.apm.collector.analysis.jvm.define.service; import org.apache.skywalking.apm.collector.core.module.Service; diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/IGCMetricService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/IGCMetricService.java similarity index 93% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/IGCMetricService.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/IGCMetricService.java index 57f15e2b1..2a3937af4 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/IGCMetricService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/IGCMetricService.java @@ -16,8 +16,7 @@ * */ - -package org.apache.skywalking.apm.collector.agent.stream.service.jvm; +package org.apache.skywalking.apm.collector.analysis.jvm.define.service; import org.apache.skywalking.apm.collector.core.module.Service; diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/IInstanceHeartBeatService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/IInstanceHeartBeatService.java similarity index 93% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/IInstanceHeartBeatService.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/IInstanceHeartBeatService.java index 9620a326e..17abda2a0 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/IInstanceHeartBeatService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/IInstanceHeartBeatService.java @@ -16,8 +16,7 @@ * */ - -package org.apache.skywalking.apm.collector.agent.stream.service.jvm; +package org.apache.skywalking.apm.collector.analysis.jvm.define.service; import org.apache.skywalking.apm.collector.core.module.Service; diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/IMemoryMetricService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/IMemoryMetricService.java similarity index 93% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/IMemoryMetricService.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/IMemoryMetricService.java index 54d62247c..e793ecc04 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/IMemoryMetricService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/IMemoryMetricService.java @@ -16,8 +16,7 @@ * */ - -package org.apache.skywalking.apm.collector.agent.stream.service.jvm; +package org.apache.skywalking.apm.collector.analysis.jvm.define.service; import org.apache.skywalking.apm.collector.core.module.Service; diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/IMemoryPoolMetricService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/IMemoryPoolMetricService.java similarity index 93% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/IMemoryPoolMetricService.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/IMemoryPoolMetricService.java index ab483eabc..10be43820 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/apache/skywalking/apm/collector/agent/stream/service/jvm/IMemoryPoolMetricService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/define/service/IMemoryPoolMetricService.java @@ -16,8 +16,7 @@ * */ - -package org.apache.skywalking.apm.collector.agent.stream.service.jvm; +package org.apache.skywalking.apm.collector.analysis.jvm.define.service; import org.apache.skywalking.apm.collector.core.module.Service; diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/resources/META-INF/services/org.apache.skywalking.apm.collector.core.module.Module b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/resources/META-INF/services/org.apache.skywalking.apm.collector.core.module.Module new file mode 100644 index 000000000..dc562cb08 --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-define/src/main/resources/META-INF/services/org.apache.skywalking.apm.collector.core.module.Module @@ -0,0 +1,19 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# + +org.apache.skywalking.apm.collector.analysis.jvm.define.AnalysisJVMModule \ No newline at end of file diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/pom.xml b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/pom.xml new file mode 100644 index 000000000..466dbba61 --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/pom.xml @@ -0,0 +1,50 @@ + + + + + + analysis-jvm + org.apache.skywalking + 5.0.0-alpha + + 4.0.0 + + jvm-provider + jar + + + + org.apache.skywalking + jvm-define + ${project.version} + + + org.apache.skywalking + collector-storage-define + ${project.version} + + + org.apache.skywalking + analysis-worker-model + ${project.version} + + + \ No newline at end of file diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/AnalysisJVMModuleProvider.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/AnalysisJVMModuleProvider.java new file mode 100644 index 000000000..e932e8074 --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/AnalysisJVMModuleProvider.java @@ -0,0 +1,89 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.analysis.jvm.provider; + +import java.util.Properties; +import org.apache.skywalking.apm.collector.analysis.jvm.define.AnalysisJVMModule; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.ICpuMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IGCMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IInstanceHeartBeatService; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IMemoryMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IMemoryPoolMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.provider.service.CpuMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.provider.service.GCMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.provider.service.InstanceHeartBeatService; +import org.apache.skywalking.apm.collector.analysis.jvm.provider.service.MemoryMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.provider.service.MemoryPoolMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.provider.worker.CpuMetricPersistenceGraph; +import org.apache.skywalking.apm.collector.analysis.jvm.provider.worker.GCMetricPersistenceGraph; +import org.apache.skywalking.apm.collector.analysis.jvm.provider.worker.InstanceHeartBeatPersistenceGraph; +import org.apache.skywalking.apm.collector.analysis.jvm.provider.worker.MemoryMetricPersistenceGraph; +import org.apache.skywalking.apm.collector.analysis.jvm.provider.worker.MemoryPoolMetricPersistenceGraph; +import org.apache.skywalking.apm.collector.core.module.Module; +import org.apache.skywalking.apm.collector.core.module.ModuleProvider; +import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedException; + +/** + * @author peng-yongsheng + */ +public class AnalysisJVMModuleProvider extends ModuleProvider { + + public static final String NAME = "default"; + + @Override public String name() { + return NAME; + } + + @Override public Class module() { + return AnalysisJVMModule.class; + } + + @Override public void prepare(Properties config) throws ServiceNotProvidedException { + this.registerServiceImplementation(ICpuMetricService.class, new CpuMetricService()); + this.registerServiceImplementation(IGCMetricService.class, new GCMetricService()); + this.registerServiceImplementation(IInstanceHeartBeatService.class, new InstanceHeartBeatService()); + this.registerServiceImplementation(IMemoryMetricService.class, new MemoryMetricService()); + this.registerServiceImplementation(IMemoryPoolMetricService.class, new MemoryPoolMetricService()); + } + + @Override public void start(Properties config) throws ServiceNotProvidedException { + CpuMetricPersistenceGraph cpuMetricPersistenceGraph = new CpuMetricPersistenceGraph(getManager()); + cpuMetricPersistenceGraph.create(); + + GCMetricPersistenceGraph gcMetricPersistenceGraph = new GCMetricPersistenceGraph(getManager()); + gcMetricPersistenceGraph.create(); + + InstanceHeartBeatPersistenceGraph instanceHeartBeatPersistenceGraph = new InstanceHeartBeatPersistenceGraph(getManager()); + instanceHeartBeatPersistenceGraph.create(); + + MemoryMetricPersistenceGraph memoryMetricPersistenceGraph = new MemoryMetricPersistenceGraph(getManager()); + memoryMetricPersistenceGraph.create(); + + MemoryPoolMetricPersistenceGraph memoryPoolMetricPersistenceGraph = new MemoryPoolMetricPersistenceGraph(getManager()); + memoryPoolMetricPersistenceGraph.create(); + } + + @Override public void notifyAfterCompleted() throws ServiceNotProvidedException { + + } + + @Override public String[] requiredModules() { + return new String[0]; + } +} diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/CpuMetricService.java similarity index 83% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricService.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/CpuMetricService.java index 22418f62e..1d93d1415 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/CpuMetricService.java @@ -16,15 +16,14 @@ * */ +package org.apache.skywalking.apm.collector.analysis.jvm.provider.service; -package org.apache.skywalking.apm.collector.agent.stream.worker.jvm; - -import org.apache.skywalking.apm.collector.agent.stream.service.graph.JvmMetricStreamGraphDefine; +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.GraphIdDefine; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.ICpuMetricService; import org.apache.skywalking.apm.collector.core.graph.Graph; import org.apache.skywalking.apm.collector.core.graph.GraphManager; import org.apache.skywalking.apm.collector.core.util.Const; import org.apache.skywalking.apm.collector.core.util.ObjectUtils; -import org.apache.skywalking.apm.collector.agent.stream.service.jvm.ICpuMetricService; import org.apache.skywalking.apm.collector.storage.table.jvm.CpuMetric; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,7 +39,7 @@ public class CpuMetricService implements ICpuMetricService { private Graph getCpuMetricGraph() { if (ObjectUtils.isEmpty(cpuMetricGraph)) { - cpuMetricGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraphDefine.CPU_METRIC_GRAPH_ID, CpuMetric.class); + cpuMetricGraph = GraphManager.INSTANCE.findGraph(GraphIdDefine.CPU_METRIC_PERSISTENCE_GRAPH_ID, CpuMetric.class); } return cpuMetricGraph; } diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/GCMetricService.java similarity index 84% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricService.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/GCMetricService.java index 8fd99b52b..325300804 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/GCMetricService.java @@ -16,11 +16,10 @@ * */ +package org.apache.skywalking.apm.collector.analysis.jvm.provider.service; -package org.apache.skywalking.apm.collector.agent.stream.worker.jvm; - -import org.apache.skywalking.apm.collector.agent.stream.service.graph.JvmMetricStreamGraphDefine; -import org.apache.skywalking.apm.collector.agent.stream.service.jvm.IGCMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.GraphIdDefine; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IGCMetricService; import org.apache.skywalking.apm.collector.core.graph.Graph; import org.apache.skywalking.apm.collector.core.graph.GraphManager; import org.apache.skywalking.apm.collector.core.util.Const; @@ -40,7 +39,7 @@ public class GCMetricService implements IGCMetricService { private Graph getGcMetricGraph() { if (ObjectUtils.isEmpty(gcMetricGraph)) { - gcMetricGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraphDefine.GC_METRIC_GRAPH_ID, GCMetric.class); + gcMetricGraph = GraphManager.INSTANCE.findGraph(GraphIdDefine.GC_METRIC_PERSISTENCE_GRAPH_ID, GCMetric.class); } return gcMetricGraph; } diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/InstanceHeartBeatService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/InstanceHeartBeatService.java similarity index 83% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/InstanceHeartBeatService.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/InstanceHeartBeatService.java index 249d5eae4..8d95234b1 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/InstanceHeartBeatService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/InstanceHeartBeatService.java @@ -16,16 +16,15 @@ * */ +package org.apache.skywalking.apm.collector.analysis.jvm.provider.service; -package org.apache.skywalking.apm.collector.agent.stream.worker.jvm; - -import org.apache.skywalking.apm.collector.agent.stream.service.graph.JvmMetricStreamGraphDefine; -import org.apache.skywalking.apm.collector.agent.stream.service.jvm.IInstanceHeartBeatService; +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.GraphIdDefine; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IInstanceHeartBeatService; import org.apache.skywalking.apm.collector.core.graph.Graph; import org.apache.skywalking.apm.collector.core.graph.GraphManager; import org.apache.skywalking.apm.collector.core.util.ObjectUtils; -import org.apache.skywalking.apm.collector.storage.table.register.Instance; import org.apache.skywalking.apm.collector.core.util.TimeBucketUtils; +import org.apache.skywalking.apm.collector.storage.table.register.Instance; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,7 +39,7 @@ public class InstanceHeartBeatService implements IInstanceHeartBeatService { private Graph getHeartBeatGraph() { if (ObjectUtils.isEmpty(heartBeatGraph)) { - this.heartBeatGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraphDefine.INST_HEART_BEAT_GRAPH_ID, Instance.class); + this.heartBeatGraph = GraphManager.INSTANCE.findGraph(GraphIdDefine.INSTANCE_HEART_BEAT_PERSISTENCE_GRAPH_ID, Instance.class); } return heartBeatGraph; } diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryMetricService.java similarity index 85% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricService.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryMetricService.java index bcc281d53..4195db4a0 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryMetricService.java @@ -16,15 +16,14 @@ * */ +package org.apache.skywalking.apm.collector.analysis.jvm.provider.service; -package org.apache.skywalking.apm.collector.agent.stream.worker.jvm; - +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.GraphIdDefine; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IMemoryMetricService; +import org.apache.skywalking.apm.collector.core.graph.Graph; import org.apache.skywalking.apm.collector.core.graph.GraphManager; import org.apache.skywalking.apm.collector.core.util.Const; import org.apache.skywalking.apm.collector.core.util.ObjectUtils; -import org.apache.skywalking.apm.collector.agent.stream.service.graph.JvmMetricStreamGraphDefine; -import org.apache.skywalking.apm.collector.agent.stream.service.jvm.IMemoryMetricService; -import org.apache.skywalking.apm.collector.core.graph.Graph; import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryMetric; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,7 +39,7 @@ public class MemoryMetricService implements IMemoryMetricService { private Graph getMemoryMetricGraph() { if (ObjectUtils.isEmpty(memoryMetricGraph)) { - this.memoryMetricGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraphDefine.MEMORY_METRIC_GRAPH_ID, MemoryMetric.class); + this.memoryMetricGraph = GraphManager.INSTANCE.findGraph(GraphIdDefine.MEMORY_METRIC_PERSISTENCE_GRAPH_ID, MemoryMetric.class); } return memoryMetricGraph; } diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryPoolMetricService.java similarity index 85% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricService.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryPoolMetricService.java index e91de6504..bec38080b 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryPoolMetricService.java @@ -16,11 +16,10 @@ * */ +package org.apache.skywalking.apm.collector.analysis.jvm.provider.service; -package org.apache.skywalking.apm.collector.agent.stream.worker.jvm; - -import org.apache.skywalking.apm.collector.agent.stream.service.graph.JvmMetricStreamGraphDefine; -import org.apache.skywalking.apm.collector.agent.stream.service.jvm.IMemoryPoolMetricService; +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.GraphIdDefine; +import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IMemoryPoolMetricService; import org.apache.skywalking.apm.collector.core.graph.Graph; import org.apache.skywalking.apm.collector.core.graph.GraphManager; import org.apache.skywalking.apm.collector.core.util.Const; @@ -40,7 +39,7 @@ public class MemoryPoolMetricService implements IMemoryPoolMetricService { private Graph getMemoryPoolMetricGraph() { if (ObjectUtils.isEmpty(memoryPoolMetricGraph)) { - this.memoryPoolMetricGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraphDefine.MEMORY_POOL_METRIC_GRAPH_ID, MemoryPoolMetric.class); + this.memoryPoolMetricGraph = GraphManager.INSTANCE.findGraph(GraphIdDefine.MEMORY_POOL_METRIC_PERSISTENCE_GRAPH_ID, MemoryPoolMetric.class); } return memoryPoolMetricGraph; } diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/CpuMetricPersistenceGraph.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/CpuMetricPersistenceGraph.java new file mode 100644 index 000000000..2b4e38a28 --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/CpuMetricPersistenceGraph.java @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker; + +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.GraphIdDefine; +import org.apache.skywalking.apm.collector.core.graph.GraphManager; +import org.apache.skywalking.apm.collector.core.module.ModuleManager; +import org.apache.skywalking.apm.collector.storage.table.jvm.CpuMetric; + +/** + * @author peng-yongsheng + */ +public class CpuMetricPersistenceGraph { + + private final ModuleManager moduleManager; + + public CpuMetricPersistenceGraph(ModuleManager moduleManager) { + this.moduleManager = moduleManager; + } + + public void create() { + GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.CPU_METRIC_PERSISTENCE_GRAPH_ID, CpuMetric.class) + .addNode(new CpuMetricPersistenceWorker.Factory(moduleManager).create(null)); + } +} diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/CpuMetricPersistenceWorker.java similarity index 87% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricPersistenceWorker.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/CpuMetricPersistenceWorker.java index e2fae9c0f..1ec5ae9f8 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/CpuMetricPersistenceWorker.java @@ -16,17 +16,16 @@ * */ +package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker; -package org.apache.skywalking.apm.collector.agent.stream.worker.jvm; - +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.WorkerIdDefine; +import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; +import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.queue.service.QueueCreatorService; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.ICpuMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.jvm.CpuMetric; -import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; -import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; /** * @author peng-yongsheng @@ -38,7 +37,7 @@ public class CpuMetricPersistenceWorker extends PersistenceWorker { - public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { - super(moduleManager, queueCreatorService); + public Factory(ModuleManager moduleManager) { + super(moduleManager); } @Override public CpuMetricPersistenceWorker workerInstance(ModuleManager moduleManager) { diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/GCMetricPersistenceGraph.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/GCMetricPersistenceGraph.java new file mode 100644 index 000000000..3550bccc5 --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/GCMetricPersistenceGraph.java @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker; + +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.GraphIdDefine; +import org.apache.skywalking.apm.collector.core.graph.GraphManager; +import org.apache.skywalking.apm.collector.core.module.ModuleManager; +import org.apache.skywalking.apm.collector.storage.table.jvm.GCMetric; + +/** + * @author peng-yongsheng + */ +public class GCMetricPersistenceGraph { + + private final ModuleManager moduleManager; + + public GCMetricPersistenceGraph(ModuleManager moduleManager) { + this.moduleManager = moduleManager; + } + + public void create() { + GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.GC_METRIC_PERSISTENCE_GRAPH_ID, GCMetric.class) + .addNode(new GCMetricPersistenceWorker.Factory(moduleManager).create(null)); + } +} diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/GCMetricPersistenceWorker.java similarity index 87% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricPersistenceWorker.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/GCMetricPersistenceWorker.java index ca2c82e57..2e08e6677 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/GCMetricPersistenceWorker.java @@ -16,17 +16,16 @@ * */ +package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker; -package org.apache.skywalking.apm.collector.agent.stream.worker.jvm; - +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.WorkerIdDefine; +import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; +import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.core.module.ModuleManager; +import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.IGCMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.jvm.GCMetric; -import org.apache.skywalking.apm.collector.queue.service.QueueCreatorService; -import org.apache.skywalking.apm.collector.storage.StorageModule; -import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; -import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; /** * @author peng-yongsheng @@ -38,7 +37,7 @@ public class GCMetricPersistenceWorker extends PersistenceWorker { - public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { - super(moduleManager, queueCreatorService); + public Factory(ModuleManager moduleManager) { + super(moduleManager); } @Override public GCMetricPersistenceWorker workerInstance(ModuleManager moduleManager) { diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/InstHeartBeatPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/InstHeartBeatPersistenceWorker.java similarity index 87% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/InstHeartBeatPersistenceWorker.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/InstHeartBeatPersistenceWorker.java index ac7c20a79..28491e81f 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/InstHeartBeatPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/InstHeartBeatPersistenceWorker.java @@ -16,17 +16,16 @@ * */ +package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker; -package org.apache.skywalking.apm.collector.agent.stream.worker.jvm; - +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.WorkerIdDefine; +import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; +import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.core.module.ModuleManager; +import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.IInstanceHeartBeatPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.register.Instance; -import org.apache.skywalking.apm.collector.queue.service.QueueCreatorService; -import org.apache.skywalking.apm.collector.storage.StorageModule; -import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; -import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; /** * @author peng-yongsheng @@ -38,7 +37,7 @@ public class InstHeartBeatPersistenceWorker extends PersistenceWorker { - public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { - super(moduleManager, queueCreatorService); + public Factory(ModuleManager moduleManager) { + super(moduleManager); } @Override public InstHeartBeatPersistenceWorker workerInstance(ModuleManager moduleManager) { diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/InstanceHeartBeatPersistenceGraph.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/InstanceHeartBeatPersistenceGraph.java new file mode 100644 index 000000000..4fdca22d5 --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/InstanceHeartBeatPersistenceGraph.java @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker; + +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.GraphIdDefine; +import org.apache.skywalking.apm.collector.core.graph.GraphManager; +import org.apache.skywalking.apm.collector.core.module.ModuleManager; +import org.apache.skywalking.apm.collector.storage.table.register.Instance; + +/** + * @author peng-yongsheng + */ +public class InstanceHeartBeatPersistenceGraph { + + private final ModuleManager moduleManager; + + public InstanceHeartBeatPersistenceGraph(ModuleManager moduleManager) { + this.moduleManager = moduleManager; + } + + public void create() { + GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.INSTANCE_HEART_BEAT_PERSISTENCE_GRAPH_ID, Instance.class) + .addNode(new InstHeartBeatPersistenceWorker.Factory(moduleManager).create(null)); + } +} diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryMetricPersistenceGraph.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryMetricPersistenceGraph.java new file mode 100644 index 000000000..059a6e09a --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryMetricPersistenceGraph.java @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker; + +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.GraphIdDefine; +import org.apache.skywalking.apm.collector.core.graph.GraphManager; +import org.apache.skywalking.apm.collector.core.module.ModuleManager; +import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryMetric; + +/** + * @author peng-yongsheng + */ +public class MemoryMetricPersistenceGraph { + + private final ModuleManager moduleManager; + + public MemoryMetricPersistenceGraph(ModuleManager moduleManager) { + this.moduleManager = moduleManager; + } + + public void create() { + GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.MEMORY_METRIC_PERSISTENCE_GRAPH_ID, MemoryMetric.class) + .addNode(new MemoryMetricPersistenceWorker.Factory(moduleManager).create(null)); + } +} diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryMetricPersistenceWorker.java similarity index 87% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricPersistenceWorker.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryMetricPersistenceWorker.java index 8204765bb..3f2cac647 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryMetricPersistenceWorker.java @@ -16,17 +16,16 @@ * */ +package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker; -package org.apache.skywalking.apm.collector.agent.stream.worker.jvm; - +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.WorkerIdDefine; +import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; +import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.IMemoryMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryMetric; -import org.apache.skywalking.apm.collector.storage.StorageModule; -import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; -import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; /** * @author peng-yongsheng @@ -38,7 +37,7 @@ public class MemoryMetricPersistenceWorker extends PersistenceWorker { - public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { - super(moduleManager, queueCreatorService); + public Factory(ModuleManager moduleManager) { + super(moduleManager); } @Override public MemoryMetricPersistenceWorker workerInstance(ModuleManager moduleManager) { diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryPoolMetricPersistenceGraph.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryPoolMetricPersistenceGraph.java new file mode 100644 index 000000000..e040a7598 --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryPoolMetricPersistenceGraph.java @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker; + +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.GraphIdDefine; +import org.apache.skywalking.apm.collector.core.graph.GraphManager; +import org.apache.skywalking.apm.collector.core.module.ModuleManager; +import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryPoolMetric; + +/** + * @author peng-yongsheng + */ +public class MemoryPoolMetricPersistenceGraph { + + private final ModuleManager moduleManager; + + public MemoryPoolMetricPersistenceGraph(ModuleManager moduleManager) { + this.moduleManager = moduleManager; + } + + public void create() { + GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.MEMORY_POOL_METRIC_PERSISTENCE_GRAPH_ID, MemoryPoolMetric.class) + .addNode(new MemoryPoolMetricPersistenceWorker.Factory(moduleManager).create(null)); + } +} diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryPoolMetricPersistenceWorker.java similarity index 87% rename from apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricPersistenceWorker.java rename to apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryPoolMetricPersistenceWorker.java index dd190ceff..83e5766c5 100644 --- a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/apache/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryPoolMetricPersistenceWorker.java @@ -16,17 +16,16 @@ * */ +package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker; -package org.apache.skywalking.apm.collector.agent.stream.worker.jvm; - +import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.WorkerIdDefine; +import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; +import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.core.module.ModuleManager; +import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.IMemoryPoolMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryPoolMetric; -import org.apache.skywalking.apm.collector.queue.service.QueueCreatorService; -import org.apache.skywalking.apm.collector.storage.StorageModule; -import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; -import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; /** * @author peng-yongsheng @@ -34,7 +33,7 @@ import org.apache.skywalking.apm.collector.analysis.worker.model.impl.Persistenc public class MemoryPoolMetricPersistenceWorker extends PersistenceWorker { @Override public int id() { - return 122; + return WorkerIdDefine.MEMORY_POOL_METRIC_PERSISTENCE_WORKER_ID; } public MemoryPoolMetricPersistenceWorker(ModuleManager moduleManager) { @@ -51,8 +50,8 @@ public class MemoryPoolMetricPersistenceWorker extends PersistenceWorker { - public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { - super(moduleManager, queueCreatorService); + public Factory(ModuleManager moduleManager) { + super(moduleManager); } @Override public MemoryPoolMetricPersistenceWorker workerInstance(ModuleManager moduleManager) { diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/resources/META-INF/services/org.apache.skywalking.apm.collector.core.module.ModuleProvider b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/resources/META-INF/services/org.apache.skywalking.apm.collector.core.module.ModuleProvider new file mode 100644 index 000000000..3f6d9af35 --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/resources/META-INF/services/org.apache.skywalking.apm.collector.core.module.ModuleProvider @@ -0,0 +1,19 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# + +org.apache.skywalking.apm.collector.analysis.jvm.provider.AnalysisJVMModuleProvider \ No newline at end of file diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/pom.xml b/apm-collector/apm-collector-analysis/analysis-jvm/pom.xml new file mode 100644 index 000000000..e2241daad --- /dev/null +++ b/apm-collector/apm-collector-analysis/analysis-jvm/pom.xml @@ -0,0 +1,38 @@ + + + + + + apm-collector-analysis + org.apache.skywalking + 5.0.0-alpha + + 4.0.0 + + analysis-jvm + pom + + jvm-define + jvm-provider + + + + \ No newline at end of file diff --git a/apm-collector/apm-collector-analysis/pom.xml b/apm-collector/apm-collector-analysis/pom.xml index 9488ad270..a5a08c31c 100644 --- a/apm-collector/apm-collector-analysis/pom.xml +++ b/apm-collector/apm-collector-analysis/pom.xml @@ -36,6 +36,7 @@ analysis-worker-model analysis-metric analysis-register + analysis-jvm