List of usage examples for com.google.common.net HostAndPort fromString
public static HostAndPort fromString(String hostPortString)
From source file:ratpack.server.internal.DefaultPublicAddress.java
private HostAndPort getHostData(Context context) { Headers headers = context.getRequest().getHeaders(); String hostPortString = Strings.emptyToNull(headers.get(HOST.toString())); return hostPortString != null ? HostAndPort.fromString(hostPortString) : null; }
From source file:org.apache.druid.server.DruidNode.java
private void init(String serviceName, String host, Integer plainTextPort, Integer tlsPort, boolean enablePlaintextPort, boolean enableTlsPort) { Preconditions.checkNotNull(serviceName); if (!enableTlsPort && !enablePlaintextPort) { throw new IAE("At least one of the druid.enablePlaintextPort or druid.enableTlsPort needs to be true."); }//from w ww . j ava 2 s .c om this.enablePlaintextPort = enablePlaintextPort; this.enableTlsPort = enableTlsPort; final boolean nullHost = host == null; HostAndPort hostAndPort; Integer portFromHostConfig; if (host != null) { hostAndPort = HostAndPort.fromString(host); host = hostAndPort.getHostText(); portFromHostConfig = hostAndPort.hasPort() ? hostAndPort.getPort() : null; if (plainTextPort != null && portFromHostConfig != null && !plainTextPort.equals(portFromHostConfig)) { throw new IAE("Conflicting host:port [%s] and port [%d] settings", host, plainTextPort); } if (portFromHostConfig != null) { plainTextPort = portFromHostConfig; } } else { host = getDefaultHost(); } if (enablePlaintextPort && enableTlsPort && ((plainTextPort == null || tlsPort == null) || plainTextPort.equals(tlsPort))) { // If both plainTExt and tls are enabled then do not allow plaintextPort to be null or throw new IAE( "plaintextPort and tlsPort cannot be null or same if both http and https connectors are enabled"); } if (enableTlsPort && (tlsPort == null || tlsPort < 0)) { throw new IAE("A valid tlsPort needs to specified when druid.enableTlsPort is set"); } if (enablePlaintextPort) { // to preserve backwards compatible behaviour if (nullHost && plainTextPort == null) { plainTextPort = -1; } else { if (plainTextPort == null) { plainTextPort = SocketUtil.findOpenPort(8080); } } this.plaintextPort = plainTextPort; } else { this.plaintextPort = -1; } if (enableTlsPort) { this.tlsPort = tlsPort; } else { this.tlsPort = -1; } this.serviceName = serviceName; this.host = host; }
From source file:io.bazel.rules.closure.webfiles.server.WebfilesServer.java
/** Runs webfiles server in event loop. */ public void runForever() throws IOException, InterruptedException { WebfilesServerInfo params = config.get(); HostAndPort bind = HostAndPort.fromString(params.getBind()).withDefaultPort(80); try (ServerSocket socket = network.createServerSocket(bind, !params.getFailIfPortInUse())) { if (params.getNoReloader()) { metadataLoader.loadMetadataIntoObjectGraph(); } else {/*from w ww.jav a2 s . c o m*/ metadataReloader.spawn(); } HostAndPort address = HostAndPort.fromParts(bind.getHost(), socket.getLocalPort()); synchronized (this) { checkState(actualAddress == null); actualAddress = address; notify(); } logger.info(String.format("\n%sClosure Rules %s%s%s\n%sListening on: %shttp://%s/%s\n\n", BLUE, BOLD, WebfilesServer.class.getSimpleName(), RESET, BLUE, BOLD, NetworkUtils.createUrlAddress(address), RESET)); while (true) { httpServer.handleOneConnection(socket); } } }
From source file:org.apache.accumulo.server.master.state.TServerInstance.java
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject();/* w w w . j av a 2 s .c o m*/ location = HostAndPort.fromString(in.readObject().toString()); }
From source file:com.github.jcustenborder.kafka.connect.utils.config.ConfigUtils.java
static HostAndPort hostAndPort(String input, Integer defaultPort) { final HostAndPort result = HostAndPort.fromString(input); if (null != defaultPort) { result.withDefaultPort(defaultPort); }//w w w . ja va 2 s . co m return result; }
From source file:org.apache.accumulo.monitor.servlets.TServersServlet.java
@Override protected void pageBody(HttpServletRequest req, HttpServletResponse response, StringBuilder sb) throws Exception { String tserverAddress = req.getParameter("s"); // Check to make sure tserver is a known address boolean tserverExists = false; if (tserverAddress != null && tserverAddress.isEmpty() == false) { for (TabletServerStatus ts : Monitor.getMmi().getTServerInfo()) { if (tserverAddress.equals(ts.getName())) { tserverExists = true;/*from ww w . j a v a 2 s. c o m*/ break; } } } if (tserverAddress == null || tserverAddress.isEmpty() || tserverExists == false) { doBadTserverList(req, sb); doDeadTserverList(req, sb); ArrayList<TabletServerStatus> tservers = new ArrayList<TabletServerStatus>(); if (Monitor.getMmi() != null) tservers.addAll(Monitor.getMmi().tServerInfo); Table tServerList = new Table("tservers", "Tablet Servers"); tServerList.setSubCaption( "Click on the <span style='color: #0000ff;'>server address</span> to view detailed performance statistics for that server."); doTserverList(req, sb, tservers, null, tServerList); return; } double totalElapsedForAll = 0; double splitStdDev = 0; double minorStdDev = 0; double minorQueueStdDev = 0; double majorStdDev = 0; double majorQueueStdDev = 0; double currentMinorAvg = 0; double currentMajorAvg = 0; double currentMinorStdDev = 0; double currentMajorStdDev = 0; TabletStats total = new TabletStats(null, new ActionStats(), new ActionStats(), new ActionStats(), 0, 0, 0, 0); HostAndPort address = HostAndPort.fromString(tserverAddress); TabletStats historical = new TabletStats(null, new ActionStats(), new ActionStats(), new ActionStats(), 0, 0, 0, 0); List<TabletStats> tsStats = new ArrayList<TabletStats>(); try { ClientContext context = Monitor.getContext(); TabletClientService.Client client = ThriftUtil.getClient(new TabletClientService.Client.Factory(), address, context); try { for (String tableId : Monitor.getMmi().tableMap.keySet()) { tsStats.addAll(client.getTabletStats(Tracer.traceInfo(), context.rpcCreds(), tableId)); } historical = client.getHistoricalStats(Tracer.traceInfo(), context.rpcCreds()); } finally { ThriftUtil.returnClient(client); } } catch (Exception e) { banner(sb, "error", "No Such Tablet ServerAvailable"); log.error(e, e); return; } Table perTabletResults = new Table("perTabletResults", "Detailed Current Operations"); perTabletResults.setSubCaption("Per-tablet Details"); perTabletResults.addSortableColumn("Table", new TableLinkType(), null); perTabletResults.addSortableColumn("Tablet"); perTabletResults.addSortableColumn("Entries", new NumberType<Long>(), null); perTabletResults.addSortableColumn("Ingest", new NumberType<Long>(), null); perTabletResults.addSortableColumn("Query", new NumberType<Long>(), null); perTabletResults.addSortableColumn("Minor Avg", new SecondType(), null); perTabletResults.addSortableColumn("Minor Std Dev", new SecondType(), null); perTabletResults.addSortableColumn("Minor Avg e/s", new NumberType<Double>(), null); perTabletResults.addSortableColumn("Major Avg", new SecondType(), null); perTabletResults.addSortableColumn("Major Std Dev", new SecondType(), null); perTabletResults.addSortableColumn("Major Avg e/s", new NumberType<Double>(), null); for (TabletStats info : tsStats) { if (info.extent == null) { historical = info; continue; } total.numEntries += info.numEntries; ActionStatsUpdator.update(total.minors, info.minors); ActionStatsUpdator.update(total.majors, info.majors); KeyExtent extent = new KeyExtent(info.extent); String tableId = extent.getTableId(); MessageDigest digester = MessageDigest.getInstance("MD5"); if (extent.getEndRow() != null && extent.getEndRow().getLength() > 0) { digester.update(extent.getEndRow().getBytes(), 0, extent.getEndRow().getLength()); } String obscuredExtent = Base64.getEncoder().encodeToString(digester.digest()); String displayExtent = String.format("<code>[%s]</code>", obscuredExtent); TableRow row = perTabletResults.prepareRow(); row.add(tableId); row.add(displayExtent); row.add(info.numEntries); row.add(info.ingestRate); row.add(info.queryRate); row.add(info.minors.num != 0 ? info.minors.elapsed / info.minors.num : null); row.add(stddev(info.minors.elapsed, info.minors.num, info.minors.sumDev)); row.add(info.minors.elapsed != 0 ? info.minors.count / info.minors.elapsed : null); row.add(info.majors.num != 0 ? info.majors.elapsed / info.majors.num : null); row.add(stddev(info.majors.elapsed, info.majors.num, info.majors.sumDev)); row.add(info.majors.elapsed != 0 ? info.majors.count / info.majors.elapsed : null); perTabletResults.addRow(row); } // Calculate current averages oldServer adding in historical data if (total.minors.num != 0) currentMinorAvg = (long) (total.minors.elapsed / total.minors.num); if (total.minors.elapsed != 0 && total.minors.num != 0) currentMinorStdDev = stddev(total.minors.elapsed, total.minors.num, total.minors.sumDev); if (total.majors.num != 0) currentMajorAvg = total.majors.elapsed / total.majors.num; if (total.majors.elapsed != 0 && total.majors.num != 0 && total.majors.elapsed > total.majors.num) currentMajorStdDev = stddev(total.majors.elapsed, total.majors.num, total.majors.sumDev); // After these += operations, these variables are now total for current // tablets and historical tablets ActionStatsUpdator.update(total.minors, historical.minors); ActionStatsUpdator.update(total.majors, historical.majors); totalElapsedForAll += total.majors.elapsed + historical.splits.elapsed + total.minors.elapsed; minorStdDev = stddev(total.minors.elapsed, total.minors.num, total.minors.sumDev); minorQueueStdDev = stddev(total.minors.queueTime, total.minors.num, total.minors.queueSumDev); majorStdDev = stddev(total.majors.elapsed, total.majors.num, total.majors.sumDev); majorQueueStdDev = stddev(total.majors.queueTime, total.majors.num, total.majors.queueSumDev); splitStdDev = stddev(historical.splits.num, historical.splits.elapsed, historical.splits.sumDev); doDetailTable(req, sb, address, tsStats.size(), total, historical); doAllTimeTable(req, sb, total, historical, majorQueueStdDev, minorQueueStdDev, totalElapsedForAll, splitStdDev, majorStdDev, minorStdDev); doCurrentTabletOps(req, sb, currentMinorAvg, currentMinorStdDev, currentMajorAvg, currentMajorStdDev); perTabletResults.generate(req, sb); }
From source file:org.apache.accumulo.server.monitor.servlets.TServersServlet.java
@Override protected void pageBody(HttpServletRequest req, HttpServletResponse response, StringBuilder sb) throws Exception { String tserverAddress = req.getParameter("s"); // Check to make sure tserver is a known address boolean tserverExists = false; if (tserverAddress != null && tserverAddress.isEmpty() == false) { for (TabletServerStatus ts : Monitor.getMmi().getTServerInfo()) { if (tserverAddress.equals(ts.getName())) { tserverExists = true;//from w w w .j a va 2 s . c om break; } } } if (tserverAddress == null || tserverAddress.isEmpty() || tserverExists == false) { doBadTserverList(req, sb); doDeadTserverList(req, sb); ArrayList<TabletServerStatus> tservers = new ArrayList<TabletServerStatus>(); if (Monitor.getMmi() != null) tservers.addAll(Monitor.getMmi().tServerInfo); Table tServerList = new Table("tservers", "Tablet Servers"); tServerList.setSubCaption( "Click on the <span style='color: #0000ff;'>server address</span> to view detailed performance statistics for that server."); doTserverList(req, sb, tservers, null, tServerList); return; } double totalElapsedForAll = 0; double splitStdDev = 0; double minorStdDev = 0; double minorQueueStdDev = 0; double majorStdDev = 0; double majorQueueStdDev = 0; double currentMinorAvg = 0; double currentMajorAvg = 0; double currentMinorStdDev = 0; double currentMajorStdDev = 0; TabletStats total = new TabletStats(null, new ActionStats(), new ActionStats(), new ActionStats(), 0, 0, 0, 0); HostAndPort address = HostAndPort.fromString(tserverAddress); TabletStats historical = new TabletStats(null, new ActionStats(), new ActionStats(), new ActionStats(), 0, 0, 0, 0); List<TabletStats> tsStats = new ArrayList<TabletStats>(); try { TabletClientService.Client client = ThriftUtil.getClient(new TabletClientService.Client.Factory(), address, Monitor.getSystemConfiguration()); try { for (String tableId : Monitor.getMmi().tableMap.keySet()) { tsStats.addAll(client.getTabletStats(Tracer.traceInfo(), SystemCredentials.get().toThrift(Monitor.getInstance()), tableId)); } historical = client.getHistoricalStats(Tracer.traceInfo(), SystemCredentials.get().toThrift(Monitor.getInstance())); } finally { ThriftUtil.returnClient(client); } } catch (Exception e) { banner(sb, "error", "No Such Tablet ServerAvailable"); log.error(e, e); return; } Table perTabletResults = new Table("perTabletResults", "Detailed Current Operations"); perTabletResults.setSubCaption("Per-tablet Details"); perTabletResults.addSortableColumn("Table", new TableLinkType(), null); perTabletResults.addSortableColumn("Tablet"); perTabletResults.addSortableColumn("Entries", new NumberType<Long>(), null); perTabletResults.addSortableColumn("Ingest", new NumberType<Long>(), null); perTabletResults.addSortableColumn("Query", new NumberType<Long>(), null); perTabletResults.addSortableColumn("Minor Avg", new SecondType(), null); perTabletResults.addSortableColumn("Minor Std Dev", new SecondType(), null); perTabletResults.addSortableColumn("Minor Avg e/s", new NumberType<Double>(), null); perTabletResults.addSortableColumn("Major Avg", new SecondType(), null); perTabletResults.addSortableColumn("Major Std Dev", new SecondType(), null); perTabletResults.addSortableColumn("Major Avg e/s", new NumberType<Double>(), null); for (TabletStats info : tsStats) { if (info.extent == null) { historical = info; continue; } total.numEntries += info.numEntries; TabletStatsKeeper.update(total.minors, info.minors); TabletStatsKeeper.update(total.majors, info.majors); KeyExtent extent = new KeyExtent(info.extent); String tableId = extent.getTableId().toString(); MessageDigest digester = MessageDigest.getInstance("MD5"); if (extent.getEndRow() != null && extent.getEndRow().getLength() > 0) { digester.update(extent.getEndRow().getBytes(), 0, extent.getEndRow().getLength()); } String obscuredExtent = new String(Base64.encodeBase64(digester.digest())); String displayExtent = String.format("<code>[%s]</code>", obscuredExtent); TableRow row = perTabletResults.prepareRow(); row.add(tableId); row.add(displayExtent); row.add(info.numEntries); row.add(info.ingestRate); row.add(info.queryRate); row.add(info.minors.num != 0 ? info.minors.elapsed / info.minors.num : null); row.add(stddev(info.minors.elapsed, info.minors.num, info.minors.sumDev)); row.add(info.minors.elapsed != 0 ? info.minors.count / info.minors.elapsed : null); row.add(info.majors.num != 0 ? info.majors.elapsed / info.majors.num : null); row.add(stddev(info.majors.elapsed, info.majors.num, info.majors.sumDev)); row.add(info.majors.elapsed != 0 ? info.majors.count / info.majors.elapsed : null); perTabletResults.addRow(row); } // Calculate current averages oldServer adding in historical data if (total.minors.num != 0) currentMinorAvg = (long) (total.minors.elapsed / total.minors.num); if (total.minors.elapsed != 0 && total.minors.num != 0) currentMinorStdDev = stddev(total.minors.elapsed, total.minors.num, total.minors.sumDev); if (total.majors.num != 0) currentMajorAvg = total.majors.elapsed / total.majors.num; if (total.majors.elapsed != 0 && total.majors.num != 0 && total.majors.elapsed > total.majors.num) currentMajorStdDev = stddev(total.majors.elapsed, total.majors.num, total.majors.sumDev); // After these += operations, these variables are now total for current // tablets and historical tablets TabletStatsKeeper.update(total.minors, historical.minors); TabletStatsKeeper.update(total.majors, historical.majors); totalElapsedForAll += total.majors.elapsed + historical.splits.elapsed + total.minors.elapsed; minorStdDev = stddev(total.minors.elapsed, total.minors.num, total.minors.sumDev); minorQueueStdDev = stddev(total.minors.queueTime, total.minors.num, total.minors.queueSumDev); majorStdDev = stddev(total.majors.elapsed, total.majors.num, total.majors.sumDev); majorQueueStdDev = stddev(total.majors.queueTime, total.majors.num, total.majors.queueSumDev); splitStdDev = stddev(historical.splits.num, historical.splits.elapsed, historical.splits.sumDev); doDetailTable(req, sb, address, tsStats.size(), total, historical); doAllTimeTable(req, sb, total, historical, majorQueueStdDev, minorQueueStdDev, totalElapsedForAll, splitStdDev, majorStdDev, minorStdDev); doCurrentTabletOps(req, sb, currentMinorAvg, currentMinorStdDev, currentMajorAvg, currentMajorStdDev); perTabletResults.generate(req, sb); }
From source file:org.apache.phoenix.loadbalancer.service.LoadBalancer.java
private List<HostAndPort> conductSanityCheckAndReturn() throws Exception { Preconditions.checkNotNull(curaFramework, " curator framework in not initialized "); Preconditions.checkNotNull(cache, " cache value is not initialized"); boolean connected = curaFramework.getZookeeperClient().isConnected(); if (!connected) { String message = " Zookeeper seems to be down. The data is stale "; ConnectException exception = new ConnectException(message); LOG.error(message, exception);//from w w w.j a va 2 s . com throw exception; } List<String> currentNodes = curaFramework.getChildren().forPath(CONFIG.getParentPath()); List<HostAndPort> returnNodes = new ArrayList<>(); String nodeAsString = null; for (String node : currentNodes) { try { returnNodes.add(HostAndPort.fromString(node)); } catch (Throwable ex) { LOG.error(" something wrong with node string " + nodeAsString, ex); } } return returnNodes; }
From source file:com.pinterest.secor.tools.ProgressMonitor.java
/** * Helper to publish stats to statsD client *///w w w .java 2s .c om private void exportToStatsD(List<Stat> stats) { HostAndPort hostPort = HostAndPort.fromString(mConfig.getStatsDHostPort()); // group stats by kafka group NonBlockingStatsDClient client = new NonBlockingStatsDClient(mConfig.getKafkaGroup(), hostPort.getHostText(), hostPort.getPort()); for (Stat stat : stats) { @SuppressWarnings("unchecked") Map<String, String> tags = (Map<String, String>) stat.get(Stat.STAT_KEYS.TAGS.getName()); String aspect = new StringBuilder((String) stat.get(Stat.STAT_KEYS.METRIC.getName())).append(PERIOD) .append(tags.get(Stat.STAT_KEYS.TOPIC.getName())).append(PERIOD) .append(tags.get(Stat.STAT_KEYS.PARTITION.getName())).toString(); client.recordGaugeValue(aspect, Long.parseLong((String) stat.get(Stat.STAT_KEYS.VALUE.getName()))); } }
From source file:com.yahoo.omid.metrics.CodahaleMetricsProvider.java
private ScheduledReporter createAndGetConfiguredGraphiteReporter(String prefix, String graphiteHost) { LOG.info("Configuring Graphite reporter. Sendig data to host:port {}", graphiteHost); HostAndPort addr = HostAndPort.fromString(graphiteHost); final Graphite graphite = new Graphite(new InetSocketAddress(addr.getHostText(), addr.getPort())); return GraphiteReporter.forRegistry(metrics).prefixedWith(prefix).convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS).filter(MetricFilter.ALL).build(graphite); }