code: def scalars_impl(self, tag, run, experiment, output_format):
      
      if self._db_connection_provider:
        db = self._db_connection_provider()
        # We select for steps greater than -1 because the writer inserts
        # placeholder rows en masse. The check for step filters out those rows.
        cursor = db.execute('''
          SELECT
            Tensors.step,
            Tensors.computed_time,
            Tensors.data,
            Tensors.dtype
          FROM Tensors
          JOIN Tags
            ON Tensors.series = Tags.tag_id
          JOIN Runs
            ON Tags.run_id = Runs.run_id
          WHERE
            /* For backwards compatibility, ignore the experiment id
               for matching purposes if it is empty. */
            (:exp == '' OR Runs.experiment_id == CAST(:exp AS INT))
            AND Runs.run_name = :run
            AND Tags.tag_name = :tag
            AND Tags.plugin_name = :plugin
            AND Tensors.shape = ''
            AND Tensors.step > -1
          ORDER BY Tensors.step
        ''', dict(exp=experiment, run=run, tag=tag, plugin=metadata.PLUGIN_NAME))
        values = [(wall_time, step, self._get_value(data, dtype_enum))
                  for (step, wall_time, data, dtype_enum) in cursor]
      else:
        tensor_events = self._multiplexer.Tensors(run, tag)
        values = [(tensor_event.wall_time,
                   tensor_event.step,
                   tensor_util.make_ndarray(tensor_event.tensor_proto).item())
                  for tensor_event in tensor_events]
  
      if output_format == OutputFormat.CSV:
        string_io = StringIO()
        writer = csv.writer(string_io)
        writer.writerow(['Wall time', 'Step', 'Value'])
        writer.writerows(values)
        return (string_io.getvalue(), 'text/csv')
      else:
        return (values, 'application/json')
docs: Result of the form `(body, mime_type)`.