Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
66a997a9
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
66a997a9
编写于
1月 04, 2016
作者:
Y
Yorick Peterse
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Track total query/view timings in transactions
上级
96075be6
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
62 addition
and
0 deletion
+62
-0
config/initializers/metrics.rb
config/initializers/metrics.rb
+1
-0
lib/gitlab/metrics/subscribers/action_view.rb
lib/gitlab/metrics/subscribers/action_view.rb
+1
-0
lib/gitlab/metrics/subscribers/active_record.rb
lib/gitlab/metrics/subscribers/active_record.rb
+22
-0
spec/lib/gitlab/metrics/subscribers/action_view_spec.rb
spec/lib/gitlab/metrics/subscribers/action_view_spec.rb
+3
-0
spec/lib/gitlab/metrics/subscribers/active_record_spec.rb
spec/lib/gitlab/metrics/subscribers/active_record_spec.rb
+35
-0
未找到文件。
config/initializers/metrics.rb
浏览文件 @
66a997a9
...
...
@@ -6,6 +6,7 @@ if Gitlab::Metrics.enabled?
# These are manually require'd so the classes are registered properly with
# ActiveSupport.
require
'gitlab/metrics/subscribers/action_view'
require
'gitlab/metrics/subscribers/active_record'
Gitlab
::
Application
.
configure
do
|
config
|
config
.
middleware
.
use
(
Gitlab
::
Metrics
::
RackMiddleware
)
...
...
lib/gitlab/metrics/subscribers/action_view.rb
浏览文件 @
66a997a9
...
...
@@ -19,6 +19,7 @@ module Gitlab
values
=
values_for
(
event
)
tags
=
tags_for
(
event
)
current_transaction
.
increment
(
:view_duration
,
event
.
duration
)
current_transaction
.
add_metric
(
SERIES
,
values
,
tags
)
end
...
...
lib/gitlab/metrics/subscribers/active_record.rb
0 → 100644
浏览文件 @
66a997a9
module
Gitlab
module
Metrics
module
Subscribers
# Class for tracking the total query duration of a transaction.
class
ActiveRecord
<
ActiveSupport
::
Subscriber
attach_to
:active_record
def
sql
(
event
)
return
unless
current_transaction
current_transaction
.
increment
(
:sql_duration
,
event
.
duration
)
end
private
def
current_transaction
Transaction
.
current
end
end
end
end
end
spec/lib/gitlab/metrics/subscribers/action_view_spec.rb
浏览文件 @
66a997a9
...
...
@@ -28,6 +28,9 @@ describe Gitlab::Metrics::Subscribers::ActionView do
line:
4
}
expect
(
transaction
).
to
receive
(
:increment
).
with
(
:view_duration
,
2.1
)
expect
(
transaction
).
to
receive
(
:add_metric
).
with
(
described_class
::
SERIES
,
values
,
tags
)
...
...
spec/lib/gitlab/metrics/subscribers/active_record_spec.rb
0 → 100644
浏览文件 @
66a997a9
require
'spec_helper'
describe
Gitlab
::
Metrics
::
Subscribers
::
ActiveRecord
do
let
(
:transaction
)
{
Gitlab
::
Metrics
::
Transaction
.
new
(
'rspec'
)
}
let
(
:subscriber
)
{
described_class
.
new
}
let
(
:event
)
do
double
(
:event
,
duration:
0.2
,
payload:
{
sql:
'SELECT * FROM users WHERE id = 10'
})
end
describe
'#sql'
do
describe
'without a current transaction'
do
it
'simply returns'
do
expect_any_instance_of
(
Gitlab
::
Metrics
::
Transaction
).
to_not
receive
(
:increment
)
subscriber
.
sql
(
event
)
end
end
describe
'with a current transaction'
do
it
'increments the :sql_duration value'
do
expect
(
subscriber
).
to
receive
(
:current_transaction
).
at_least
(
:once
).
and_return
(
transaction
)
expect
(
transaction
).
to
receive
(
:increment
).
with
(
:sql_duration
,
0.2
)
subscriber
.
sql
(
event
)
end
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录