1 package com.atlassian.vcache.internal;
2
3 import java.util.EnumMap;
4 import java.util.Map;
5
6 /**
7 * Represents the metric for a request.
8 *
9 * @since 1.0
10 */
11 public interface RequestMetrics {
12 /**
13 * Returns a map of metrics for {@link com.atlassian.vcache.JvmCache} accessed for a request.
14 *
15 * @return a map, keyed on cache name, to a map of available metrics.
16 */
17 Map<String, EnumMap<MetricLabel, ? extends LongMetric>> allJvmCacheLongMetrics();
18
19 /**
20 * Returns a map of metrics for {@link com.atlassian.vcache.RequestCache} accessed for a request.
21 *
22 * @return a map, keyed on cache name, to a map of available metrics.
23 */
24 Map<String, EnumMap<MetricLabel, ? extends LongMetric>> allRequestCacheLongMetrics();
25
26 /**
27 * Returns a map of metrics for {@link com.atlassian.vcache.ExternalCache} accessed for a request.
28 *
29 * @return a map, keyed on cache name, to a map of available metrics.
30 */
31 Map<String, EnumMap<MetricLabel, ? extends LongMetric>> allExternalCacheLongMetrics();
32 }