All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.datastax.driver.core.MetricsUtil Maven / Gradle / Ivy

Go to download

A driver for DataStax Enterprise (DSE) and Apache Cassandra 1.2+ clusters that works exclusively with the Cassandra Query Language version 3 (CQL3) and Cassandra's binary protocol, supporting DSE-specific features such as geospatial types, DSE Graph and DSE authentication.

There is a newer version: 2.4.0
Show newest version
/*
 * Copyright DataStax, Inc.
 *
 * This software can be used solely with DataStax Enterprise. Please consult the license at
 * http://www.datastax.com/terms/datastax-dse-driver-license-terms
 */
package com.datastax.driver.core;

import java.net.InetAddress;

public class MetricsUtil {

  public static String hostMetricName(String prefix, Host host) {
    EndPoint endPoint = host.getEndPoint();
    if (endPoint instanceof TranslatedAddressEndPoint) {
      InetAddress address = endPoint.resolve().getAddress();
      return hostMetricNameFromAddress(prefix, address);
    } else {
      // We have no guarantee that endpoints resolve to unique addresses
      return prefix + endPoint.toString();
    }
  }

  private static String hostMetricNameFromAddress(String prefix, InetAddress address) {
    StringBuilder result = new StringBuilder(prefix);
    boolean first = true;
    for (byte b : address.getAddress()) {
      if (first) {
        first = false;
      } else {
        result.append('_');
      }
      result.append(b & 0xFF);
    }
    return result.toString();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy