Search in sources :

Example 1 with MetricSearchQuery

use of io.cdap.cdap.api.metrics.MetricSearchQuery in project cdap by caskdata.

the class TestFrameworkTestRun method testTaskMetric.

private void testTaskMetric(String runId, boolean doesExist) throws Exception {
    List<TagValue> tags = new ArrayList<>();
    tags.add(new TagValue(Constants.Metrics.Tag.NAMESPACE, NamespaceId.DEFAULT.getNamespace()));
    tags.add(new TagValue(Constants.Metrics.Tag.APP, DatasetWithMRApp.class.getSimpleName()));
    tags.add(new TagValue(Constants.Metrics.Tag.MAPREDUCE, DatasetWithMRApp.MAPREDUCE_PROGRAM));
    tags.add(new TagValue(Constants.Metrics.Tag.RUN_ID, runId));
    Collection<String> metricNames = getMetricsManager().searchMetricNames(new MetricSearchQuery(0, Integer.MAX_VALUE, Integer.MAX_VALUE, tags));
    // we disabled task level metrics; this should return empty list
    Assert.assertEquals(doesExist, metricNames.contains("user.test.metric"));
}
Also used : MetricSearchQuery(io.cdap.cdap.api.metrics.MetricSearchQuery) ArrayList(java.util.ArrayList) TagValue(io.cdap.cdap.api.metrics.TagValue)

Example 2 with MetricSearchQuery

use of io.cdap.cdap.api.metrics.MetricSearchQuery in project cdap by caskdata.

the class MetricsQueryHelper method getMetrics.

private Collection<String> getMetrics(List<MetricTagValue> tagValues) {
    // we want to search the entire range, so startTimestamp is '0' and end Timestamp is Integer.MAX_VALUE and
    // limit is -1 , to include the entire search result.
    MetricSearchQuery searchQuery = new MetricSearchQuery(0, Integer.MAX_VALUE, -1, toTagValues(tagValues));
    Collection<String> metricNames = metricStore.findMetricNames(searchQuery);
    return Lists.newArrayList(Iterables.filter(metricNames, Predicates.notNull()));
}
Also used : MetricSearchQuery(io.cdap.cdap.api.metrics.MetricSearchQuery)

Example 3 with MetricSearchQuery

use of io.cdap.cdap.api.metrics.MetricSearchQuery in project cdap by caskdata.

the class TestFrameworkTestRun method testTaskTagLevelExists.

private void testTaskTagLevelExists(String appName, String programName, String runId, String datasetName, boolean doesExist) throws Exception {
    List<TagValue> tags = new ArrayList<>();
    tags.add(new TagValue(Constants.Metrics.Tag.NAMESPACE, NamespaceId.DEFAULT.getNamespace()));
    tags.add(new TagValue(Constants.Metrics.Tag.APP, appName));
    tags.add(new TagValue(Constants.Metrics.Tag.MAPREDUCE, programName));
    tags.add(new TagValue(Constants.Metrics.Tag.RUN_ID, runId));
    tags.add(new TagValue(Constants.Metrics.Tag.DATASET, datasetName));
    tags.add(new TagValue(Constants.Metrics.Tag.MR_TASK_TYPE, "m"));
    Collection<TagValue> tagsValues = getMetricsManager().searchTags(new MetricSearchQuery(0, Integer.MAX_VALUE, Integer.MAX_VALUE, tags));
    Assert.assertEquals(doesExist, !tagsValues.isEmpty());
    if (doesExist) {
        Assert.assertEquals(Constants.Metrics.Tag.INSTANCE_ID, tagsValues.iterator().next().getName());
    }
}
Also used : MetricSearchQuery(io.cdap.cdap.api.metrics.MetricSearchQuery) ArrayList(java.util.ArrayList) TagValue(io.cdap.cdap.api.metrics.TagValue)

Aggregations

MetricSearchQuery (io.cdap.cdap.api.metrics.MetricSearchQuery)3 TagValue (io.cdap.cdap.api.metrics.TagValue)2 ArrayList (java.util.ArrayList)2