docstr: Serves greeting data for the specified tag and run.
  
  For details on how to use tags and runs, see
  https://github.com/tensorflow/tensorboard#tags-giving-names-to-data
docstr_tok: ["Serves","greeting","data","for","the","specified","tag","and","run",".","For","details","on","how","to","use","tags","and","runs",",","see","https",":","\/\/github.com\/tensorflow\/tensorboard","#","tags-giving-names-to-data"]
code: def _serve_greetings(self, request):
      """Serves greeting data for the specified tag and run.
  
      For details on how to use tags and runs, see
      https://github.com/tensorflow/tensorboard#tags-giving-names-to-data
      """
      run = request.args.get("run")
      tag = request.args.get("tag")
      ctx = plugin_util.context(request.environ)
      experiment = plugin_util.experiment_id(request.environ)
  
      if run is None or tag is None:
          raise werkzeug.exceptions.BadRequest(
              "Must specify run and tag"
          )
      read_result = self.data_provider.read_tensors(
          ctx,
          downsample=1000,
          plugin_name=metadata.PLUGIN_NAME,
          experiment_id=experiment,
          run_tag_filter=provider.RunTagFilter(runs=[run], tags=[tag]),
      )
  
      data = read_result.get(run, {}).get(tag, [])
      if not data:
          raise werkzeug.exceptions.BadRequest("Invalid run or tag")
      event_data = [
          datum.numpy.item().decode("utf-8") for datum in data
      ]
  
      contents = json.dumps(event_data, sort_keys=True)
      return werkzeug.Response(
          contents, content_type="application/json"
      )
  
file_path: tensorboard/tensorboard/examples/plugins/example_basic/tensorboard_plugin_example/plugin.py
imports: import json
  import os
  from tensorboard import plugin_util
  from tensorboard.data import provider
  from tensorboard.plugins import base_plugin
  import werkzeug
  from werkzeug import wrappers
  from tensorboard_plugin_example import metadata
label_desc: Use image node_id 7 for calling the ExamplePlugin obj's underlying member method code with example usage: obj._serve_greetings(request) and returns: werkzeug