code: def testServeGraphExecutionDigestsPartialRange(self):
      _generate_tfdbg_v2_data(self.logdir)
      run = self._getExactlyOneRun()
      response = self.server.get(
          _ROUTE_PREFIX
          + "/graph_execution/digests?run=%s&begin=0&end=4" % run
      )
      self.assertEqual(200, response.status_code)
      self.assertEqual(
          "application/json", response.headers.get("content-type")
      )
      data = json.loads(response.get_data())
      self.assertEqual(data["begin"], 0)
      self.assertEqual(data["end"], 4)
      self.assertEqual(data["num_digests"], 207)
      digests = data["graph_execution_digests"]
      self.assertLen(digests, 4)
      self.assertGreater(digests[0]["wall_time"], 0)
      self.assertEqual(digests[0]["op_type"], "Const")
      self.assertEqual(digests[0]["output_slot"], 0)
      self.assertTrue(digests[0]["op_name"])
      self.assertTrue(digests[0]["graph_id"])
  
      self.assertGreaterEqual(
          digests[1]["wall_time"], digests[0]["wall_time"]
      )
      self.assertEqual(digests[1]["op_type"], "Unpack")
      self.assertEqual(digests[1]["output_slot"], 0)
      self.assertTrue(digests[1]["op_name"])
      self.assertNotEqual(digests[1]["op_name"], digests[0]["op_name"])
      self.assertTrue(digests[1]["graph_id"])
  
      self.assertGreaterEqual(
          digests[2]["wall_time"], digests[1]["wall_time"]
      )
      self.assertEqual(digests[2]["op_type"], "Unpack")
      self.assertEqual(digests[2]["output_slot"], 1)
      self.assertTrue(digests[2]["op_name"])
      self.assertTrue(digests[2]["graph_id"])
  
      self.assertGreaterEqual(
          digests[3]["wall_time"], digests[2]["wall_time"]
      )
      # The unstack() function uses the Unpack op under the hood.
      self.assertEqual(digests[3]["op_type"], "Unpack")
      self.assertEqual(digests[3]["output_slot"], 2)
      self.assertTrue(digests[3]["op_name"])
      self.assertTrue(digests[3]["graph_id"])
  
imports: import collections
  import json
  import os
  import socket
  import threading
  import tensorflow
  from werkzeug import test
  from werkzeug import wrappers
  from tensorboard.backend import application
  from tensorboard.plugins import base_plugin
  from tensorboard.plugins.debugger_v2 import debug_data_multiplexer
  from tensorboard.plugins.debugger_v2 import debugger_v2_plugin
label_desc: Use image node_id 27 for calling the DebuggerV2PluginTest obj's underlying member method code with example usage: obj.testServeGraphExecutionDigestsPartialRange() without return types