Class MetricsQueryImpl

java.lang.Object
org.camunda.bpm.engine.impl.db.ListQueryParameterObject
org.camunda.bpm.engine.impl.metrics.MetricsQueryImpl
All Implemented Interfaces:
Serializable, Command<Object>, MetricsQuery

public class MetricsQueryImpl extends ListQueryParameterObject implements Serializable, Command<Object>, MetricsQuery
Author:
Daniel Meyer
See Also:
  • Field Details

    • DEFAULT_LIMIT_SELECT_INTERVAL

      public static final int DEFAULT_LIMIT_SELECT_INTERVAL
      See Also:
    • DEFAULT_SELECT_INTERVAL

      public static final long DEFAULT_SELECT_INTERVAL
      See Also:
    • name

      protected String name
    • reporter

      protected String reporter
    • startDate

      protected Date startDate
    • endDate

      protected Date endDate
    • startDateMilliseconds

      protected Long startDateMilliseconds
    • endDateMilliseconds

      protected Long endDateMilliseconds
    • interval

      protected Long interval
    • aggregateByReporter

      protected Boolean aggregateByReporter
    • commandExecutor

      protected transient CommandExecutor commandExecutor
    • callback

      protected Command<Object> callback
      Contains the command implementation which should be executed either metric sum or select metric grouped by time interval. Note: this enables to quit with the enum distinction
  • Constructor Details

    • MetricsQueryImpl

      public MetricsQueryImpl(CommandExecutor commandExecutor)
  • Method Details

    • name

      public MetricsQueryImpl name(String name)
      Specified by:
      name in interface MetricsQuery
      Parameters:
      name - The name of the metrics to query for
      See Also:
      • in Metrics for a list of names which can be used here.
    • reporter

      public MetricsQuery reporter(String reporter)
      Description copied from interface: MetricsQuery
      Restrict to data collected by the reported with the given identifier
      Specified by:
      reporter in interface MetricsQuery
    • startDate

      public MetricsQueryImpl startDate(Date startDate)
      Description copied from interface: MetricsQuery
      Restrict to data collected after the given date (inclusive)
      Specified by:
      startDate in interface MetricsQuery
    • endDate

      public MetricsQueryImpl endDate(Date endDate)
      Description copied from interface: MetricsQuery
      Restrict to data collected before the given date (exclusive)
      Specified by:
      endDate in interface MetricsQuery
    • interval

      public List<MetricIntervalValue> interval()
      Description copied from interface: MetricsQuery
      Returns the metrics summed up and aggregated on a time interval. Default interval is 900 (15 minutes). The list size has a maximum of 200 the maximum can be decreased with the MetricsQuery#limit method. Paging is enabled with the help of the offset.
      Specified by:
      interval in interface MetricsQuery
      Returns:
      the aggregated metrics
    • interval

      public List<MetricIntervalValue> interval(long interval)
      Description copied from interface: MetricsQuery
      Returns the metrics summed up and aggregated on a time interval. The size of the interval is given via parameter. The time unit is seconds! The list size has a maximum of 200 the maximum can be decreased with the MetricsQuery#limit method. Paging is enabled with the help of the offset.
      Specified by:
      interval in interface MetricsQuery
      Parameters:
      interval - The time interval on which the metrics should be aggregated. The time unit is seconds.
      Returns:
      the aggregated metrics
    • sum

      public long sum()
      Specified by:
      sum in interface MetricsQuery
      Returns:
      the aggregated sum
    • execute

      public Object execute(CommandContext commandContext)
      Specified by:
      execute in interface Command<Object>
    • offset

      public MetricsQuery offset(int offset)
      Description copied from interface: MetricsQuery
      Sets the offset of the returned results.
      Specified by:
      offset in interface MetricsQuery
      Parameters:
      offset - indicates after which row the result begins
      Returns:
      the adjusted MetricsQuery
    • limit

      public MetricsQuery limit(int maxResults)
      Description copied from interface: MetricsQuery
      Sets the limit row count of the result. Can't be set larger than 200, since it is the maximum row count which should be returned.
      Specified by:
      limit in interface MetricsQuery
      Parameters:
      maxResults - the new row limit of the result
      Returns:
      the adjusted MetricsQuery
    • aggregateByReporter

      public MetricsQuery aggregateByReporter()
      Description copied from interface: MetricsQuery
      Aggregate metrics by reporters
      Specified by:
      aggregateByReporter in interface MetricsQuery
      Returns:
      the adjusted MetricsQuery
    • setMaxResults

      public void setMaxResults(int maxResults)
      Overrides:
      setMaxResults in class ListQueryParameterObject
    • getStartDate

      public Date getStartDate()
    • getEndDate

      public Date getEndDate()
    • getStartDateMilliseconds

      public Long getStartDateMilliseconds()
    • getEndDateMilliseconds

      public Long getEndDateMilliseconds()
    • getName

      public String getName()
    • getReporter

      public String getReporter()
    • getInterval

      public Long getInterval()
    • getMaxResults

      public int getMaxResults()
      Overrides:
      getMaxResults in class ListQueryParameterObject