Example usage for com.google.common.net HostAndPort fromString

List of usage examples for com.google.common.net HostAndPort fromString

Introduction

In this page you can find the example usage for com.google.common.net HostAndPort fromString.

Prototype

public static HostAndPort fromString(String hostPortString) 

Source Link

Document

Split a freeform string into a host and port, without strict validation.

Usage

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&nbsp;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&nbsp;Current&nbsp;Operations");
    perTabletResults.setSubCaption("Per-tablet&nbsp;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&nbsp;Avg", new SecondType(), null);
    perTabletResults.addSortableColumn("Minor&nbsp;Std&nbsp;Dev", new SecondType(), null);
    perTabletResults.addSortableColumn("Minor&nbsp;Avg&nbsp;e/s", new NumberType<Double>(), null);
    perTabletResults.addSortableColumn("Major&nbsp;Avg", new SecondType(), null);
    perTabletResults.addSortableColumn("Major&nbsp;Std&nbsp;Dev", new SecondType(), null);
    perTabletResults.addSortableColumn("Major&nbsp;Avg&nbsp;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&nbsp;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&nbsp;Current&nbsp;Operations");
    perTabletResults.setSubCaption("Per-tablet&nbsp;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&nbsp;Avg", new SecondType(), null);
    perTabletResults.addSortableColumn("Minor&nbsp;Std&nbsp;Dev", new SecondType(), null);
    perTabletResults.addSortableColumn("Minor&nbsp;Avg&nbsp;e/s", new NumberType<Double>(), null);
    perTabletResults.addSortableColumn("Major&nbsp;Avg", new SecondType(), null);
    perTabletResults.addSortableColumn("Major&nbsp;Std&nbsp;Dev", new SecondType(), null);
    perTabletResults.addSortableColumn("Major&nbsp;Avg&nbsp;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);
}