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