mirror of https://github.com/apache/druid.git
Merge branch 'guice' into guice-rt
This commit is contained in:
commit
3f51ef63a4
|
@ -1,9 +1,29 @@
|
||||||
|
/*
|
||||||
|
* Druid - a distributed column store.
|
||||||
|
* Copyright (C) 2013 Metamarkets Group Inc.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
package com.metamx.druid.http;
|
package com.metamx.druid.http;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.Path;
|
import javax.ws.rs.Path;
|
||||||
import javax.ws.rs.Produces;
|
import javax.ws.rs.Produces;
|
||||||
import javax.ws.rs.core.Response;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
|
@ -11,21 +31,73 @@ import javax.ws.rs.core.Response;
|
||||||
public class StatusResource
|
public class StatusResource
|
||||||
{
|
{
|
||||||
@GET
|
@GET
|
||||||
@Produces("text/plain")
|
@Produces("application/json")
|
||||||
public Response doGet()
|
public Status doGet()
|
||||||
{
|
{
|
||||||
StringBuffer buf = new StringBuffer();
|
return new Status(
|
||||||
|
StatusResource.class.getPackage().getImplementationVersion(),
|
||||||
|
new Memory(Runtime.getRuntime())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
Runtime runtime = Runtime.getRuntime();
|
public static class Status {
|
||||||
long maxMemory = runtime.maxMemory();
|
final String version;
|
||||||
long totalMemory = runtime.totalMemory();
|
final Memory memory;
|
||||||
long freeMemory = runtime.freeMemory();
|
|
||||||
|
|
||||||
buf.append(String.format("Max Memory:\t%,18d\t%1$d%n", maxMemory));
|
public Status(String version, Memory memory)
|
||||||
buf.append(String.format("Total Memory:\t%,18d\t%1$d%n", totalMemory));
|
{
|
||||||
buf.append(String.format("Free Memory:\t%,18d\t%1$d%n", freeMemory));
|
this.version = version;
|
||||||
buf.append(String.format("Used Memory:\t%,18d\t%1$d%n", totalMemory - freeMemory));
|
this.memory = memory;
|
||||||
|
}
|
||||||
|
|
||||||
return Response.ok(buf.toString()).build();
|
@JsonProperty
|
||||||
|
public String getVersion()
|
||||||
|
{
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonProperty
|
||||||
|
public Memory getMemory()
|
||||||
|
{
|
||||||
|
return memory;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Memory {
|
||||||
|
final long maxMemory;
|
||||||
|
final long totalMemory;
|
||||||
|
final long freeMemory;
|
||||||
|
final long usedMemory;
|
||||||
|
|
||||||
|
public Memory(Runtime runtime) {
|
||||||
|
maxMemory = runtime.maxMemory();
|
||||||
|
totalMemory = runtime.totalMemory();
|
||||||
|
freeMemory = runtime.freeMemory();
|
||||||
|
usedMemory = totalMemory - freeMemory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonProperty
|
||||||
|
public long getMaxMemory()
|
||||||
|
{
|
||||||
|
return maxMemory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonProperty
|
||||||
|
public long getTotalMemory()
|
||||||
|
{
|
||||||
|
return totalMemory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonProperty
|
||||||
|
public long getFreeMemory()
|
||||||
|
{
|
||||||
|
return freeMemory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonProperty
|
||||||
|
public long getUsedMemory()
|
||||||
|
{
|
||||||
|
return usedMemory;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -211,7 +211,7 @@ public class OmniSegmentLoader implements SegmentLoader
|
||||||
|
|
||||||
private synchronized void addSegment(DataSegment segment)
|
private synchronized void addSegment(DataSegment segment)
|
||||||
{
|
{
|
||||||
if (! segments.add(segment)) {
|
if (segments.add(segment)) {
|
||||||
currSize += segment.getSize();
|
currSize += segment.getSize();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -210,7 +210,7 @@ public class SingleSegmentLoader implements SegmentLoader
|
||||||
|
|
||||||
private synchronized void addSegment(DataSegment segment)
|
private synchronized void addSegment(DataSegment segment)
|
||||||
{
|
{
|
||||||
if (! segments.add(segment)) {
|
if (segments.add(segment)) {
|
||||||
currSize += segment.getSize();
|
currSize += segment.getSize();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue