Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
af2f9c9d
C
cat
项目概览
梦中观雨
/
cat
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
cat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
af2f9c9d
编写于
6月 25, 2013
作者:
Y
yong.you
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix abtest name problem
上级
361bc544
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
93 addition
and
91 deletion
+93
-91
cat-core/src/main/java/com/dianping/cat/abtest/spi/internal/DefaultABTestCodec.java
.../dianping/cat/abtest/spi/internal/DefaultABTestCodec.java
+10
-5
cat-core/src/main/java/com/dianping/cat/build/ABTestComponentConfigurator.java
...a/com/dianping/cat/build/ABTestComponentConfigurator.java
+1
-1
cat-core/src/main/java/com/dianping/cat/status/StatusUpdateTask.java
...c/main/java/com/dianping/cat/status/StatusUpdateTask.java
+19
-17
cat-core/src/test/java/com/dianping/cat/abtest/tester/ABTestServerConfigurator.java
.../dianping/cat/abtest/tester/ABTestServerConfigurator.java
+0
-30
cat-home/src/main/java/com/dianping/cat/report/page/metric/Handler.java
...ain/java/com/dianping/cat/report/page/metric/Handler.java
+3
-3
cat-home/src/main/java/com/dianping/cat/report/page/metric/MetricDisplay.java
...va/com/dianping/cat/report/page/metric/MetricDisplay.java
+10
-14
cat-home/src/main/java/com/dianping/cat/system/page/abtest/service/ABTestService.java
...ianping/cat/system/page/abtest/service/ABTestService.java
+3
-1
cat-home/src/main/java/com/dianping/cat/system/page/abtest/service/ABTestServiceImpl.java
...ing/cat/system/page/abtest/service/ABTestServiceImpl.java
+5
-6
cat-home/src/main/resources/META-INF/plexus/components.xml
cat-home/src/main/resources/META-INF/plexus/components.xml
+42
-14
未找到文件。
cat-core/src/main/java/com/dianping/cat/abtest/spi/internal/DefaultABTestCodec.java
浏览文件 @
af2f9c9d
...
...
@@ -131,10 +131,13 @@ public class DefaultABTestCodec implements ABTestCodec {
sb
.
append
(
'|'
);
}
if
(
e
.
getValue
()
==
null
){
sb
.
append
(
e
.
getKey
()).
append
(
':'
);
String
key
=
e
.
getKey
();
String
value
=
e
.
getValue
();
if
(
value
==
null
){
sb
.
append
(
key
).
append
(
':'
);
}
else
{
sb
.
append
(
e
.
getKey
()).
append
(
':'
).
append
(
e
.
getValue
()
);
sb
.
append
(
key
).
append
(
':'
).
append
(
value
);
}
}
}
...
...
@@ -152,8 +155,10 @@ public class DefaultABTestCodec implements ABTestCodec {
for
(
Entry
<
String
,
Map
<
String
,
String
>>
entry
:
maps
.
entrySet
())
{
String
key
=
entry
.
getKey
();
if
(
entry
.
getValue
()
!=
null
)
{
String
val
=
entry
.
getValue
().
get
(
"ab"
);
Map
<
String
,
String
>
entryValue
=
entry
.
getValue
();
if
(
entryValue
!=
null
)
{
String
val
=
entryValue
.
get
(
"ab"
);
if
(
val
!=
null
)
{
code
.
put
(
key
,
val
);
...
...
cat-core/src/main/java/com/dianping/cat/build/ABTestComponentConfigurator.java
浏览文件 @
af2f9c9d
...
...
@@ -17,7 +17,7 @@ import com.dianping.cat.abtest.spi.internal.DefaultABTestEntityManager;
import
com.dianping.cat.configuration.ClientConfigManager
;
import
com.dianping.cat.message.spi.MessageManager
;
class
ABTestComponentConfigurator
extends
AbstractResourceConfigurator
{
public
class
ABTestComponentConfigurator
extends
AbstractResourceConfigurator
{
@Override
public
List
<
Component
>
defineComponents
()
{
List
<
Component
>
all
=
new
ArrayList
<
Component
>();
...
...
cat-core/src/main/java/com/dianping/cat/status/StatusUpdateTask.java
浏览文件 @
af2f9c9d
...
...
@@ -33,7 +33,7 @@ public class StatusUpdateTask implements Task, Initializable {
private
long
m_interval
=
60
*
1000
;
// 60 seconds
private
String
m_jar
;
private
String
m_jar
s
;
@Override
public
String
getName
()
{
...
...
@@ -45,34 +45,36 @@ public class StatusUpdateTask implements Task, Initializable {
m_ipAddress
=
NetworkInterfaceManager
.
INSTANCE
.
getLocalHostAddress
();
}
private
void
buildClasspath
()
{
ClassLoader
loader
=
StatusUpdateTask
.
class
.
getClassLoader
();
StringBuilder
sb
=
new
StringBuilder
();
private
void
buildClasspath
(
ClassLoader
loader
,
StringBuilder
sb
)
{
if
(
loader
instanceof
URLClassLoader
)
{
URL
[]
urLs
=
((
URLClassLoader
)
loader
).
getURLs
();
boolean
first
=
true
;
for
(
URL
url
:
urLs
)
{
String
jar
=
parseJar
(
url
.
toExternalForm
());
if
(
jar
!=
null
)
{
if
(
first
)
{
sb
.
append
(
jar
);
first
=
false
;
}
else
{
sb
.
append
(
','
).
append
(
jar
);
}
sb
.
append
(
jar
).
append
(
','
);
}
}
ClassLoader
parent
=
loader
.
getParent
();
buildClasspath
(
parent
,
sb
);
}
}
private
void
buildClasspath
()
{
ClassLoader
loader
=
StatusUpdateTask
.
class
.
getClassLoader
();
StringBuilder
sb
=
new
StringBuilder
();
buildClasspath
(
loader
,
sb
);
if
(
sb
.
length
()
>
0
)
{
m_jars
=
sb
.
substring
(
0
,
sb
.
length
()
-
1
);
}
m_jar
=
sb
.
toString
();
}
private
String
parseJar
(
String
path
)
{
if
(
path
.
endsWith
(
".jar"
))
{
int
index
=
path
.
lastIndexOf
(
'/'
);
if
(
index
>
-
1
)
{
return
path
.
substring
(
index
+
1
);
}
...
...
@@ -108,7 +110,7 @@ public class StatusUpdateTask implements Task, Initializable {
while
(
m_active
)
{
long
start
=
MilliSecondTimer
.
currentTimeMillis
();
if
(
m_manager
.
isCatEnabled
())
{
Transaction
t
=
cat
.
newTransaction
(
"System"
,
"Status"
);
Heartbeat
h
=
cat
.
newHeartbeat
(
"Heartbeat"
,
m_ipAddress
);
...
...
@@ -116,7 +118,7 @@ public class StatusUpdateTask implements Task, Initializable {
t
.
addData
(
"dumpLocked"
,
m_manager
.
isDumpLocked
());
try
{
StatusInfoCollector
statusInfoCollector
=
new
StatusInfoCollector
(
m_statistics
,
m_jar
);
StatusInfoCollector
statusInfoCollector
=
new
StatusInfoCollector
(
m_statistics
,
m_jar
s
);
status
.
accept
(
statusInfoCollector
.
setDumpLocked
(
m_manager
.
isDumpLocked
()));
h
.
addData
(
status
.
toString
());
...
...
cat-core/src/test/java/com/dianping/cat/abtest/tester/ABTestServerConfigurator.java
已删除
100644 → 0
浏览文件 @
361bc544
package
com.dianping.cat.abtest.tester
;
import
java.util.ArrayList
;
import
java.util.List
;
import
org.unidal.lookup.configuration.AbstractResourceConfigurator
;
import
org.unidal.lookup.configuration.Component
;
import
com.dianping.cat.abtest.spi.ABTestGroupStrategy
;
public
class
ABTestServerConfigurator
extends
AbstractResourceConfigurator
{
@Override
public
List
<
Component
>
defineComponents
()
{
List
<
Component
>
all
=
new
ArrayList
<
Component
>();
all
.
add
(
C
(
ABTestGroupStrategy
.
class
,
RetinaImgGroupStrategy
.
ID
,
RetinaImgGroupStrategy
.
class
)
.
is
(
PER_LOOKUP
));
return
all
;
}
@Override
protected
Class
<?>
getTestClass
()
{
return
RetinaImgGroupStrategy
.
class
;
}
public
static
void
main
(
String
[]
args
)
{
generatePlexusComponentsXmlFile
(
new
ABTestServerConfigurator
());
}
}
cat-home/src/main/java/com/dianping/cat/report/page/metric/Handler.java
浏览文件 @
af2f9c9d
...
...
@@ -17,12 +17,12 @@ import com.dianping.cat.advanced.metric.config.entity.MetricItemConfig;
import
com.dianping.cat.consumer.advanced.MetricConfigManager
;
import
com.dianping.cat.consumer.core.ProductLineConfigManager
;
import
com.dianping.cat.consumer.metric.model.entity.MetricReport
;
import
com.dianping.cat.home.dal.abtest.AbtestDao
;
import
com.dianping.cat.report.ReportPage
;
import
com.dianping.cat.report.page.PayloadNormalizer
;
import
com.dianping.cat.report.page.model.spi.ModelRequest
;
import
com.dianping.cat.report.page.model.spi.ModelResponse
;
import
com.dianping.cat.report.page.model.spi.ModelService
;
import
com.dianping.cat.system.page.abtest.service.ABTestService
;
public
class
Handler
implements
PageHandler
<
Context
>
{
@Inject
...
...
@@ -41,7 +41,7 @@ public class Handler implements PageHandler<Context> {
private
ProductLineConfigManager
m_productLineConfigManager
;
@Inject
private
A
btestDao
m_abtestDao
;
private
A
BTestService
m_abtestService
;
private
static
final
String
TUAN
=
"TuanGou"
;
...
...
@@ -88,7 +88,7 @@ public class Handler implements PageHandler<Context> {
MetricDisplay
display
=
new
MetricDisplay
(
domainSet
,
test
,
startTime
);
display
.
setAbtest
(
m_abtest
Dao
);
display
.
setAbtest
(
m_abtest
Service
);
display
.
visitMetricReport
(
report
);
model
.
setDisplay
(
display
);
...
...
cat-home/src/main/java/com/dianping/cat/report/page/metric/MetricDisplay.java
浏览文件 @
af2f9c9d
...
...
@@ -8,9 +8,6 @@ import java.util.LinkedHashMap;
import
java.util.List
;
import
java.util.Map
;
import
org.unidal.dal.jdbc.DalException
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.advanced.metric.config.entity.MetricItemConfig
;
import
com.dianping.cat.consumer.metric.model.entity.Abtest
;
import
com.dianping.cat.consumer.metric.model.entity.Group
;
...
...
@@ -20,9 +17,8 @@ import com.dianping.cat.consumer.metric.model.entity.Point;
import
com.dianping.cat.consumer.metric.model.transform.BaseVisitor
;
import
com.dianping.cat.helper.CatString
;
import
com.dianping.cat.helper.TimeUtil
;
import
com.dianping.cat.home.dal.abtest.AbtestDao
;
import
com.dianping.cat.home.dal.abtest.AbtestEntity
;
import
com.dianping.cat.report.page.LineChart
;
import
com.dianping.cat.system.page.abtest.service.ABTestService
;
public
class
MetricDisplay
extends
BaseVisitor
{
...
...
@@ -38,7 +34,7 @@ public class MetricDisplay extends BaseVisitor {
private
String
m_currentComputeType
;
private
A
btestDao
m_abtestDao
;
private
A
BTestService
m_abtestService
;
private
static
final
String
SUM
=
CatString
.
SUM
;
...
...
@@ -177,21 +173,21 @@ public class MetricDisplay extends BaseVisitor {
super
.
visitMetricReport
(
metricReport
);
}
public
void
setAbtest
(
A
btestDao
abtestDao
)
{
m_abtest
Dao
=
abtestDao
;
public
void
setAbtest
(
A
BTestService
service
)
{
m_abtest
Service
=
service
;
}
private
com
.
dianping
.
cat
.
home
.
dal
.
abtest
.
Abtest
findAbTest
(
int
id
)
{
try
{
return
m_abtestDao
.
findByPK
(
id
,
AbtestEntity
.
READSET_FULL
);
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
com
.
dianping
.
cat
.
home
.
dal
.
abtest
.
Abtest
abtest
=
new
com
.
dianping
.
cat
.
home
.
dal
.
abtest
.
Abtest
();
com
.
dianping
.
cat
.
home
.
dal
.
abtest
.
Abtest
abtest
=
m_abtestService
.
getABTestNameByRunId
(
id
);
if
(
abtest
==
null
)
{
abtest
=
new
com
.
dianping
.
cat
.
home
.
dal
.
abtest
.
Abtest
();
abtest
.
setId
(
id
);
abtest
.
setName
(
String
.
valueOf
(
id
));
return
abtest
;
}
return
abtest
;
}
}
cat-home/src/main/java/com/dianping/cat/system/page/abtest/service/ABTestService.java
浏览文件 @
af2f9c9d
package
com.dianping.cat.system.page.abtest.service
;
import
com.dianping.cat.home.dal.abtest.Abtest
;
public
interface
ABTestService
{
public
String
getABTestNameByRunId
(
int
id
);
public
Abtest
getABTestNameByRunId
(
int
id
);
}
cat-home/src/main/java/com/dianping/cat/system/page/abtest/service/ABTestServiceImpl.java
浏览文件 @
af2f9c9d
...
...
@@ -22,11 +22,11 @@ public class ABTestServiceImpl implements ABTestService {
@Inject
private
AbtestRunDao
m_abtestRunDao
;
private
Map
<
Integer
,
String
>
m_abtestMap
=
new
ConcurrentHashMap
<
Integer
,
String
>();
private
Map
<
Integer
,
Abtest
>
m_abtestMap
=
new
ConcurrentHashMap
<
Integer
,
Abtest
>();
@Override
public
String
getABTestNameByRunId
(
int
id
)
{
String
name
=
m_abtestMap
.
get
(
id
);
public
Abtest
getABTestNameByRunId
(
int
id
)
{
Abtest
name
=
m_abtestMap
.
get
(
id
);
if
(
name
!=
null
)
{
return
name
;
...
...
@@ -35,13 +35,12 @@ public class ABTestServiceImpl implements ABTestService {
AbtestRun
run
=
m_abtestRunDao
.
findByPK
(
id
,
AbtestRunEntity
.
READSET_FULL
);
Abtest
abtest
=
m_abtestDao
.
findByPK
(
run
.
getCaseId
(),
AbtestEntity
.
READSET_FULL
);
name
=
abtest
.
getName
();
m_abtestMap
.
put
(
id
,
name
);
m_abtestMap
.
put
(
id
,
abtest
);
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
}
return
n
ame
;
return
n
ull
;
}
}
cat-home/src/main/resources/META-INF/plexus/components.xml
浏览文件 @
af2f9c9d
...
...
@@ -1649,14 +1649,42 @@
</requirements>
</component>
<component>
<role>
com.dianping.cat.
system.page.abtest.service.ABTestService
</role>
<implementation>
com.dianping.cat.
system.page.abtest.service.ABTestServiceImpl
</implementation>
<role>
com.dianping.cat.
abtest.spi.internal.ABTestContextManager
</role>
<implementation>
com.dianping.cat.
abtest.spi.internal.DefaultABTestContextManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.
home.dal.abtest.AbtestDao
</role>
<role>
com.dianping.cat.
abtest.spi.internal.ABTestEntityManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.home.dal.abtest.AbtestRunDao
</role>
<role>
com.dianping.cat.message.spi.MessageManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.abtest.spi.internal.ABTestCodec
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.abtest.spi.internal.ABTestCodec
</role>
<implementation>
com.dianping.cat.abtest.spi.internal.DefaultABTestCodec
</implementation>
</component>
<component>
<role>
com.dianping.cat.abtest.repository.ABTestEntityRepository
</role>
<implementation>
com.dianping.cat.abtest.repository.HttpABTestEntityRepository
</implementation>
<configuration>
<refreshTimeInSeconds>
60
</refreshTimeInSeconds>
</configuration>
<requirements>
<requirement>
<role>
com.dianping.cat.configuration.ClientConfigManager
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.abtest.spi.internal.ABTestEntityManager
</role>
<implementation>
com.dianping.cat.abtest.spi.internal.DefaultABTestEntityManager
</implementation>
<requirements>
<requirement>
<role>
com.dianping.cat.abtest.repository.ABTestEntityRepository
</role>
</requirement>
</requirements>
</component>
...
...
@@ -2596,7 +2624,7 @@
<role>
com.dianping.cat.consumer.core.ProductLineConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.
home.dal.abtest.AbtestDao
</role>
<role>
com.dianping.cat.
system.page.abtest.service.ABTestService
</role>
</requirement>
</requirements>
</component>
...
...
@@ -2627,15 +2655,6 @@
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.abtest.AbtestDao
</role>
<implementation>
com.dianping.cat.home.dal.abtest.AbtestDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.report.page.jsError.Handler
</role>
<implementation>
com.dianping.cat.report.page.jsError.Handler
</implementation>
...
...
@@ -3098,6 +3117,15 @@
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.abtest.AbtestDao
</role>
<implementation>
com.dianping.cat.home.dal.abtest.AbtestDao
</implementation>
<requirements>
<requirement>
<role>
org.unidal.dal.jdbc.QueryEngine
</role>
</requirement>
</requirements>
</component>
<component>
<role>
com.dianping.cat.home.dal.abtest.AbtestRunDao
</role>
<implementation>
com.dianping.cat.home.dal.abtest.AbtestRunDao
</implementation>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录