org.elasticsearch.monitor.process.ProcessInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of elasticsearch Show documentation
Show all versions of elasticsearch Show documentation
Elasticsearch subproject :server
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
package org.elasticsearch.monitor.process;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.core.TimeValue;
import org.elasticsearch.node.ReportingService;
import org.elasticsearch.xcontent.XContentBuilder;
import java.io.IOException;
public class ProcessInfo implements ReportingService.Info {
private final long refreshInterval;
private final long id;
private final boolean mlockall;
public ProcessInfo(long id, boolean mlockall, long refreshInterval) {
this.id = id;
this.mlockall = mlockall;
this.refreshInterval = refreshInterval;
}
public ProcessInfo(StreamInput in) throws IOException {
refreshInterval = in.readLong();
id = in.readLong();
mlockall = in.readBoolean();
}
@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeLong(refreshInterval);
out.writeLong(id);
out.writeBoolean(mlockall);
}
public long refreshInterval() {
return this.refreshInterval;
}
public long getRefreshInterval() {
return this.refreshInterval;
}
/**
* The process id.
*/
public long getId() {
return id;
}
public boolean isMlockall() {
return mlockall;
}
static final class Fields {
static final String PROCESS = "process";
static final String REFRESH_INTERVAL = "refresh_interval";
static final String REFRESH_INTERVAL_IN_MILLIS = "refresh_interval_in_millis";
static final String ID = "id";
static final String MLOCKALL = "mlockall";
}
@Override
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
builder.startObject(Fields.PROCESS);
builder.humanReadableField(Fields.REFRESH_INTERVAL_IN_MILLIS, Fields.REFRESH_INTERVAL, new TimeValue(refreshInterval));
builder.field(Fields.ID, id);
builder.field(Fields.MLOCKALL, mlockall);
builder.endObject();
return builder;
}
}