class_docstr: A thread safe queue for sending metrics to SageMaker.
  
  Args:
      trial_component_name (str): the ARN of the resource
      metric_name (str): the name of the metric
      metrics_client (boto_client): the boto client for SageMaker Metrics service
class_docstr_tok: ["A","thread","safe","queue","for","sending","metrics","to","SageMaker",".","Args",":","trial_component_name","(","str",")",":","the","ARN","of","the","resource","metric_name","(","str",")",":","the","name","of","the","metric","metrics_client","(","boto_client",")",":","the","boto","client","for","SageMaker","Metrics","service"]
docstr: Calls BatchPutMetrics directly on the metrics service.
docstr_tok: ["Calls","BatchPutMetrics","directly","on","the","metrics","service","."]
code: def _send_metrics(self, metrics_batch):
      """Calls BatchPutMetrics directly on the metrics service."""
      request = self._construct_batch_put_metrics_request(metrics_batch)
      self._logged_metrics += len(metrics_batch)
      self._metrics_client.batch_put_metrics(**request)
  
imports: from __future__ import absolute_import
  import datetime
  import logging
  import os
  import time
  import threading
  import queue
  import dateutil.tz
  from sagemaker.session import Session
label_desc: Use image node_id 4 for calling the _MetricQueue obj's underlying member method code with example usage: obj._send_metrics(metrics_batch) without return types