Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
1091cdee
M
mindspore
项目概览
magicwindyyd
/
mindspore
与 Fork 源项目一致
Fork自
MindSpore / mindspore
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindspore
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
1091cdee
编写于
8月 03, 2020
作者:
M
mindspore-ci-bot
提交者:
Gitee
8月 03, 2020
浏览文件
操作
浏览文件
下载
差异文件
!3822 Decouple infer trace from LogWriter
Merge pull request !3822 from hewei/decouple_debug_trace
上级
fc259aeb
d981dda9
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
19 addition
and
7 deletion
+19
-7
mindspore/ccsrc/debug/trace.cc
mindspore/ccsrc/debug/trace.cc
+13
-0
mindspore/core/utils/log_adapter.cc
mindspore/core/utils/log_adapter.cc
+3
-7
mindspore/core/utils/log_adapter.h
mindspore/core/utils/log_adapter.h
+3
-0
未找到文件。
mindspore/ccsrc/debug/trace.cc
浏览文件 @
1091cdee
...
...
@@ -33,6 +33,7 @@
#include "ir/tensor.h"
#include "debug/anf_ir_utils.h"
#include "pipeline/jit/static_analysis/evaluator.h"
#include "utils/log_adapter.h"
namespace
mindspore
{
// namespace to support debug trace infomation
...
...
@@ -495,5 +496,17 @@ void ClearTraceStack() {
}
cnode_debug_stack
.
clear
();
}
// Register trace provider to LogWriter.
struct
TraceProviderRegister
{
TraceProviderRegister
()
{
LogWriter
::
set_trace_provider
([](
std
::
ostringstream
&
oss
)
{
TraceGraphEval
();
GetEvalStackInfo
(
oss
);
});
}
~
TraceProviderRegister
()
=
default
;
}
trace_provider_regsiter
;
}
// namespace trace
}
// namespace mindspore
mindspore/core/utils/log_adapter.cc
浏览文件 @
1091cdee
...
...
@@ -19,9 +19,6 @@
#include <unistd.h>
#include <sys/time.h>
#include <map>
#ifndef USE_ANDROID_LOG
#include "debug/trace.h"
#endif
// namespace to support utils module definition
namespace
mindspore
{
...
...
@@ -244,10 +241,9 @@ void LogWriter::operator^(const LogStream &stream) const {
}
oss
<<
msg
.
str
();
#ifndef USE_ANDROID_LOG
trace
::
TraceGraphEval
();
trace
::
GetEvalStackInfo
(
oss
);
#endif
if
(
trace_provider_
!=
nullptr
)
{
trace_provider_
(
oss
);
}
if
(
exception_handler_
!=
nullptr
)
{
exception_handler_
(
exception_type_
,
oss
.
str
());
...
...
mindspore/core/utils/log_adapter.h
浏览文件 @
1091cdee
...
...
@@ -142,6 +142,7 @@ extern int g_ms_submodule_log_levels[] __attribute__((visibility("default")));
class
LogWriter
{
public:
using
ExceptionHandler
=
std
::
function
<
void
(
ExceptionType
,
const
std
::
string
&
msg
)
>
;
using
TraceProvider
=
std
::
function
<
void
(
std
::
ostringstream
&
oss
)
>
;
LogWriter
(
const
LocationInfo
&
location
,
MsLogLevel
log_level
,
SubModuleId
submodule
,
ExceptionType
excp_type
=
NoExceptionType
)
...
...
@@ -152,6 +153,7 @@ class LogWriter {
void
operator
^
(
const
LogStream
&
stream
)
const
__attribute__
((
noreturn
,
visibility
(
"default"
)));
static
void
set_exception_handler
(
ExceptionHandler
exception_handler
)
{
exception_handler_
=
exception_handler
;
}
static
void
set_trace_provider
(
TraceProvider
trace_provider
)
{
trace_provider_
=
trace_provider
;
}
private:
void
OutputLog
(
const
std
::
ostringstream
&
msg
)
const
;
...
...
@@ -162,6 +164,7 @@ class LogWriter {
ExceptionType
exception_type_
;
inline
static
ExceptionHandler
exception_handler_
=
nullptr
;
inline
static
TraceProvider
trace_provider_
=
nullptr
;
};
#define MSLOG_IF(level, condition, excp_type) \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录