public String toSerializable()

in frontend/server/src/main/java/com/amazonaws/ml/mms/util/logging/QLogLayout.java [90:151]


    public String toSerializable(LogEvent event) {
        Message eventMessage = event.getMessage();
        if (eventMessage == null || eventMessage.getParameters() == null) {
            return null;
        }
        String programName =
                getStringOrDefault(System.getenv("MXNETMODELSERVER_PROGRAM"), "MXNetModelServer");
        String domain = getStringOrDefault(System.getenv("DOMAIN"), "Unknown");
        long currentTimeInSec = System.currentTimeMillis() / 1000;
        Object[] parameters = eventMessage.getParameters();

        StringBuilder stringBuilder = new StringBuilder();
        for (Object obj : parameters) {
            if (obj instanceof Metric) {
                Metric metric = (Metric) obj;
                String marketPlace = System.getenv("REALM");

                stringBuilder.append("HostName=").append(metric.getHostName());

                if (metric.getRequestId() != null && !metric.getRequestId().isEmpty()) {
                    stringBuilder.append("\nRequestId=").append(metric.getRequestId());
                }

                // Marketplace format should be : <programName>:<domain>:<realm>
                if (marketPlace != null && !marketPlace.isEmpty()) {
                    stringBuilder
                            .append("\nMarketplace=")
                            .append(programName)
                            .append(':')
                            .append(domain)
                            .append(':')
                            .append(marketPlace);
                }

                stringBuilder
                        .append("\nStartTime=")
                        .append(
                                getStringOrDefault(
                                        metric.getTimestamp(), Long.toString(currentTimeInSec)));

                stringBuilder
                        .append("\nProgram=")
                        .append(programName)
                        .append("\nMetrics=")
                        .append(metric.getMetricName())
                        .append('=')
                        .append(metric.getValue())
                        .append(' ')
                        .append(metric.getUnit());
                for (Dimension dimension : metric.getDimensions()) {
                    stringBuilder
                            .append(' ')
                            .append(dimension.getName())
                            .append('|')
                            .append(dimension.getValue())
                            .append(' ');
                }
                stringBuilder.append("\nEOE\n");
            }
        }
        return stringBuilder.toString();
    }