public void trackDelayedAggregatedMetricsTenant(String tenantId, long collectionTimeMs, long delayTimeMs, List<String> delayedMetricNames) {
        if (isTrackingDelayedMetrics) {
            String logMessage = String.format("[TRACKER][DELAYED METRIC] Tenant sending delayed metrics %s", tenantId);
            log.info(logMessage);

            // log individual delayed metrics locator and collectionTime
            double delayMin = delayTimeMs / 1000 / 60;
            logMessage = String.format("[TRACKER][DELAYED METRIC] %s have collectionTime %s which is delayed by %.2f minutes",
                    StringUtils.join(delayedMetricNames, ","),
                        dateFormatter.format(new Date(collectionTimeMs)),
                        delayMin);
            log.info(logMessage);
        }
    }
public void trackDelayedAggregatedMetricsTenant ( String tenantId , long collectionTimeMs , long delayTimeMs , List < String > delayedMetricNames ) { if ( isTrackingDelayedMetrics ) { String logMessage = String . format ( "[TRACKER][DELAYED METRIC] Tenant sending delayed metrics %s" , tenantId ) ; log . info ( logMessage ) ; double delayMin = delayTimeMs / 1000 / 60 ; logMessage = String . format ( "[TRACKER][DELAYED METRIC] %s have collectionTime %s which is delayed by %.2f minutes" , StringUtils . join ( delayedMetricNames , "," ) , dateFormatter . format ( new Date ( collectionTimeMs ) ) , delayMin ) ; log . info ( logMessage ) ; } }
This method logs the delayed aggregated metrics for a particular tenant,
if tracking delayed metric is turned on for this Blueflood service.
Aggregated metrics have one single timestamp for the group of metrics that
are sent in one request.

@param tenantId              the tenantId who's the sender of the metrics
@param collectionTimeMs      the collection timestamp (ms) in request payload
@param delayTimeMs           the delayed time (ms)
@param delayedMetricNames    the list of delayed metrics in request payload