Add traceme for ExecutorState::Process.

PiperOrigin-RevId: 274040387
This commit is contained in:
A. Unique TensorFlower 2019-10-10 14:32:21 -07:00 committed by TensorFlower Gardener
parent 845b6f7221
commit 76723be42c
4 changed files with 22 additions and 13 deletions

View File

@ -648,7 +648,7 @@ TEST_F(DirectSessionMinusAXTest, RunSimpleNetworkWithOpts) {
// Prepares RunOptions and RunMetadata // Prepares RunOptions and RunMetadata
RunOptions run_options; RunOptions run_options;
run_options.set_trace_level(RunOptions::FULL_TRACE); run_options.set_trace_level(RunOptions::SOFTWARE_TRACE);
RunMetadata run_metadata; RunMetadata run_metadata;
EXPECT_EQ(run_metadata.step_stats().dev_stats_size(), 0); EXPECT_EQ(run_metadata.step_stats().dev_stats_size(), 0);
@ -679,7 +679,7 @@ TEST_F(DirectSessionMinusAXTest, RunSimpleNetworkWithOpts_Callable) {
CallableOptions callable_options = CallableOptions callable_options =
MakeCallableOptions({}, {y_ + ":0"}, {y_neg_}); MakeCallableOptions({}, {y_ + ":0"}, {y_neg_});
callable_options.mutable_run_options()->set_trace_level( callable_options.mutable_run_options()->set_trace_level(
RunOptions::FULL_TRACE); RunOptions::SOFTWARE_TRACE);
TF_ASSERT_OK(session->MakeCallable(callable_options, &handle)); TF_ASSERT_OK(session->MakeCallable(callable_options, &handle));
RunMetadata run_metadata; RunMetadata run_metadata;

View File

@ -1667,6 +1667,15 @@ bool MightTrace(const NodeItem& item,
} }
void ExecutorState::Process(TaggedNode tagged_node, int64 scheduled_nsec) { void ExecutorState::Process(TaggedNode tagged_node, int64 scheduled_nsec) {
profiler::TraceMe activity(
[&] {
int64 id = step_id_;
if (step_container_ && step_container_->step_id()) {
id = step_container_->step_id();
}
return absl::StrCat("ExecutorState::Process#id=", id, "#");
},
2);
WithContext wc(context_); WithContext wc(context_);
TaggedNodeSeq ready; TaggedNodeSeq ready;
TaggedNodeReadyQueue inline_ready; TaggedNodeReadyQueue inline_ready;

View File

@ -393,7 +393,7 @@ class SessionTest(test_util.TensorFlowTestCase):
res = sess.run([[], tuple(), {}]) res = sess.run([[], tuple(), {}])
self.assertTrue(isinstance(res, list)) self.assertTrue(isinstance(res, list))
self.assertEquals(3, len(res)) self.assertEqual(3, len(res))
self.assertTrue(isinstance(res[0], list)) self.assertTrue(isinstance(res[0], list))
self.assertEqual(0, len(res[0])) self.assertEqual(0, len(res[0]))
self.assertTrue(isinstance(res[1], tuple)) self.assertTrue(isinstance(res[1], tuple))
@ -403,7 +403,7 @@ class SessionTest(test_util.TensorFlowTestCase):
res = sess.run([[], tuple(), {}, a]) res = sess.run([[], tuple(), {}, a])
self.assertTrue(isinstance(res, list)) self.assertTrue(isinstance(res, list))
self.assertEquals(4, len(res)) self.assertEqual(4, len(res))
self.assertTrue(isinstance(res[0], list)) self.assertTrue(isinstance(res[0], list))
self.assertEqual(0, len(res[0])) self.assertEqual(0, len(res[0]))
self.assertTrue(isinstance(res[1], tuple)) self.assertTrue(isinstance(res[1], tuple))
@ -1231,13 +1231,13 @@ class SessionTest(test_util.TensorFlowTestCase):
versions.GRAPH_DEF_VERSION_MIN_CONSUMER), versions.GRAPH_DEF_VERSION_MIN_CONSUMER),
sess.graph_def) sess.graph_def)
c = constant_op.constant(5.0, name='c') c = constant_op.constant(5.0, name='c')
self.assertEquals(len(sess.graph_def.node), 1) self.assertEqual(len(sess.graph_def.node), 1)
d = constant_op.constant(6.0, name='d') d = constant_op.constant(6.0, name='d')
self.assertEquals(len(sess.graph_def.node), 2) self.assertEqual(len(sess.graph_def.node), 2)
self.assertAllEqual(c.eval(), 5.0) self.assertAllEqual(c.eval(), 5.0)
self.assertAllEqual(d.eval(), 6.0) self.assertAllEqual(d.eval(), 6.0)
e = constant_op.constant(7.0, name='e') e = constant_op.constant(7.0, name='e')
self.assertEquals(len(sess.graph_def.node), 3) self.assertEqual(len(sess.graph_def.node), 3)
self.assertAllEqual(e.eval(), 7.0) self.assertAllEqual(e.eval(), 7.0)
def testUseAfterClose(self): def testUseAfterClose(self):
@ -1666,7 +1666,7 @@ class SessionTest(test_util.TensorFlowTestCase):
def testPerStepTrace(self): def testPerStepTrace(self):
run_options = config_pb2.RunOptions( run_options = config_pb2.RunOptions(
trace_level=config_pb2.RunOptions.FULL_TRACE) trace_level=config_pb2.RunOptions.SOFTWARE_TRACE)
run_metadata = config_pb2.RunMetadata() run_metadata = config_pb2.RunMetadata()
with ops.device('/cpu:0'): with ops.device('/cpu:0'):
@ -1683,11 +1683,11 @@ class SessionTest(test_util.TensorFlowTestCase):
run_metadata=run_metadata) run_metadata=run_metadata)
self.assertTrue(run_metadata.HasField('step_stats')) self.assertTrue(run_metadata.HasField('step_stats'))
self.assertEquals(len(run_metadata.step_stats.dev_stats), 1) self.assertEqual(len(run_metadata.step_stats.dev_stats), 1)
def testRunOptionsRunMetadata(self): def testRunOptionsRunMetadata(self):
run_options = config_pb2.RunOptions( run_options = config_pb2.RunOptions(
trace_level=config_pb2.RunOptions.FULL_TRACE) trace_level=config_pb2.RunOptions.SOFTWARE_TRACE)
run_metadata = config_pb2.RunMetadata() run_metadata = config_pb2.RunMetadata()
with ops.device('/cpu:0'): with ops.device('/cpu:0'):
@ -1708,7 +1708,7 @@ class SessionTest(test_util.TensorFlowTestCase):
run_metadata=run_metadata) run_metadata=run_metadata)
self.assertTrue(run_metadata.HasField('step_stats')) self.assertTrue(run_metadata.HasField('step_stats'))
self.assertEquals(len(run_metadata.step_stats.dev_stats), 1) self.assertEqual(len(run_metadata.step_stats.dev_stats), 1)
def testFeedShapeCompatibility(self): def testFeedShapeCompatibility(self):
with session.Session() as sess: with session.Session() as sess:

View File

@ -79,7 +79,7 @@ def _run_model():
opts['output'] = 'none' opts['output'] = 'none'
_ = sess.run(y, _ = sess.run(y,
options=config_pb2.RunOptions( options=config_pb2.RunOptions(
trace_level=config_pb2.RunOptions.FULL_TRACE), trace_level=config_pb2.RunOptions.SOFTWARE_TRACE),
run_metadata=run_metadata) run_metadata=run_metadata)
tfprof_node = model_analyzer.profile( tfprof_node = model_analyzer.profile(
sess.graph, sess.graph,
@ -101,7 +101,7 @@ def _run_loop_model():
run_meta = config_pb2.RunMetadata() run_meta = config_pb2.RunMetadata()
_ = sess.run(x, _ = sess.run(x,
options=config_pb2.RunOptions( options=config_pb2.RunOptions(
trace_level=config_pb2.RunOptions.FULL_TRACE), trace_level=config_pb2.RunOptions.SOFTWARE_TRACE),
run_metadata=run_meta) run_metadata=run_meta)
opts = builder.time_and_memory() opts = builder.time_and_memory()