Loading apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java +2 −13 Original line number Diff line number Diff line Loading @@ -23,8 +23,6 @@ import com.google.gson.JsonObject; import io.grpc.stub.StreamObserver; import org.skywalking.apm.collector.agent.stream.worker.register.InstanceIDService; import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.module.ModuleNotFoundException; import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.core.util.TimeBucketUtils; import org.skywalking.apm.collector.server.grpc.GRPCHandler; import org.skywalking.apm.network.proto.ApplicationInstance; Loading Loading @@ -52,12 +50,7 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp @Override public void register(ApplicationInstance request, StreamObserver<ApplicationInstanceMapping> responseObserver) { long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(request.getRegisterTime()); int instanceId = 0; try { instanceId = instanceIDService.getOrCreate(request.getApplicationId(), request.getAgentUUID(), timeBucket, buildOsInfo(request.getOsinfo())); } catch (ModuleNotFoundException | ServiceNotProvidedException e) { logger.error(e.getMessage(), e); } int instanceId = instanceIDService.getOrCreate(request.getApplicationId(), request.getAgentUUID(), timeBucket, buildOsInfo(request.getOsinfo())); ApplicationInstanceMapping.Builder builder = ApplicationInstanceMapping.newBuilder(); builder.setApplicationId(request.getApplicationId()); builder.setApplicationInstanceId(instanceId); Loading @@ -68,11 +61,7 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp @Override public void registerRecover(ApplicationInstanceRecover request, StreamObserver<Downstream> responseObserver) { long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(request.getRegisterTime()); try { instanceIDService.recover(request.getApplicationInstanceId(), request.getApplicationId(), timeBucket, buildOsInfo(request.getOsinfo())); } catch (ModuleNotFoundException | ServiceNotProvidedException e) { logger.error(e.getMessage(), e); } responseObserver.onNext(Downstream.newBuilder().build()); responseObserver.onCompleted(); } Loading apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterPost.java 0 → 100644 +33 −0 Original line number Diff line number Diff line /* * Copyright 2017, OpenSkywalking Organization All rights reserved. * * Licensed 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. * * Project repository: https://github.com/OpenSkywalking/skywalking */ package org.skywalking.apm.collector.agent.jetty.handler; import com.google.gson.JsonElement; import java.io.IOException; /** * @author peng-yongsheng */ public class ApplicationRegisterPost { public void send(String jsonFile) throws IOException { JsonElement application = JsonFileReader.INSTANCE.read(jsonFile); HttpClientTools.INSTANCE.post("http://localhost:12800/application/register", application.toString()); } } apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/HttpClientTools.java 0 → 100644 +95 −0 Original line number Diff line number Diff line /* * Copyright 2017, OpenSkywalking Organization All rights reserved. * * Licensed 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. * * Project repository: https://github.com/OpenSkywalking/skywalking */ package org.skywalking.apm.collector.agent.jetty.handler; import java.io.IOException; import java.net.URI; import java.util.List; import org.apache.http.Consts; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author peng-yongsheng */ public enum HttpClientTools { INSTANCE; private final Logger logger = LoggerFactory.getLogger(HttpClientTools.class); public String get(String url, List<NameValuePair> params) throws IOException { CloseableHttpClient httpClient = HttpClients.createDefault(); try { HttpGet httpget = new HttpGet(url); String paramStr = EntityUtils.toString(new UrlEncodedFormEntity(params)); httpget.setURI(new URI(httpget.getURI().toString() + "?" + paramStr)); logger.debug("executing get request {}", httpget.getURI()); try (CloseableHttpResponse response = httpClient.execute(httpget)) { HttpEntity entity = response.getEntity(); if (entity != null) { return EntityUtils.toString(entity); } } } catch (Exception e) { logger.error(e.getMessage(), e); } finally { try { httpClient.close(); } catch (IOException e) { logger.error(e.getMessage(), e); } } return null; } public String post(String url, String data) throws IOException { CloseableHttpClient httpClient = HttpClients.createDefault(); try { HttpPost httppost = new HttpPost(url); httppost.setEntity(new StringEntity(data, Consts.UTF_8)); logger.debug("executing post request {}", httppost.getURI()); try (CloseableHttpResponse response = httpClient.execute(httppost)) { HttpEntity entity = response.getEntity(); if (entity != null) { return EntityUtils.toString(entity); } } } catch (Exception e) { logger.error(e.getMessage(), e); } finally { try { httpClient.close(); } catch (Exception e) { logger.error(e.getMessage(), e); } } return null; } } apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceRegisterPost.java 0 → 100644 +33 −0 Original line number Diff line number Diff line /* * Copyright 2017, OpenSkywalking Organization All rights reserved. * * Licensed 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. * * Project repository: https://github.com/OpenSkywalking/skywalking */ package org.skywalking.apm.collector.agent.jetty.handler; import com.google.gson.JsonElement; import java.io.IOException; /** * @author peng-yongsheng */ public class InstanceRegisterPost { public void send(String jsonFile) throws IOException { JsonElement instance = JsonFileReader.INSTANCE.read(jsonFile); HttpClientTools.INSTANCE.post("http://localhost:12800/instance/register", instance.toString()); } } apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/JsonFileReader.java 0 → 100644 +42 −0 Original line number Diff line number Diff line /* * Copyright 2017, OpenSkywalking Organization All rights reserved. * * Licensed 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. * * Project repository: https://github.com/OpenSkywalking/skywalking */ package org.skywalking.apm.collector.agent.jetty.handler; import com.google.gson.JsonElement; import com.google.gson.JsonParser; import java.io.FileNotFoundException; import java.io.FileReader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author peng-yongsheng */ public enum JsonFileReader { INSTANCE; private final Logger logger = LoggerFactory.getLogger(JsonFileReader.class); public JsonElement read(String fileName) throws FileNotFoundException { String path = this.getClass().getClassLoader().getResource(fileName).getFile(); logger.debug("path: {}", path); JsonParser jsonParser = new JsonParser(); return jsonParser.parse(new FileReader(path)); } } Loading
apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java +2 −13 Original line number Diff line number Diff line Loading @@ -23,8 +23,6 @@ import com.google.gson.JsonObject; import io.grpc.stub.StreamObserver; import org.skywalking.apm.collector.agent.stream.worker.register.InstanceIDService; import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.module.ModuleNotFoundException; import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.core.util.TimeBucketUtils; import org.skywalking.apm.collector.server.grpc.GRPCHandler; import org.skywalking.apm.network.proto.ApplicationInstance; Loading Loading @@ -52,12 +50,7 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp @Override public void register(ApplicationInstance request, StreamObserver<ApplicationInstanceMapping> responseObserver) { long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(request.getRegisterTime()); int instanceId = 0; try { instanceId = instanceIDService.getOrCreate(request.getApplicationId(), request.getAgentUUID(), timeBucket, buildOsInfo(request.getOsinfo())); } catch (ModuleNotFoundException | ServiceNotProvidedException e) { logger.error(e.getMessage(), e); } int instanceId = instanceIDService.getOrCreate(request.getApplicationId(), request.getAgentUUID(), timeBucket, buildOsInfo(request.getOsinfo())); ApplicationInstanceMapping.Builder builder = ApplicationInstanceMapping.newBuilder(); builder.setApplicationId(request.getApplicationId()); builder.setApplicationInstanceId(instanceId); Loading @@ -68,11 +61,7 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp @Override public void registerRecover(ApplicationInstanceRecover request, StreamObserver<Downstream> responseObserver) { long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(request.getRegisterTime()); try { instanceIDService.recover(request.getApplicationInstanceId(), request.getApplicationId(), timeBucket, buildOsInfo(request.getOsinfo())); } catch (ModuleNotFoundException | ServiceNotProvidedException e) { logger.error(e.getMessage(), e); } responseObserver.onNext(Downstream.newBuilder().build()); responseObserver.onCompleted(); } Loading
apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterPost.java 0 → 100644 +33 −0 Original line number Diff line number Diff line /* * Copyright 2017, OpenSkywalking Organization All rights reserved. * * Licensed 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. * * Project repository: https://github.com/OpenSkywalking/skywalking */ package org.skywalking.apm.collector.agent.jetty.handler; import com.google.gson.JsonElement; import java.io.IOException; /** * @author peng-yongsheng */ public class ApplicationRegisterPost { public void send(String jsonFile) throws IOException { JsonElement application = JsonFileReader.INSTANCE.read(jsonFile); HttpClientTools.INSTANCE.post("http://localhost:12800/application/register", application.toString()); } }
apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/HttpClientTools.java 0 → 100644 +95 −0 Original line number Diff line number Diff line /* * Copyright 2017, OpenSkywalking Organization All rights reserved. * * Licensed 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. * * Project repository: https://github.com/OpenSkywalking/skywalking */ package org.skywalking.apm.collector.agent.jetty.handler; import java.io.IOException; import java.net.URI; import java.util.List; import org.apache.http.Consts; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author peng-yongsheng */ public enum HttpClientTools { INSTANCE; private final Logger logger = LoggerFactory.getLogger(HttpClientTools.class); public String get(String url, List<NameValuePair> params) throws IOException { CloseableHttpClient httpClient = HttpClients.createDefault(); try { HttpGet httpget = new HttpGet(url); String paramStr = EntityUtils.toString(new UrlEncodedFormEntity(params)); httpget.setURI(new URI(httpget.getURI().toString() + "?" + paramStr)); logger.debug("executing get request {}", httpget.getURI()); try (CloseableHttpResponse response = httpClient.execute(httpget)) { HttpEntity entity = response.getEntity(); if (entity != null) { return EntityUtils.toString(entity); } } } catch (Exception e) { logger.error(e.getMessage(), e); } finally { try { httpClient.close(); } catch (IOException e) { logger.error(e.getMessage(), e); } } return null; } public String post(String url, String data) throws IOException { CloseableHttpClient httpClient = HttpClients.createDefault(); try { HttpPost httppost = new HttpPost(url); httppost.setEntity(new StringEntity(data, Consts.UTF_8)); logger.debug("executing post request {}", httppost.getURI()); try (CloseableHttpResponse response = httpClient.execute(httppost)) { HttpEntity entity = response.getEntity(); if (entity != null) { return EntityUtils.toString(entity); } } } catch (Exception e) { logger.error(e.getMessage(), e); } finally { try { httpClient.close(); } catch (Exception e) { logger.error(e.getMessage(), e); } } return null; } }
apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceRegisterPost.java 0 → 100644 +33 −0 Original line number Diff line number Diff line /* * Copyright 2017, OpenSkywalking Organization All rights reserved. * * Licensed 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. * * Project repository: https://github.com/OpenSkywalking/skywalking */ package org.skywalking.apm.collector.agent.jetty.handler; import com.google.gson.JsonElement; import java.io.IOException; /** * @author peng-yongsheng */ public class InstanceRegisterPost { public void send(String jsonFile) throws IOException { JsonElement instance = JsonFileReader.INSTANCE.read(jsonFile); HttpClientTools.INSTANCE.post("http://localhost:12800/instance/register", instance.toString()); } }
apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/JsonFileReader.java 0 → 100644 +42 −0 Original line number Diff line number Diff line /* * Copyright 2017, OpenSkywalking Organization All rights reserved. * * Licensed 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. * * Project repository: https://github.com/OpenSkywalking/skywalking */ package org.skywalking.apm.collector.agent.jetty.handler; import com.google.gson.JsonElement; import com.google.gson.JsonParser; import java.io.FileNotFoundException; import java.io.FileReader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author peng-yongsheng */ public enum JsonFileReader { INSTANCE; private final Logger logger = LoggerFactory.getLogger(JsonFileReader.class); public JsonElement read(String fileName) throws FileNotFoundException { String path = this.getClass().getClassLoader().getResource(fileName).getFile(); logger.debug("path: {}", path); JsonParser jsonParser = new JsonParser(); return jsonParser.parse(new FileReader(path)); } }