List of usage examples for org.apache.http.client.utils URIBuilder getPath
public String getPath()
From source file:org.apache.ambari.server.controller.ganglia.GangliaPropertyProviderTest.java
@Test public void testPopulateResources_params_category3() throws Exception { TestStreamProvider streamProvider = new TestStreamProvider("flume_ganglia_data.txt"); TestGangliaHostProvider hostProvider = new TestGangliaHostProvider(); Map<String, Map<String, PropertyInfo>> gangliaPropertyIds = PropertyHelper .getGangliaPropertyIds(Resource.Type.HostComponent); GangliaPropertyProvider propertyProvider = new GangliaHostComponentPropertyProvider(gangliaPropertyIds, streamProvider, configuration, hostProvider, CLUSTER_NAME_PROPERTY_ID, HOST_NAME_PROPERTY_ID, COMPONENT_NAME_PROPERTY_ID); // flume/*from ww w .ja va2 s .c o m*/ Resource resource = new ResourceImpl(Resource.Type.HostComponent); resource.setProperty(HOST_NAME_PROPERTY_ID, "ip-10-39-113-33.ec2.internal"); resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "FLUME_HANDLER"); // only ask for one property Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>(); temporalInfoMap.put(FLUME_CATEGORY3, new TemporalInfoImpl(10L, 20L, 1L)); Request request = PropertyHelper.getReadRequest(Collections.singleton(FLUME_CATEGORY3), temporalInfoMap); Assert.assertEquals(1, propertyProvider.populateResources(Collections.singleton(resource), request, null).size()); List<String> metricsRegexes = new ArrayList<String>(); metricsRegexes.add("metrics/flume/$1/CHANNEL/$2/"); metricsRegexes.add(FLUME_CHANNEL_CAPACITY_PROPERTY); String metricsList = getMetricsRegexes(metricsRegexes, gangliaPropertyIds, "FLUME_HANDLER"); URIBuilder expectedUri = new URIBuilder(); expectedUri.setScheme((configuration.isGangliaSSL() ? "https" : "http")); expectedUri.setHost("domU-12-31-39-0E-34-E1.compute-1.internal"); expectedUri.setPath("/cgi-bin/rrd.py"); expectedUri.setParameter("c", "HDPFlumeServer,HDPSlaves"); expectedUri.setParameter("h", "ip-10-39-113-33.ec2.internal"); expectedUri.setParameter("m", metricsList); expectedUri.setParameter("s", "10"); expectedUri.setParameter("e", "20"); expectedUri.setParameter("r", "1"); URIBuilder actualUri = new URIBuilder(streamProvider.getLastSpec()); Assert.assertEquals(expectedUri.getScheme(), actualUri.getScheme()); Assert.assertEquals(expectedUri.getHost(), actualUri.getHost()); Assert.assertEquals(expectedUri.getPath(), actualUri.getPath()); Assert.assertTrue(isUrlParamsEquals(actualUri, expectedUri)); Assert.assertEquals(11, PropertyHelper.getProperties(resource).size()); Assert.assertNotNull(resource.getPropertyValue(FLUME_CHANNEL_CAPACITY_PROPERTY)); }
From source file:org.apache.ambari.server.controller.ganglia.GangliaPropertyProviderTest.java
@Test public void testPopulateResources_params_category4() throws Exception { TestStreamProvider streamProvider = new TestStreamProvider("flume_ganglia_data.txt"); TestGangliaHostProvider hostProvider = new TestGangliaHostProvider(); Map<String, Map<String, PropertyInfo>> gangliaPropertyIds = PropertyHelper .getGangliaPropertyIds(Resource.Type.HostComponent); GangliaPropertyProvider propertyProvider = new GangliaHostComponentPropertyProvider(gangliaPropertyIds, streamProvider, configuration, hostProvider, CLUSTER_NAME_PROPERTY_ID, HOST_NAME_PROPERTY_ID, COMPONENT_NAME_PROPERTY_ID); // flume/* ww w . ja v a 2s . c om*/ Resource resource = new ResourceImpl(Resource.Type.HostComponent); resource.setProperty(HOST_NAME_PROPERTY_ID, "ip-10-39-113-33.ec2.internal"); resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "FLUME_HANDLER"); // only ask for one property Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>(); temporalInfoMap.put(FLUME_CATEGORY4, new TemporalInfoImpl(10L, 20L, 1L)); Request request = PropertyHelper.getReadRequest(Collections.singleton(FLUME_CATEGORY4), temporalInfoMap); Assert.assertEquals(1, propertyProvider.populateResources(Collections.singleton(resource), request, null).size()); List<String> metricsRegexes = new ArrayList<String>(); metricsRegexes.add("metrics/flume/$1/CHANNEL/$2"); metricsRegexes.add(FLUME_CHANNEL_CAPACITY_PROPERTY); String metricsList = getMetricsRegexes(metricsRegexes, gangliaPropertyIds, "FLUME_HANDLER"); URIBuilder expectedUri = new URIBuilder(); expectedUri.setScheme((configuration.isGangliaSSL() ? "https" : "http")); expectedUri.setHost("domU-12-31-39-0E-34-E1.compute-1.internal"); expectedUri.setPath("/cgi-bin/rrd.py"); expectedUri.setParameter("c", "HDPFlumeServer,HDPSlaves"); expectedUri.setParameter("h", "ip-10-39-113-33.ec2.internal"); expectedUri.setParameter("m", metricsList); expectedUri.setParameter("s", "10"); expectedUri.setParameter("e", "20"); expectedUri.setParameter("r", "1"); URIBuilder actualUri = new URIBuilder(streamProvider.getLastSpec()); Assert.assertEquals(expectedUri.getScheme(), actualUri.getScheme()); Assert.assertEquals(expectedUri.getHost(), actualUri.getHost()); Assert.assertEquals(expectedUri.getPath(), actualUri.getPath()); Assert.assertTrue(isUrlParamsEquals(actualUri, expectedUri)); Assert.assertEquals(11, PropertyHelper.getProperties(resource).size()); Assert.assertNotNull(resource.getPropertyValue(FLUME_CHANNEL_CAPACITY_PROPERTY)); }
From source file:org.apache.ambari.server.controller.ganglia.GangliaPropertyProviderTest.java
@Test public void testPopulateResources() throws Exception { TestStreamProvider streamProvider = new TestStreamProvider("temporal_ganglia_data.txt"); TestGangliaHostProvider hostProvider = new TestGangliaHostProvider(); Map<String, Map<String, PropertyInfo>> gangliaPropertyIds = PropertyHelper .getGangliaPropertyIds(Resource.Type.HostComponent); GangliaPropertyProvider propertyProvider = new GangliaHostComponentPropertyProvider(gangliaPropertyIds, streamProvider, configuration, hostProvider, CLUSTER_NAME_PROPERTY_ID, HOST_NAME_PROPERTY_ID, COMPONENT_NAME_PROPERTY_ID); // namenode/* ww w . j a va 2s . c o m*/ Resource resource = new ResourceImpl(Resource.Type.HostComponent); resource.setProperty(HOST_NAME_PROPERTY_ID, "domU-12-31-39-0E-34-E1.compute-1.internal"); resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "DATANODE"); // only ask for one property Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>(); temporalInfoMap.put(PROPERTY_ID, new TemporalInfoImpl(10L, 20L, 1L)); Request request = PropertyHelper.getReadRequest(Collections.singleton(PROPERTY_ID), temporalInfoMap); Assert.assertEquals(1, propertyProvider.populateResources(Collections.singleton(resource), request, null).size()); String expected = (configuration.isGangliaSSL() ? "https" : "http") + "://domU-12-31-39-0E-34-E1.compute-1.internal/cgi-bin/rrd.py?c=HDPDataNode%2CHDPSlaves&h=domU-12-31-39-0E-34-E1.compute-1.internal&m=jvm.metrics.gcCount&s=10&e=20&r=1"; Assert.assertEquals(expected, streamProvider.getLastSpec()); Assert.assertEquals(3, PropertyHelper.getProperties(resource).size()); Assert.assertNotNull(resource.getPropertyValue(PROPERTY_ID)); // tasktracker resource = new ResourceImpl(Resource.Type.HostComponent); resource.setProperty(HOST_NAME_PROPERTY_ID, "domU-12-31-39-0E-34-E1.compute-1.internal"); resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "TASKTRACKER"); // only ask for one property temporalInfoMap = new HashMap<String, TemporalInfo>(); Set<String> properties = new HashSet<String>(); String shuffle_exceptions_caught = PropertyHelper.getPropertyId("metrics/mapred/shuffleOutput", "shuffle_exceptions_caught"); String shuffle_failed_outputs = PropertyHelper.getPropertyId("metrics/mapred/shuffleOutput", "shuffle_failed_outputs"); String shuffle_output_bytes = PropertyHelper.getPropertyId("metrics/mapred/shuffleOutput", "shuffle_output_bytes"); String shuffle_success_outputs = PropertyHelper.getPropertyId("metrics/mapred/shuffleOutput", "shuffle_success_outputs"); properties.add(shuffle_exceptions_caught); properties.add(shuffle_failed_outputs); properties.add(shuffle_output_bytes); properties.add(shuffle_success_outputs); request = PropertyHelper.getReadRequest(properties, temporalInfoMap); temporalInfoMap.put(shuffle_exceptions_caught, new TemporalInfoImpl(10L, 20L, 1L)); temporalInfoMap.put(shuffle_failed_outputs, new TemporalInfoImpl(10L, 20L, 1L)); temporalInfoMap.put(shuffle_output_bytes, new TemporalInfoImpl(10L, 20L, 1L)); temporalInfoMap.put(shuffle_success_outputs, new TemporalInfoImpl(10L, 20L, 1L)); Assert.assertEquals(1, propertyProvider.populateResources(Collections.singleton(resource), request, null).size()); List<String> metricsRegexes = new ArrayList<String>(); metricsRegexes.add("metrics/mapred/shuffleOutput/shuffle_exceptions_caught"); metricsRegexes.add("metrics/mapred/shuffleOutput/shuffle_failed_outputs"); metricsRegexes.add("metrics/mapred/shuffleOutput/shuffle_output_bytes"); metricsRegexes.add("metrics/mapred/shuffleOutput/shuffle_success_outputs"); String metricsList = getMetricsRegexes(metricsRegexes, gangliaPropertyIds, "TASKTRACKER"); URIBuilder expectedUri = new URIBuilder(); expectedUri.setScheme((configuration.isGangliaSSL() ? "https" : "http")); expectedUri.setHost("domU-12-31-39-0E-34-E1.compute-1.internal"); expectedUri.setPath("/cgi-bin/rrd.py"); expectedUri.setParameter("c", "HDPTaskTracker,HDPSlaves"); expectedUri.setParameter("h", "domU-12-31-39-0E-34-E1.compute-1.internal"); expectedUri.setParameter("m", metricsList); expectedUri.setParameter("s", "10"); expectedUri.setParameter("e", "20"); expectedUri.setParameter("r", "1"); URIBuilder actualUri = new URIBuilder(streamProvider.getLastSpec()); Assert.assertEquals(expectedUri.getScheme(), actualUri.getScheme()); Assert.assertEquals(expectedUri.getHost(), actualUri.getHost()); Assert.assertEquals(expectedUri.getPath(), actualUri.getPath()); Assert.assertTrue(isUrlParamsEquals(actualUri, expectedUri)); Assert.assertEquals(6, PropertyHelper.getProperties(resource).size()); Assert.assertNotNull(resource.getPropertyValue(shuffle_exceptions_caught)); Number[][] dataPoints = (Number[][]) resource.getPropertyValue(shuffle_exceptions_caught); Assert.assertEquals(106, dataPoints.length); for (int i = 0; i < dataPoints.length; ++i) { Assert.assertEquals(i >= 10 && i < 20 ? 7 : 0.0, dataPoints[i][0]); Assert.assertEquals(360 * i + 1358434800, dataPoints[i][1]); } Assert.assertNotNull(resource.getPropertyValue(shuffle_failed_outputs)); Assert.assertNotNull(resource.getPropertyValue(shuffle_output_bytes)); Assert.assertNotNull(resource.getPropertyValue(shuffle_success_outputs)); }
From source file:it.txt.ens.core.util.parser.ENSResourceURIParser.java
public static ENSResource parse(URI ensResourceURI, ENSResourceFactory factory) throws URIParseException, IllegalArgumentException { // LOGGER.fine("1.1"); URIBuilder builder = new URIBuilder(ensResourceURI); // LOGGER.fine("1.2"); String scheme = builder.getScheme(); // LOGGER.fine("1.3"); if (ENSResource.URI_SCHEME.equals(scheme)) { // LOGGER.fine("1.4"); List<NameValuePair> parameters = builder.getQueryParams(); // LOGGER.fine("1.5"); if (parameters.size() == NUMBER_OF_QUERY_PARAMETERS) { // LOGGER.fine("1.6"); String namespace;//ww w . j a v a2 s . c om String pattern; NameValuePair param1 = parameters.get(0); // LOGGER.fine("1.7"); NameValuePair param2 = parameters.get(1); // LOGGER.fine("1.8"); if (ENSResource.NAMESPACE_PARAMETER_NAME.equals(param1.getName())) { // LOGGER.fine("1.8.1.1"); namespace = param1.getValue(); // LOGGER.fine("1.8.1.2"); } else if (ENSResource.NAMESPACE_PARAMETER_NAME.equals(param2.getName())) { // LOGGER.fine("1.8.2.1"); namespace = param2.getValue(); // LOGGER.fine("1.8.2.2"); } else throw new URIParseException( MessageFormat.format(MESSAGES.getString("URIParser.parse.missingQueryParameter"), ENSResource.NAMESPACE_PARAMETER_NAME)); // LOGGER.fine("1.9"); if (ENSResource.PATTERN_PARAMETER_NAME.equals(param1.getName())) { // LOGGER.fine("1.9.1.1"); pattern = param1.getValue(); // LOGGER.fine("1.9.1.2"); } else if (ENSResource.PATTERN_PARAMETER_NAME.equals(param2.getName())) { // LOGGER.fine("1.9.2.1"); pattern = param2.getValue(); // LOGGER.fine("1.9.2.2"); } else throw new URIParseException( MessageFormat.format(MESSAGES.getString("URIParser.parse.missingQueryParameter"), ENSResource.PATTERN_PARAMETER_NAME)); try { // LOGGER.fine("1.10"); builder.getHost(); // LOGGER.fine("1.11"); builder.getPath(); // LOGGER.fine("1.12"); return factory.create(builder.getHost(), builder.getPath(), namespace, pattern); } catch (URIBuildingException e) { throw new URIParseException("An unexpected exception occurred while creating the ENS resource", e); } } else throw new URIParseException( MessageFormat.format(MESSAGES.getString("URIParser.parse.unexpectedNumberOfQueryParams"), parameters.size(), NUMBER_OF_QUERY_PARAMETERS)); } else throw new URIParseException(MessageFormat.format(MESSAGES.getString("URIParser.parse.unexpectedScheme"), scheme, ENSResource.URI_SCHEME)); }
From source file:org.apache.ambari.server.controller.ganglia.GangliaPropertyProviderTest.java
@Test public void testPopulateResources__LargeNumberOfHostResources() throws Exception { TestStreamProvider streamProvider = new TestStreamProvider("temporal_ganglia_data.txt"); TestGangliaHostProvider hostProvider = new TestGangliaHostProvider(); GangliaPropertyProvider propertyProvider = new GangliaHostPropertyProvider( PropertyHelper.getGangliaPropertyIds(Resource.Type.Host), streamProvider, configuration, hostProvider, CLUSTER_NAME_PROPERTY_ID, HOST_NAME_PROPERTY_ID); Set<Resource> resources = new HashSet<Resource>(); StringBuilder hostsList = new StringBuilder(); for (int i = 0; i < 150; ++i) { Resource resource = new ResourceImpl(Resource.Type.Host); resource.setProperty(HOST_NAME_PROPERTY_ID, "host" + i); resources.add(resource);// w w w.jav a 2s .c o m if (hostsList.length() != 0) hostsList.append("," + "host" + i); else hostsList.append("host" + i); } // only ask for one property Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>(); temporalInfoMap.put(PROPERTY_ID, new TemporalInfoImpl(10L, 20L, 1L)); Request request = PropertyHelper.getReadRequest(Collections.singleton(PROPERTY_ID), temporalInfoMap); Assert.assertEquals(150, propertyProvider.populateResources(resources, request, null).size()); URIBuilder expectedUri = new URIBuilder(); expectedUri.setScheme((configuration.isGangliaSSL() ? "https" : "http")); expectedUri.setHost("domU-12-31-39-0E-34-E1.compute-1.internal"); expectedUri.setPath("/cgi-bin/rrd.py"); expectedUri.setParameter("c", "HDPJobTracker,HDPHBaseMaster,HDPKafka,HDPResourceManager,HDPFlumeServer,HDPSlaves,HDPHistoryServer,HDPJournalNode,HDPTaskTracker,HDPHBaseRegionServer,HDPNameNode"); expectedUri.setParameter("h", hostsList.toString()); expectedUri.setParameter("m", "jvm.metrics.gcCount"); expectedUri.setParameter("s", "10"); expectedUri.setParameter("e", "20"); expectedUri.setParameter("r", "1"); URIBuilder actualUri = new URIBuilder(streamProvider.getLastSpec()); Assert.assertEquals(expectedUri.getScheme(), actualUri.getScheme()); Assert.assertEquals(expectedUri.getHost(), actualUri.getHost()); Assert.assertEquals(expectedUri.getPath(), actualUri.getPath()); Assert.assertTrue(isUrlParamsEquals(actualUri, expectedUri)); }
From source file:org.apache.ambari.server.controller.metrics.ganglia.GangliaPropertyProviderTest.java
@Test public void testPopulateResources() throws Exception { TestStreamProvider streamProvider = new TestStreamProvider("temporal_ganglia_data.txt"); TestGangliaHostProvider hostProvider = new TestGangliaHostProvider(); Map<String, Map<String, PropertyInfo>> gangliaPropertyIds = PropertyHelper .getMetricPropertyIds(Resource.Type.HostComponent); GangliaPropertyProvider propertyProvider = new GangliaHostComponentPropertyProvider(gangliaPropertyIds, streamProvider, configuration, hostProvider, CLUSTER_NAME_PROPERTY_ID, HOST_NAME_PROPERTY_ID, COMPONENT_NAME_PROPERTY_ID); // namenode/* www . j av a 2s .c o m*/ Resource resource = new ResourceImpl(Resource.Type.HostComponent); resource.setProperty(HOST_NAME_PROPERTY_ID, "domU-12-31-39-0E-34-E1.compute-1.internal"); resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "DATANODE"); // only ask for one property Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>(); temporalInfoMap.put(PROPERTY_ID, new TemporalInfoImpl(10L, 20L, 1L)); Request request = PropertyHelper.getReadRequest(Collections.singleton(PROPERTY_ID), temporalInfoMap); Assert.assertEquals(1, propertyProvider.populateResources(Collections.singleton(resource), request, null).size()); String expected = (configuration.isGangliaSSL() ? "https" : "http") + "://domU-12-31-39-0E-34-E1.compute-1.internal/cgi-bin/rrd.py?c=HDPDataNode%2CHDPSlaves&h=domU-12-31-39-0E-34-E1.compute-1.internal&m=jvm.metrics.gcCount&s=10&e=20&r=1"; Assert.assertEquals(expected, streamProvider.getLastSpec()); Assert.assertEquals(3, PropertyHelper.getProperties(resource).size()); Assert.assertNotNull(resource.getPropertyValue(PROPERTY_ID)); // tasktracker resource = new ResourceImpl(Resource.Type.HostComponent); resource.setProperty(HOST_NAME_PROPERTY_ID, "domU-12-31-39-0E-34-E1.compute-1.internal"); resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "TASKTRACKER"); // only ask for one property temporalInfoMap = new HashMap<String, TemporalInfo>(); Set<String> properties = new HashSet<String>(); String shuffle_exceptions_caught = PropertyHelper.getPropertyId("metrics/mapred/shuffleOutput", "shuffle_exceptions_caught"); String shuffle_failed_outputs = PropertyHelper.getPropertyId("metrics/mapred/shuffleOutput", "shuffle_failed_outputs"); String shuffle_output_bytes = PropertyHelper.getPropertyId("metrics/mapred/shuffleOutput", "shuffle_output_bytes"); String shuffle_success_outputs = PropertyHelper.getPropertyId("metrics/mapred/shuffleOutput", "shuffle_success_outputs"); properties.add(shuffle_exceptions_caught); properties.add(shuffle_failed_outputs); properties.add(shuffle_output_bytes); properties.add(shuffle_success_outputs); request = PropertyHelper.getReadRequest(properties, temporalInfoMap); temporalInfoMap.put(shuffle_exceptions_caught, new TemporalInfoImpl(10L, 20L, 1L)); temporalInfoMap.put(shuffle_failed_outputs, new TemporalInfoImpl(10L, 20L, 1L)); temporalInfoMap.put(shuffle_output_bytes, new TemporalInfoImpl(10L, 20L, 1L)); temporalInfoMap.put(shuffle_success_outputs, new TemporalInfoImpl(10L, 20L, 1L)); Assert.assertEquals(1, propertyProvider.populateResources(Collections.singleton(resource), request, null).size()); List<String> metricsRegexes = new ArrayList<String>(); metricsRegexes.add("metrics/mapred/shuffleOutput/shuffle_exceptions_caught"); metricsRegexes.add("metrics/mapred/shuffleOutput/shuffle_failed_outputs"); metricsRegexes.add("metrics/mapred/shuffleOutput/shuffle_output_bytes"); metricsRegexes.add("metrics/mapred/shuffleOutput/shuffle_success_outputs"); String metricsList = getMetricsRegexes(metricsRegexes, gangliaPropertyIds, "TASKTRACKER"); URIBuilder expectedUri = new URIBuilder(); expectedUri.setScheme((configuration.isGangliaSSL() ? "https" : "http")); expectedUri.setHost("domU-12-31-39-0E-34-E1.compute-1.internal"); expectedUri.setPath("/cgi-bin/rrd.py"); expectedUri.setParameter("c", "HDPTaskTracker,HDPSlaves"); expectedUri.setParameter("h", "domU-12-31-39-0E-34-E1.compute-1.internal"); expectedUri.setParameter("m", metricsList); expectedUri.setParameter("s", "10"); expectedUri.setParameter("e", "20"); expectedUri.setParameter("r", "1"); URIBuilder actualUri = new URIBuilder(streamProvider.getLastSpec()); Assert.assertEquals(expectedUri.getScheme(), actualUri.getScheme()); Assert.assertEquals(expectedUri.getHost(), actualUri.getHost()); Assert.assertEquals(expectedUri.getPath(), actualUri.getPath()); Assert.assertTrue(isUrlParamsEquals(actualUri, expectedUri)); Assert.assertEquals(6, PropertyHelper.getProperties(resource).size()); Assert.assertNotNull(resource.getPropertyValue(shuffle_exceptions_caught)); Number[][] dataPoints = (Number[][]) resource.getPropertyValue(shuffle_exceptions_caught); Assert.assertEquals(106, dataPoints.length); for (int i = 0; i < dataPoints.length; ++i) { Assert.assertEquals(i >= 10 && i < 20 ? 7 : 0.0, dataPoints[i][0]); Assert.assertEquals(360 * i + 1358434800, dataPoints[i][1]); } Assert.assertNotNull(resource.getPropertyValue(shuffle_failed_outputs)); Assert.assertNotNull(resource.getPropertyValue(shuffle_output_bytes)); Assert.assertNotNull(resource.getPropertyValue(shuffle_success_outputs)); }
From source file:org.apache.ambari.server.controller.metrics.ganglia.GangliaPropertyProviderTest.java
@Test public void testPopulateResources__LargeNumberOfHostResources() throws Exception { TestStreamProvider streamProvider = new TestStreamProvider("temporal_ganglia_data.txt"); TestGangliaHostProvider hostProvider = new TestGangliaHostProvider(); GangliaPropertyProvider propertyProvider = new GangliaHostPropertyProvider( PropertyHelper.getMetricPropertyIds(Resource.Type.Host), streamProvider, configuration, hostProvider, CLUSTER_NAME_PROPERTY_ID, HOST_NAME_PROPERTY_ID); Set<Resource> resources = new HashSet<Resource>(); StringBuilder hostsList = new StringBuilder(); for (int i = 0; i < 150; ++i) { Resource resource = new ResourceImpl(Resource.Type.Host); resource.setProperty(HOST_NAME_PROPERTY_ID, "host" + i); resources.add(resource);// w w w . jav a 2 s . c om if (hostsList.length() != 0) hostsList.append("," + "host" + i); else hostsList.append("host" + i); } // only ask for one property Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>(); temporalInfoMap.put(PROPERTY_ID, new TemporalInfoImpl(10L, 20L, 1L)); Request request = PropertyHelper.getReadRequest(Collections.singleton(PROPERTY_ID), temporalInfoMap); Assert.assertEquals(150, propertyProvider.populateResources(resources, request, null).size()); URIBuilder expectedUri = new URIBuilder(); expectedUri.setScheme((configuration.isGangliaSSL() ? "https" : "http")); expectedUri.setHost("domU-12-31-39-0E-34-E1.compute-1.internal"); expectedUri.setPath("/cgi-bin/rrd.py"); expectedUri.setParameter("c", "HDPJobTracker,HDPHBaseMaster,HDPResourceManager,HDPFlumeServer,HDPSlaves,HDPHistoryServer,HDPJournalNode,HDPTaskTracker,HDPHBaseRegionServer,HDPNameNode"); expectedUri.setParameter("h", hostsList.toString()); expectedUri.setParameter("m", "jvm.metrics.gcCount"); expectedUri.setParameter("s", "10"); expectedUri.setParameter("e", "20"); expectedUri.setParameter("r", "1"); URIBuilder actualUri = new URIBuilder(streamProvider.getLastSpec()); Assert.assertEquals(expectedUri.getScheme(), actualUri.getScheme()); Assert.assertEquals(expectedUri.getHost(), actualUri.getHost()); Assert.assertEquals(expectedUri.getPath(), actualUri.getPath()); Assert.assertTrue(isUrlParamsEquals(actualUri, expectedUri)); }
From source file:org.apache.ambari.server.controller.metrics.ganglia.GangliaPropertyProviderTest.java
@Test public void testPopulateResources_params() throws Exception { TestStreamProvider streamProvider = new TestStreamProvider("flume_ganglia_data.txt"); TestGangliaHostProvider hostProvider = new TestGangliaHostProvider(); Map<String, Map<String, PropertyInfo>> gangliaPropertyIds = PropertyHelper .getMetricPropertyIds(Resource.Type.HostComponent); GangliaPropertyProvider propertyProvider = new GangliaHostComponentPropertyProvider(gangliaPropertyIds, streamProvider, configuration, hostProvider, CLUSTER_NAME_PROPERTY_ID, HOST_NAME_PROPERTY_ID, COMPONENT_NAME_PROPERTY_ID); // flume//from www. j a v a2 s . c o m Resource resource = new ResourceImpl(Resource.Type.HostComponent); resource.setProperty(HOST_NAME_PROPERTY_ID, "ip-10-39-113-33.ec2.internal"); resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "FLUME_HANDLER"); // only ask for one property Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>(); temporalInfoMap.put(FLUME_CHANNEL_CAPACITY_PROPERTY, new TemporalInfoImpl(10L, 20L, 1L)); Request request = PropertyHelper.getReadRequest(Collections.singleton(FLUME_CHANNEL_CAPACITY_PROPERTY), temporalInfoMap); Assert.assertEquals(1, propertyProvider.populateResources(Collections.singleton(resource), request, null).size()); List<String> metricsRegexes = new ArrayList<String>(); metricsRegexes.add(FLUME_CHANNEL_CAPACITY_PROPERTY); String metricsList = getMetricsRegexes(metricsRegexes, gangliaPropertyIds, "FLUME_HANDLER"); URIBuilder expectedUri = new URIBuilder(); expectedUri.setScheme((configuration.isGangliaSSL() ? "https" : "http")); expectedUri.setHost("domU-12-31-39-0E-34-E1.compute-1.internal"); expectedUri.setPath("/cgi-bin/rrd.py"); expectedUri.setParameter("c", "HDPFlumeServer,HDPSlaves"); expectedUri.setParameter("h", "ip-10-39-113-33.ec2.internal"); expectedUri.setParameter("m", metricsList); expectedUri.setParameter("s", "10"); expectedUri.setParameter("e", "20"); expectedUri.setParameter("r", "1"); URIBuilder actualUri = new URIBuilder(streamProvider.getLastSpec()); Assert.assertEquals(expectedUri.getScheme(), actualUri.getScheme()); Assert.assertEquals(expectedUri.getHost(), actualUri.getHost()); Assert.assertEquals(expectedUri.getPath(), actualUri.getPath()); Assert.assertTrue(isUrlParamsEquals(actualUri, expectedUri)); Assert.assertEquals(3, PropertyHelper.getProperties(resource).size()); Assert.assertNotNull(resource.getPropertyValue(FLUME_CHANNEL_CAPACITY_PROPERTY)); }