Search in sources :

Example 1 with JetBuildInfo

use of com.hazelcast.instance.JetBuildInfo in project hazelcast by hazelcast.

the class BuildInfoPlugin method run.

@Override
public void run(DiagnosticsLogWriter writer) {
    writer.startSection("BuildInfo");
    writer.writeKeyValueEntry("Build", buildInfo.getBuild());
    // we convert to string to prevent formatting the number
    writer.writeKeyValueEntry("BuildNumber", "" + buildInfo.getBuildNumber());
    writer.writeKeyValueEntry("Revision", buildInfo.getRevision());
    BuildInfo upstreamBuildInfo = buildInfo.getUpstreamBuildInfo();
    if (upstreamBuildInfo != null) {
        writer.writeKeyValueEntry("UpstreamRevision", upstreamBuildInfo.getRevision());
    }
    writer.writeKeyValueEntry("Version", buildInfo.getVersion());
    writer.writeKeyValueEntry("SerialVersion", buildInfo.getSerializationVersion());
    writer.writeKeyValueEntry("Enterprise", buildInfo.isEnterprise());
    JetBuildInfo jetBuildInfo = buildInfo.getJetBuildInfo();
    if (jetBuildInfo != null) {
        writer.writeKeyValueEntry("JetVersion", jetBuildInfo.getVersion());
        writer.writeKeyValueEntry("JetBuild", jetBuildInfo.getBuild());
        writer.writeKeyValueEntry("JetRevision", jetBuildInfo.getRevision());
    }
    writer.endSection();
}
Also used : JetBuildInfo(com.hazelcast.instance.JetBuildInfo) JetBuildInfo(com.hazelcast.instance.JetBuildInfo) BuildInfo(com.hazelcast.instance.BuildInfo)

Example 2 with JetBuildInfo

use of com.hazelcast.instance.JetBuildInfo in project hazelcast by hazelcast.

the class PhoneHome method phoneHome.

public Map<String, String> phoneHome(Node hazelcastNode, String version, boolean isEnterprise) {
    String downloadId = "source";
    InputStream is = null;
    try {
        is = getClass().getClassLoader().getResourceAsStream("hazelcast-download.properties");
        if (is != null) {
            final Properties properties = new Properties();
            properties.load(is);
            downloadId = properties.getProperty("hazelcastDownloadId");
        }
    } catch (IOException ignored) {
        EmptyStatement.ignore(ignored);
    } finally {
        IOUtil.closeResource(is);
    }
    //Calculate native memory usage from native memory config
    NativeMemoryConfig memoryConfig = hazelcastNode.getConfig().getNativeMemoryConfig();
    final ClusterServiceImpl clusterService = hazelcastNode.getClusterService();
    long totalNativeMemorySize = clusterService.getSize(DATA_MEMBER_SELECTOR) * memoryConfig.getSize().bytes();
    String nativeMemoryParameter = (isEnterprise) ? Long.toString(MemoryUnit.BYTES.toGigaBytes(totalNativeMemorySize)) : "0";
    //Calculate connected clients to the cluster.
    Map<ClientType, Integer> clusterClientStats = hazelcastNode.clientEngine.getConnectedClientStats();
    RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
    OperatingSystemMXBean osMxBean = ManagementFactory.getOperatingSystemMXBean();
    Long clusterUpTime = clusterService.getClusterClock().getClusterUpTime();
    PhoneHomeParameterCreator parameterCreator = new PhoneHomeParameterCreator();
    parameterCreator.addParam("version", version);
    parameterCreator.addParam("m", hazelcastNode.getThisUuid());
    parameterCreator.addParam("e", Boolean.toString(isEnterprise));
    parameterCreator.addParam("l", MD5Util.toMD5String(hazelcastNode.getConfig().getLicenseKey()));
    parameterCreator.addParam("p", downloadId);
    parameterCreator.addParam("c", clusterService.getClusterId());
    parameterCreator.addParam("crsz", convertToLetter(clusterService.getMembers().size()));
    parameterCreator.addParam("cssz", convertToLetter(hazelcastNode.clientEngine.getClientEndpointCount()));
    parameterCreator.addParam("hdgb", nativeMemoryParameter);
    parameterCreator.addParam("ccpp", Integer.toString(clusterClientStats.get(ClientType.CPP)));
    parameterCreator.addParam("cdn", Integer.toString(clusterClientStats.get(ClientType.CSHARP)));
    parameterCreator.addParam("cjv", Integer.toString(clusterClientStats.get(ClientType.JAVA)));
    parameterCreator.addParam("cnjs", Integer.toString(clusterClientStats.get(ClientType.NODEJS)));
    parameterCreator.addParam("cpy", Integer.toString(clusterClientStats.get(ClientType.PYTHON)));
    parameterCreator.addParam("cuptm", Long.toString(clusterUpTime));
    parameterCreator.addParam("nuptm", Long.toString(runtimeMxBean.getUptime()));
    parameterCreator.addParam("jvmn", runtimeMxBean.getVmName());
    parameterCreator.addParam("jvmv", System.getProperty("java.version"));
    JetBuildInfo jetBuildInfo = hazelcastNode.getBuildInfo().getJetBuildInfo();
    parameterCreator.addParam("jetv", jetBuildInfo == null ? "" : jetBuildInfo.getVersion());
    try {
        parameterCreator.addParam("osn", osMxBean.getName());
        parameterCreator.addParam("osa", osMxBean.getArch());
        parameterCreator.addParam("osv", osMxBean.getVersion());
    } catch (SecurityException e) {
        parameterCreator.addParam("osn", "N/A");
        parameterCreator.addParam("osa", "N/A");
        parameterCreator.addParam("osv", "N/A");
    }
    String urlStr = BASE_PHONE_HOME_URL + parameterCreator.build();
    fetchWebService(urlStr);
    return parameterCreator.getParameters();
}
Also used : ClientType(com.hazelcast.core.ClientType) JetBuildInfo(com.hazelcast.instance.JetBuildInfo) BufferedInputStream(java.io.BufferedInputStream) InputStream(java.io.InputStream) ClusterServiceImpl(com.hazelcast.internal.cluster.impl.ClusterServiceImpl) IOException(java.io.IOException) RuntimeMXBean(java.lang.management.RuntimeMXBean) Properties(java.util.Properties) NativeMemoryConfig(com.hazelcast.config.NativeMemoryConfig) OperatingSystemMXBean(java.lang.management.OperatingSystemMXBean)

Aggregations

JetBuildInfo (com.hazelcast.instance.JetBuildInfo)2 NativeMemoryConfig (com.hazelcast.config.NativeMemoryConfig)1 ClientType (com.hazelcast.core.ClientType)1 BuildInfo (com.hazelcast.instance.BuildInfo)1 ClusterServiceImpl (com.hazelcast.internal.cluster.impl.ClusterServiceImpl)1 BufferedInputStream (java.io.BufferedInputStream)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 OperatingSystemMXBean (java.lang.management.OperatingSystemMXBean)1 RuntimeMXBean (java.lang.management.RuntimeMXBean)1 Properties (java.util.Properties)1