private function addWithFormattedHour(
		EntryInterface $entry,
		$dateTimeFormat
	) {
		$entryKey = $this->generateEntryKey(
			$entry->getToken(),
			$entry->getEvent(),
			$entry->getCreatedAt()->format($dateTimeFormat)
		);

		$entryType = $entry->getType();

		/**
		 * If the entry must be treated as a beacon.
		 */
		if ($entryType & ElcodiMetricTypes::TYPE_BEACON_UNIQUE) {
			$this->addBeaconMetricUnique($entry, $entryKey);
		}

		/**
		 * If the entry must be treated as a beacon.
		 */
		if ($entryType & ElcodiMetricTypes::TYPE_BEACON_TOTAL) {
			$this->addBeaconMetricTotal($entryKey);
		}

		/**
		 * If the entry must be treated as an accumulated metric.
		 */
		if ($entryType & ElcodiMetricTypes::TYPE_ACCUMULATED) {
			$this->addAccumulativeEntry($entry, $entryKey);
		}

		/**
		 * If the entry must be treated as a distributed metric.
		 */
		if ($entryType & ElcodiMetricTypes::TYPE_DISTRIBUTIVE) {
			$this->addDistributedEntry($entry, $entryKey);
		}

		return $this;
	}