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()); } }