docs: def get_count(self, unique_identifier, metric, start_date=None, end_date=None, **kwargs):
          """
          Gets the count for the ``metric`` for ``unique_identifier``. You can specify a ``start_date``
          and an ``end_date``, to only get metrics within that time range.
  
          :param unique_identifier: Unique string indetifying the object this metric is for
          :param metric: A unique name for the metric you want to track
          :param start_date: Get the specified metrics after this date
          :param end_date: Get the sepcified metrics before this date
          :return: The count for the metric, 0 otherwise
          """
          result = None
          if start_date and end_date:
              start_date, end_date = (start_date, end_date,) if start_date < end_date else (end_date, start_date,)
  
              start_date = start_date if hasattr(start_date, 'date') else datetime.datetime.combine(start_date, datetime.time())
              end_date = end_date if hasattr(end_date, 'date') else datetime.datetime.combine(end_date, datetime.time())
  
              monthly_metrics_dates = list(rrule.rrule(rrule.MONTHLY, dtstart=start_date, bymonthday=1, until=end_date))
  
              #We can sorta optimize this by getting most of the data by month
              if len(monthly_metrics_dates) >= 3:
  
                  with self._analytics_backend.map() as conn:
                          monthly_metric_series, monthly_metric_results, starting_metric_series, starting_metric_results, ending_metric_series, ending_metric_results = self._get_counts(
                              conn, metric, unique_identifier, monthly_metrics_dates, start_date, end_date)
  
                  monthly_metric_series, monthly_metric_results = self._parse_and_process_metrics(monthly_metric_series, monthly_metric_results)
                  starting_metric_series, starting_metric_results = self._parse_and_process_metrics(starting_metric_series, starting_metric_results)
                  ending_metric_series, ending_metric_results = self._parse_and_process_metrics(ending_metric_series, ending_metric_results)
  
                  result = sum(monthly_metric_results.values()) + sum(starting_metric_results.values()) + sum(ending_metric_results.values())
              else:
                  diff = end_date - start_date
                  metric_results = self.get_metric_by_day(unique_identifier, metric, start_date, limit=diff.days + 1)
                  result = sum(metric_results[1].values())
  
          else:
              try:
                  result = int(self._analytics_backend.get(self._prefix + ":" + "analy:%s:count:%s" % (unique_identifier, metric,)))
              except TypeError:
                  result = 0
  
          return result