class_docstr: Uses datadog API to send metrics of practically anything measurable.
  
  It's possible to track # of db records inserted/deleted, records read
  from file and many other useful metrics.
  
  Depends on the datadog API, which has to be deployed on the same server where
  Airflow runs.
  
  :param datadog_conn_id: The connection to datadog, containing metadata for api keys.
class_docstr_tok: ["Uses","datadog","API","to","send","metrics","of","practically","anything","measurable",".","It","'s","possible","to","track","#","of","db","records","inserted\/deleted",",","records","read","from","file","and","many","other","useful","metrics",".","Depends","on","the","datadog","API",",","which","has","to","be","deployed","on","the","same","server","where","Airflow","runs",".",":","param","datadog_conn_id",":","The","connection","to","datadog",",","containing","metadata","for","api","keys","."]
docstr: Send a single datapoint metric to Datadog.
  
  :param metric_name: The name of the metric
  :param datapoint: A single integer or float related to the metric
  :param tags: A list of tags associated with the metric
  :param type_: Type of your metric: gauge, rate, or count
  :param interval: If the type of the metric is rate or count, define the corresponding interval
docstr_tok: ["Send","a","single","datapoint","metric","to","Datadog",".",":","param","metric_name",":","The","name","of","the","metric",":","param","datapoint",":","A","single","integer","or","float","related","to","the","metric",":","param","tags",":","A","list","of","tags","associated","with","the","metric",":","param","type_",":","Type","of","your","metric",":","gauge",",","rate",",","or","count",":","param","interval",":","If","the","type","of","the","metric","is","rate","or","count",",","define","the","corresponding","interval"]
code: def send_metric(
      self,
      metric_name: str,
      datapoint: float | int,
      tags: list[str] | None = None,
      type_: str | None = None,
      interval: int | None = None,
  ) -> dict[str, Any]:
      """
      Send a single datapoint metric to Datadog.
  
      :param metric_name: The name of the metric
      :param datapoint: A single integer or float related to the metric
      :param tags: A list of tags associated with the metric
      :param type_: Type of your metric: gauge, rate, or count
      :param interval: If the type of the metric is rate or count, define the corresponding interval
      """
      response = api.Metric.send(
          metric=metric_name,
          points=datapoint,
          host=self.host,
          tags=tags,
          type=type_,
          interval=interval,
      )
  
      self.validate_response(response)
      return response
  
file_path: airflow/airflow/providers/datadog/hooks/datadog.py
imports: from __future__ import annotations
  import time
  from typing import Any
  from datadog import api, initialize
  from airflow.exceptions import AirflowException
  from airflow.hooks.base import BaseHook
  from airflow.utils.log.logging_mixin import LoggingMixin
label_desc: Use image node_id 3 for calling the DatadogHook obj's underlying member method code with example usage: obj.send_metric(metric_name, datapoint, tags, type_, interval) and returns: response