Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mica
mica
提交
4a9d4236
mica
项目概览
mica
/
mica
通知
10
Star
2
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
mica
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4a9d4236
编写于
4月 16, 2021
作者:
如梦技术
🐛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
✨
mica-metrics 优化 UndertowMetrics
上级
7027ba65
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
39 addition
and
39 deletion
+39
-39
build.gradle
build.gradle
+1
-1
mica-metrics/src/main/java/net/dreamlu/mica/metrics/undertow/UndertowMetrics.java
...va/net/dreamlu/mica/metrics/undertow/UndertowMetrics.java
+38
-38
未找到文件。
build.gradle
浏览文件 @
4a9d4236
...
...
@@ -4,7 +4,7 @@ plugins {
ext
{
javaVersion
=
JavaVersion
.
VERSION_1_8
springBootVersion
=
"2.4.
4
"
springBootVersion
=
"2.4.
5
"
springCloudVersion
=
"2020.0.2"
micaAutoVersion
=
"2.0.4"
micaWeiXinVersion
=
"2.0.6"
...
...
mica-metrics/src/main/java/net/dreamlu/mica/metrics/undertow/UndertowMetrics.java
浏览文件 @
4a9d4236
...
...
@@ -39,48 +39,48 @@ import static io.undertow.server.handlers.MetricsHandler.MetricResult;
* @author L.cm
*/
public
class
UndertowMetrics
implements
MetricsCollector
,
ApplicationListener
<
ApplicationStartedEvent
>
{
private
final
Map
<
String
,
MetricsHandler
>
metricsHandlers
;
private
final
Map
<
String
,
MetricsHandler
>
metricsHandlers
;
public
UndertowMetrics
()
{
metricsHandlers
=
new
HashMap
<>();
}
public
UndertowMetrics
()
{
metricsHandlers
=
new
HashMap
<>();
}
@Override
public
void
registerMetric
(
String
servletName
,
MetricsHandler
handler
)
{
metricsHandlers
.
put
(
servletName
,
handler
);
}
@Override
public
void
registerMetric
(
String
servletName
,
MetricsHandler
handler
)
{
metricsHandlers
.
put
(
servletName
,
handler
);
}
private
void
bindTimer
(
MeterRegistry
registry
,
String
name
,
String
desc
,
String
servletName
,
MetricResult
metricResult
,
ToLongFunction
<
MetricResult
>
countFunc
,
ToDoubleFunction
<
MetricResult
>
consumer
)
{
FunctionTimer
.
builder
(
name
,
metricResult
,
countFunc
,
consumer
,
TimeUnit
.
MILLISECONDS
)
.
tag
(
"servlet"
,
servletName
)
.
description
(
desc
)
.
register
(
registry
);
}
private
void
bindTimer
(
MeterRegistry
registry
,
String
name
,
String
desc
,
String
servletName
,
MetricResult
metricResult
,
ToLongFunction
<
MetricResult
>
countFunc
,
ToDoubleFunction
<
MetricResult
>
consumer
)
{
FunctionTimer
.
builder
(
name
,
metricResult
,
countFunc
,
consumer
,
TimeUnit
.
MILLISECONDS
)
.
tag
(
"servlet"
,
servletName
)
.
description
(
desc
)
.
register
(
registry
);
}
private
void
bindTimeGauge
(
MeterRegistry
registry
,
String
name
,
String
desc
,
String
servletName
,
MetricResult
metricResult
,
ToDoubleFunction
<
MetricResult
>
consumer
)
{
TimeGauge
.
builder
(
name
,
metricResult
,
TimeUnit
.
MILLISECONDS
,
consumer
)
.
tag
(
"servlet"
,
servletName
)
.
description
(
desc
)
.
register
(
registry
);
}
private
void
bindTimeGauge
(
MeterRegistry
registry
,
String
name
,
String
desc
,
String
servletName
,
MetricResult
metricResult
,
ToDoubleFunction
<
MetricResult
>
consumer
)
{
TimeGauge
.
builder
(
name
,
metricResult
,
TimeUnit
.
MILLISECONDS
,
consumer
)
.
tag
(
"servlet"
,
servletName
)
.
description
(
desc
)
.
register
(
registry
);
}
private
void
bindCounter
(
MeterRegistry
registry
,
String
name
,
String
desc
,
String
servletName
,
MetricResult
metricResult
,
ToDoubleFunction
<
MetricResult
>
consumer
)
{
FunctionCounter
.
builder
(
name
,
metricResult
,
consumer
)
.
tag
(
"servlet"
,
servletName
)
.
description
(
desc
)
.
register
(
registry
);
}
private
void
bindCounter
(
MeterRegistry
registry
,
String
name
,
String
desc
,
String
servletName
,
MetricResult
metricResult
,
ToDoubleFunction
<
MetricResult
>
consumer
)
{
FunctionCounter
.
builder
(
name
,
metricResult
,
consumer
)
.
tag
(
"servlet"
,
servletName
)
.
description
(
desc
)
.
register
(
registry
);
}
@Override
public
void
onApplicationEvent
(
ApplicationStartedEvent
event
)
{
MeterRegistry
registry
=
event
.
getApplicationContext
().
getBean
(
MeterRegistry
.
class
);
for
(
Map
.
Entry
<
String
,
MetricsHandler
>
handlerEntry
:
metricsHandlers
.
entrySet
())
{
MetricResult
metricResult
=
handlerEntry
.
getValue
().
getMetrics
();
String
servletName
=
handlerEntry
.
getKey
();
bindTimer
(
registry
,
"undertow_requests"
,
"Request duration"
,
servletName
,
metricResult
,
MetricResult:
:
getTotalRequests
,
MetricsHandler
.
MetricResult
::
getMin
RequestTime
);
bindTimeGauge
(
registry
,
"undertow_request_time_max"
,
"Maximum time spent handling requests"
,
servletName
,
metricResult
,
MetricResult:
:
getMaxRequestTime
);
bindTimeGauge
(
registry
,
"undertow_request_time_min"
,
"Minimum time spent handling requests"
,
servletName
,
metricResult
,
MetricResult:
:
getMinRequestTime
);
bindCounter
(
registry
,
"undertow_request
_errors"
,
"Total number of error requests"
,
servletName
,
metricResult
,
MetricResult:
:
getTotalErrors
);
}
}
@Override
public
void
onApplicationEvent
(
ApplicationStartedEvent
event
)
{
MeterRegistry
registry
=
event
.
getApplicationContext
().
getBean
(
MeterRegistry
.
class
);
for
(
Map
.
Entry
<
String
,
MetricsHandler
>
handlerEntry
:
metricsHandlers
.
entrySet
())
{
MetricResult
metricResult
=
handlerEntry
.
getValue
().
getMetrics
();
String
servletName
=
handlerEntry
.
getKey
();
bindTimer
(
registry
,
"undertow_requests"
,
"Request duration"
,
servletName
,
metricResult
,
MetricResult:
:
getTotalRequests
,
MetricsHandler
.
MetricResult
::
getTotal
RequestTime
);
bindTimeGauge
(
registry
,
"undertow_request_time_max"
,
"Maximum time spent handling requests"
,
servletName
,
metricResult
,
MetricResult:
:
getMaxRequestTime
);
bindTimeGauge
(
registry
,
"undertow_request_time_min"
,
"Minimum time spent handling requests"
,
servletName
,
metricResult
,
MetricResult:
:
getMinRequestTime
);
bindCounter
(
registry
,
"undertow_request_total
_errors"
,
"Total number of error requests"
,
servletName
,
metricResult
,
MetricResult:
:
getTotalErrors
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录