Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
SkyWalking
提交
beda5261
S
SkyWalking
项目概览
apache
/
SkyWalking
上一次同步 大约 1 年
通知
302
Star
21345
Fork
6091
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SkyWalking
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
beda5261
编写于
3月 05, 2018
作者:
wu-sheng
提交者:
GitHub
3月 05, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #884 from peng-yongsheng/feature/http_json
The instance heart beat implementation of http JSON protocol.
上级
c9bb3411
845f553c
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
82 addition
and
27 deletion
+82
-27
apm-collector/apm-collector-agent/agent-jetty/agent-jetty-provider/pom.xml
...-collector-agent/agent-jetty/agent-jetty-provider/pom.xml
+10
-0
apm-collector/apm-collector-agent/agent-jetty/agent-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/agent/jetty/provider/handler/InstanceHeartBeatServletHandler.java
...tty/provider/handler/InstanceHeartBeatServletHandler.java
+72
-0
apm-collector/apm-collector-analysis/analysis-register/register-define/src/main/java/org/apache/skywalking/apm/collector/analysis/register/define/service/IInstanceIDService.java
.../analysis/register/define/service/IInstanceIDService.java
+0
-2
apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/InstanceIDService.java
...analysis/register/provider/service/InstanceIDService.java
+0
-25
未找到文件。
apm-collector/apm-collector-agent/agent-jetty/agent-jetty-provider/pom.xml
浏览文件 @
beda5261
...
...
@@ -61,5 +61,15 @@
<artifactId>
segment-parser-define
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
org.apache.skywalking
</groupId>
<artifactId>
jvm-define
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
org.apache.skywalking
</groupId>
<artifactId>
metric-define
</artifactId>
<version>
${project.version}
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
apm-collector/apm-collector-agent/agent-jetty/agent-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/agent/jetty/provider/handler/InstanceHeartBeatServletHandler.java
0 → 100644
浏览文件 @
beda5261
/*
* 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.agent.jetty.provider.handler
;
import
com.google.gson.Gson
;
import
com.google.gson.JsonElement
;
import
com.google.gson.JsonObject
;
import
java.io.IOException
;
import
javax.servlet.http.HttpServletRequest
;
import
org.apache.skywalking.apm.collector.analysis.metric.define.AnalysisMetricModule
;
import
org.apache.skywalking.apm.collector.analysis.metric.define.service.IInstanceHeartBeatService
;
import
org.apache.skywalking.apm.collector.core.module.ModuleManager
;
import
org.apache.skywalking.apm.collector.server.jetty.ArgumentsParseException
;
import
org.apache.skywalking.apm.collector.server.jetty.JettyHandler
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* @author peng-yongsheng
*/
public
class
InstanceHeartBeatServletHandler
extends
JettyHandler
{
private
final
Logger
logger
=
LoggerFactory
.
getLogger
(
InstanceHeartBeatServletHandler
.
class
);
private
final
IInstanceHeartBeatService
instanceHeartBeatService
;
private
final
Gson
gson
=
new
Gson
();
private
static
final
String
INSTANCE_ID
=
"ii"
;
private
static
final
String
HEARTBEAT_TIME
=
"ht"
;
public
InstanceHeartBeatServletHandler
(
ModuleManager
moduleManager
)
{
this
.
instanceHeartBeatService
=
moduleManager
.
find
(
AnalysisMetricModule
.
NAME
).
getService
(
IInstanceHeartBeatService
.
class
);
}
@Override
public
String
pathSpec
()
{
return
"/instance/heartbeat"
;
}
@Override
protected
JsonElement
doGet
(
HttpServletRequest
req
)
throws
ArgumentsParseException
{
throw
new
UnsupportedOperationException
();
}
@Override
protected
JsonElement
doPost
(
HttpServletRequest
req
)
throws
ArgumentsParseException
,
IOException
{
JsonObject
responseJson
=
new
JsonObject
();
try
{
JsonObject
heartBeat
=
gson
.
fromJson
(
req
.
getReader
(),
JsonObject
.
class
);
int
instanceId
=
heartBeat
.
get
(
INSTANCE_ID
).
getAsInt
();
long
heartBeatTime
=
heartBeat
.
get
(
HEARTBEAT_TIME
).
getAsLong
();
instanceHeartBeatService
.
heartBeat
(
instanceId
,
heartBeatTime
);
}
catch
(
IOException
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
return
responseJson
;
}
}
apm-collector/apm-collector-analysis/analysis-register/register-define/src/main/java/org/apache/skywalking/apm/collector/analysis/register/define/service/IInstanceIDService.java
浏览文件 @
beda5261
...
...
@@ -26,7 +26,5 @@ import org.apache.skywalking.apm.collector.core.module.Service;
public
interface
IInstanceIDService
extends
Service
{
int
getOrCreateByAgentUUID
(
int
applicationId
,
String
agentUUID
,
long
registerTime
,
String
osInfo
);
void
recover
(
int
instanceId
,
int
applicationId
,
long
registerTime
,
String
osInfo
);
int
getOrCreateByAddressId
(
int
applicationId
,
int
addressId
,
long
registerTime
);
}
apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/InstanceIDService.java
浏览文件 @
beda5261
...
...
@@ -29,8 +29,6 @@ import org.apache.skywalking.apm.collector.core.module.ModuleManager;
import
org.apache.skywalking.apm.collector.core.util.BooleanUtils
;
import
org.apache.skywalking.apm.collector.core.util.Const
;
import
org.apache.skywalking.apm.collector.core.util.ObjectUtils
;
import
org.apache.skywalking.apm.collector.storage.StorageModule
;
import
org.apache.skywalking.apm.collector.storage.dao.register.IInstanceRegisterDAO
;
import
org.apache.skywalking.apm.collector.storage.table.register.Instance
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -45,7 +43,6 @@ public class InstanceIDService implements IInstanceIDService {
private
final
ModuleManager
moduleManager
;
private
InstanceCacheService
instanceCacheService
;
private
Graph
<
Instance
>
instanceRegisterGraph
;
private
IInstanceRegisterDAO
instanceRegisterDAO
;
private
ApplicationCacheService
applicationCacheService
;
public
InstanceIDService
(
ModuleManager
moduleManager
)
{
...
...
@@ -66,13 +63,6 @@ public class InstanceIDService implements IInstanceIDService {
return
instanceRegisterGraph
;
}
private
IInstanceRegisterDAO
getInstanceRegisterDAO
()
{
if
(
ObjectUtils
.
isEmpty
(
instanceRegisterDAO
))
{
instanceRegisterDAO
=
moduleManager
.
find
(
StorageModule
.
NAME
).
getService
(
IInstanceRegisterDAO
.
class
);
}
return
instanceRegisterDAO
;
}
private
ApplicationCacheService
getApplicationCacheService
()
{
if
(
ObjectUtils
.
isEmpty
(
applicationCacheService
))
{
this
.
applicationCacheService
=
moduleManager
.
find
(
CacheModule
.
NAME
).
getService
(
ApplicationCacheService
.
class
);
...
...
@@ -123,19 +113,4 @@ public class InstanceIDService implements IInstanceIDService {
}
return
instanceId
;
}
@Override
public
void
recover
(
int
instanceId
,
int
applicationId
,
long
registerTime
,
String
osInfo
)
{
logger
.
debug
(
"instance recover, instance id: {}, application id: {}, register time: {}"
,
instanceId
,
applicationId
,
registerTime
);
Instance
instance
=
new
Instance
();
instance
.
setId
(
String
.
valueOf
(
instanceId
));
instance
.
setApplicationId
(
applicationId
);
instance
.
setApplicationCode
(
getApplicationCacheService
().
getApplicationById
(
applicationId
).
getApplicationCode
());
instance
.
setAgentUUID
(
""
);
instance
.
setRegisterTime
(
registerTime
);
instance
.
setHeartBeatTime
(
registerTime
);
instance
.
setInstanceId
(
instanceId
);
instance
.
setOsInfo
(
osInfo
);
getInstanceRegisterDAO
().
save
(
instance
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录