code: def log_metrics(self, metrics_by_name, info):
          
          if self.metrics is None:
              # If, for whatever reason, the metrics collection has not been set
              # do not try to save anything there.
              return
          for key in metrics_by_name:
              query = {"run_id": self.run_entry['_id'],
                       "name": key}
              push = {"steps": {"$each": metrics_by_name[key]["steps"]},
                      "values": {"$each": metrics_by_name[key]["values"]},
                      "timestamps": {"$each": metrics_by_name[key]["timestamps"]}
                      }
              update = {"$push": push}
              result = self.metrics.update_one(query, update, upsert=True)
              if result.upserted_id is not None:
                  # This is the first time we are storing this metric
                  info.setdefault("metrics", []) \
                      .append({"name": key, "id": str(result.upserted_id)})
docs: Store new measurements to the database.
  
          Take measurements and store them into
          the metrics collection in the database.
          Additionally, reference the metrics
          in the info["metrics"] dictionary.