Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
304c49b1
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
304c49b1
编写于
7月 25, 2010
作者:
J
José Valim
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Move runtime back to connection.
上级
ff0d8424
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
15 addition
and
21 deletion
+15
-21
activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
...lib/active_record/connection_adapters/abstract_adapter.rb
+7
-0
activerecord/lib/active_record/log_subscriber.rb
activerecord/lib/active_record/log_subscriber.rb
+6
-15
activerecord/lib/active_record/railties/controller_runtime.rb
...verecord/lib/active_record/railties/controller_runtime.rb
+2
-2
activerecord/test/cases/log_subscriber_test.rb
activerecord/test/cases/log_subscriber_test.rb
+0
-4
未找到文件。
activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
浏览文件 @
304c49b1
...
...
@@ -34,11 +34,13 @@ class AbstractAdapter
include
QueryCache
include
ActiveSupport
::
Callbacks
attr_accessor
:runtime
define_callbacks
:checkout
,
:checkin
def
initialize
(
connection
,
logger
=
nil
)
#:nodoc:
@active
=
nil
@connection
,
@logger
=
connection
,
logger
@runtime
=
0
@query_cache_enabled
=
false
@query_cache
=
{}
end
...
...
@@ -89,6 +91,11 @@ def prefetch_primary_key?(table_name = nil)
false
end
def
reset_runtime
#:nodoc:
rt
,
@runtime
=
@runtime
,
0
rt
end
# QUOTING ==================================================
# Override to return the quoted table name. Defaults to column quoting.
...
...
activerecord/lib/active_record/log_subscriber.rb
浏览文件 @
304c49b1
module
ActiveRecord
class
LogSubscriber
<
ActiveSupport
::
LogSubscriber
def
self
.
runtime
=
(
value
)
Thread
.
current
[
"active_record_sql_runtime"
]
=
value
end
def
self
.
runtime
Thread
.
current
[
"active_record_sql_runtime"
]
||=
0
end
def
self
.
reset_runtime
rt
,
self
.
runtime
=
runtime
,
0
rt
end
def
initialize
super
@odd_or_even
=
false
end
def
sql
(
event
)
self
.
class
.
runtime
+=
event
.
duration
connection
.
runtime
+=
event
.
duration
return
unless
logger
.
debug?
name
=
'%s (%.1fms)'
%
[
event
.
payload
[
:name
],
event
.
duration
]
...
...
@@ -39,10 +26,14 @@ def odd?
@odd_or_even
=
!
@odd_or_even
end
def
connection
ActiveRecord
::
Base
.
connection
end
def
logger
ActiveRecord
::
Base
.
logger
end
end
end
ActiveRecord
::
LogSubscriber
.
attach_to
:active_record
\ No newline at end of file
ActiveRecord
::
LogSubscriber
.
attach_to
:active_record
activerecord/lib/active_record/railties/controller_runtime.rb
浏览文件 @
304c49b1
...
...
@@ -11,9 +11,9 @@ module ControllerRuntime
def
cleanup_view_runtime
if
ActiveRecord
::
Base
.
connected?
db_rt_before_render
=
ActiveRecord
::
LogSubscriber
.
reset_runtime
db_rt_before_render
=
ActiveRecord
::
Base
.
connection
.
reset_runtime
runtime
=
super
db_rt_after_render
=
ActiveRecord
::
LogSubscriber
.
reset_runtime
db_rt_after_render
=
ActiveRecord
::
Base
.
connection
.
reset_runtime
self
.
db_runtime
=
db_rt_before_render
+
db_rt_after_render
runtime
-
db_rt_after_render
else
...
...
activerecord/test/cases/log_subscriber_test.rb
浏览文件 @
304c49b1
...
...
@@ -57,8 +57,4 @@ def test_cached_queries_doesnt_log_when_level_is_not_debug
wait
assert_equal
0
,
@logger
.
logged
(
:debug
).
size
end
def
test_initializes_runtime
Thread
.
new
{
assert_equal
0
,
ActiveRecord
::
LogSubscriber
.
runtime
}.
join
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录