Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
runtime
提交
1b382e2b
R
runtime
项目概览
dotNET Platform
/
runtime
11 个月 前同步成功
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
runtime
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
1b382e2b
编写于
6月 11, 2021
作者:
J
John Salem
提交者:
GitHub
6月 12, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
simplify gh53564 test (#54081)
上级
c14ac488
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
10 deletion
+20
-10
src/tests/tracing/eventcounter/gh53564.cs
src/tests/tracing/eventcounter/gh53564.cs
+20
-10
未找到文件。
src/tests/tracing/eventcounter/gh53564.cs
浏览文件 @
1b382e2b
...
...
@@ -20,6 +20,7 @@ public class RuntimeCounterListener : EventListener
private
DateTime
?
setToZeroTimestamp
=
null
;
private
DateTime
?
mostRecentTimestamp
=
null
;
private
ManualResetEvent
setToZero
=
new
ManualResetEvent
(
initialState
:
false
);
public
ManualResetEvent
ReadyToVerify
{
get
;
}
=
new
ManualResetEvent
(
initialState
:
false
);
protected
override
void
OnEventSourceCreated
(
EventSource
source
)
...
...
@@ -28,7 +29,7 @@ protected override void OnEventSourceCreated(EventSource source)
{
Dictionary
<
string
,
string
>
refreshInterval
=
new
Dictionary
<
string
,
string
>();
Console
.
WriteLine
(
$"[
{
DateTime
.
Now
:
hh
:
mm
:
ss
.
fff
}
]
Setting interval to 1"
);
Console
.
WriteLine
(
$"[
{
DateTime
.
UtcNow
:
hh
:
mm
:
ss
.
fff
}
] OnEventSourceCreated ::
Setting interval to 1"
);
// first set interval to 1 seconds
refreshInterval
[
"EventCounterIntervalSec"
]
=
"1"
;
EnableEvents
(
source
,
EventLevel
.
Informational
,
(
EventKeywords
)(-
1
),
refreshInterval
);
...
...
@@ -37,25 +38,31 @@ protected override void OnEventSourceCreated(EventSource source)
Thread
.
Sleep
(
TimeSpan
.
FromSeconds
(
3
));
// then set interval to 0
Console
.
WriteLine
(
$"[
{
DateTime
.
Now
:
hh
:
mm
:
ss
.
fff
}
]
Setting interval to 0"
);
Console
.
WriteLine
(
$"[
{
DateTime
.
UtcNow
:
hh
:
mm
:
ss
.
fff
}
] OnEventSourceCreated ::
Setting interval to 0"
);
refreshInterval
[
"EventCounterIntervalSec"
]
=
"0"
;
EnableEvents
(
source
,
EventLevel
.
Informational
,
(
EventKeywords
)(-
1
),
refreshInterval
);
setToZeroTimestamp
=
DateTime
.
Now
+
TimeSpan
.
FromSeconds
(
1
);
// Stash timestamp 1 second after setting to 0
setToZeroTimestamp
=
DateTime
.
UtcNow
+
TimeSpan
.
FromSeconds
(
1
);
// Stash timestamp 1 second after setting to 0
setToZero
.
Set
();
// then attempt to set interval back to 1
Thread
.
Sleep
(
TimeSpan
.
FromSeconds
(
3
));
Console
.
WriteLine
(
$"[
{
DateTime
.
Now
:
hh
:
mm
:
ss
.
fff
}
]
Setting interval to 1"
);
Console
.
WriteLine
(
$"[
{
DateTime
.
UtcNow
:
hh
:
mm
:
ss
.
fff
}
] OnEventSourceCreated ::
Setting interval to 1"
);
refreshInterval
[
"EventCounterIntervalSec"
]
=
"1"
;
EnableEvents
(
source
,
EventLevel
.
Informational
,
(
EventKeywords
)(-
1
),
refreshInterval
);
Thread
.
Sleep
(
TimeSpan
.
FromSeconds
(
3
));
Console
.
WriteLine
(
$"[
{
DateTime
.
Now
:
hh
:
mm
:
ss
.
fff
}
] Setting ReadyToVerify"
);
ReadyToVerify
.
Set
();
}
}
protected
override
void
OnEventWritten
(
EventWrittenEventArgs
eventData
)
{
mostRecentTimestamp
=
eventData
.
TimeStamp
;
if
(!
ReadyToVerify
.
WaitOne
(
0
))
{
mostRecentTimestamp
=
eventData
.
TimeStamp
;
if
(
setToZero
.
WaitOne
(
0
)
&&
mostRecentTimestamp
>
setToZeroTimestamp
)
{
Console
.
WriteLine
(
$"[
{
DateTime
.
UtcNow
:
hh
:
mm
:
ss
.
fff
}
] OnEventWritten :: Setting ReadyToVerify"
);
ReadyToVerify
.
Set
();
}
}
}
public
bool
Verify
()
...
...
@@ -63,6 +70,10 @@ public bool Verify()
if
(!
ReadyToVerify
.
WaitOne
(
0
))
return
false
;
Console
.
WriteLine
(
$"[
{
DateTime
.
UtcNow
:
hh
:
mm
:
ss
.
fff
}
] Verify :: Verifying"
);
Console
.
WriteLine
(
$"[
{
DateTime
.
UtcNow
:
hh
:
mm
:
ss
.
fff
}
] setToZeroTimestamp =
{
setToZeroTimestamp
?.
ToString
(
"hh:mm:ss.fff"
)
??
"NULL"
}
"
);
Console
.
WriteLine
(
$"[
{
DateTime
.
UtcNow
:
hh
:
mm
:
ss
.
fff
}
] mostRecentTimestamp =
{
mostRecentTimestamp
?.
ToString
(
"hh:mm:ss.fff"
)
??
"NULL"
}
"
);
return
(
setToZeroTimestamp
is
null
||
mostRecentTimestamp
is
null
)
?
false
:
setToZeroTimestamp
<
mostRecentTimestamp
;
}
}
...
...
@@ -74,9 +85,8 @@ public static int Main(string[] args)
// Create an EventListener.
using
(
RuntimeCounterListener
myListener
=
new
RuntimeCounterListener
())
{
if
(
myListener
.
ReadyToVerify
.
WaitOne
(
TimeSpan
.
FromSeconds
(
15
)))
if
(
myListener
.
ReadyToVerify
.
WaitOne
(
TimeSpan
.
FromSeconds
(
30
)))
{
Console
.
WriteLine
(
$"[
{
DateTime
.
Now
:
hh
:
mm
:
ss
.
fff
}
] Ready to verify"
);
if
(
myListener
.
Verify
())
{
Console
.
WriteLine
(
"Test passed"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录