Package org.ngrinder.monitor.controller.model

Source Code of org.ngrinder.monitor.controller.model.SystemDataModel

/*
* Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.ngrinder.monitor.controller.model;

import com.google.gson.annotations.Expose;
import org.ngrinder.model.BaseEntity;
import org.ngrinder.monitor.share.domain.BandWidth;
import org.ngrinder.monitor.share.domain.SystemInfo;

/**
* System data model class, to store the system monitor data.
*
* @author Mavlarn
* @author JunHo Yoon
* @since 2.0
*/
@SuppressWarnings("UnusedDeclaration")
public class SystemDataModel extends BaseEntity<SystemDataModel> {
  private static final long serialVersionUID = 790334226137464982L;

  private String key;

  private String ip;

  private int port;

  private String system;

  private long collectTime;

  @Expose
  private long freeMemory;

  @Expose
  private long totalMemory;

  @Expose
  private float cpuUsedPercentage;

  @Expose
  private long receivedPerSec;

  @Expose
  private long sentPerSec;

  private String version;

  private String customValues;

  /**
   * Default constructor to create empty SystemDataModel.
   */
  public SystemDataModel() {
  }

  /**
   * Constructor to create SystemDataModel with SystemInfo.
   *
   * @param systemInfo is the data collected by monitor
   */
  public SystemDataModel(SystemInfo systemInfo) {
    this(systemInfo, null);
  }

  /**
   * Constructor to create SystemDataModel with SystemInfo.
   *
   * @param systemInfo is the data collected by monitor
   * @param version    version of model.
   */
  public SystemDataModel(SystemInfo systemInfo, String version) {
    this.system = String.valueOf(systemInfo.getSystem());
    this.collectTime = systemInfo.getCollectTime();
    this.freeMemory = systemInfo.getFreeMemory();
    this.totalMemory = systemInfo.getTotalMemory();
    this.cpuUsedPercentage = systemInfo.getCPUUsedPercentage();
    BandWidth bandWidth = systemInfo.getBandWidth();
    if (bandWidth != null) {
      this.receivedPerSec = bandWidth.getReceivedPerSec();
      this.sentPerSec = bandWidth.getSentPerSec();
    }
    this.customValues = systemInfo.getCustomValues();
    this.version = version;
  }

  public String getKey() {
    return key;
  }

  public void setKey(String key) {
    this.key = key;
  }

  public String getIp() {
    return ip;
  }

  public void setIp(String ip) {
    this.ip = ip;
  }

  public int getPort() {
    return port;
  }

  public void setPort(int port) {
    this.port = port;
  }

  public String getSystem() {
    return system;
  }

  public void setSystem(String system) {
    this.system = system;
  }

  public long getCollectTime() {
    return collectTime;
  }

  public void setCollectTime(long collectTime) {
    this.collectTime = collectTime;
  }

  public long getFreeMemory() {
    return freeMemory;
  }

  public void setFreeMemory(long freeMemory) {
    this.freeMemory = freeMemory;
  }

  public long getTotalMemory() {
    return totalMemory;
  }

  public void setTotalMemory(long totalMemory) {
    this.totalMemory = totalMemory;
  }

  public float getCpuUsedPercentage() {
    return cpuUsedPercentage;
  }

  public void setCpuUsedPercentage(float cpuUsedPercentage) {
    this.cpuUsedPercentage = cpuUsedPercentage;
  }

  public String getVersion() {
    return version;
  }

  public void setVersion(String version) {
    this.version = version;
  }

  public long getReceivedPerSec() {
    return receivedPerSec;
  }

  public void setReceivedPerSec(long receivedPerSec) {
    this.receivedPerSec = receivedPerSec;
  }

  public long getSentPerSec() {
    return sentPerSec;
  }

  public void setSentPerSec(long sentPerSec) {
    this.sentPerSec = sentPerSec;
  }

  public String getCustomValues() {
    return customValues;
  }

  public void setCustomValues(String customValues) {
    this.customValues = customValues;
  }

}
TOP

Related Classes of org.ngrinder.monitor.controller.model.SystemDataModel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.