package com.l7tech.server.service;

import com.l7tech.gateway.common.service.MetricsBin;
import com.l7tech.gateway.common.service.MetricsSummaryBin;
import com.l7tech.gateway.common.service.ServiceHeader;
import com.l7tech.gateway.common.service.ServiceState;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.SaveException;
import java.util.Collection;
import java.util.Map;

public interface ServiceMetricsManager {
   Collection<MetricsSummaryBin> summarizeByPeriod(String var1, Goid[] var2, Integer var3, Long var4, Long var5, boolean var6) throws FindException;

   Map<Goid, MetricsSummaryBin> summarizeByService(String var1, Integer var2, Long var3, Long var4, Goid[] var5, boolean var6) throws FindException;

   MetricsSummaryBin summarizeLatest(String var1, Goid[] var2, int var3, int var4, boolean var5) throws FindException;

   ServiceState getCreatedOrUpdatedServiceState(Goid var1) throws FindException;

   Integer delete(long var1, int var3);

   Collection<ServiceHeader> findAllServiceHeaders() throws FindException;

   void doFlush(ServiceMetrics.MetricsCollectorSet var1, MetricsBin var2);

   void createHourlyBin(Goid var1, ServiceState var2, long var3) throws SaveException;

   void createDailyBin(Goid var1, ServiceState var2, long var3) throws SaveException;
}
