package com.tesora.dve.db.mysql.libmy; /* * #%L * Tesora Inc. * Database Virtualization Engine * %% * Copyright (C) 2011 - 2014 Tesora Inc. * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License, version 3, * as published by the Free Software Foundation. * * 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 Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * #L% */ import io.netty.buffer.ByteBuf; import java.text.DecimalFormat; import com.tesora.dve.exceptions.PECodingException; import com.tesora.dve.exceptions.PEException; public class MyStatisticsResponse extends MyResponseMessage { long uptime = 0; long threads = 0; long questions = 0; long slowQueries = 0; long opens = 0; long flushTables = 0; long openTables = 0; float queriesPerSecAvg = 0; @Override public void marshallMessage(ByteBuf cb) { StringBuffer message = new StringBuffer(110); message.append("Uptime: ").append(uptime); message.append(" Threads: ").append(threads); message.append(" Questions: ").append(questions); message.append(" Slow queries: ").append(slowQueries); message.append(" Opens: ").append(opens); message.append(" Flush tables: ").append(flushTables); message.append(" Open tables: ").append(openTables); message.append(" Queries per second avg: ").append(new DecimalFormat("#0.000").format(queriesPerSecAvg)); cb.writeBytes(message.toString().getBytes()); } @Override public void unmarshallMessage(ByteBuf cb) throws PEException { throw new PECodingException(getClass().getSimpleName()); } @Override public MyMessageType getMessageType() { throw new PECodingException(getClass().getSimpleName()); } public long getThreads() { return threads; } public void setThreads(long threads) { this.threads = threads; } public void setQueriesPerSecAvg(float qps) { this.queriesPerSecAvg = qps; } public float getQueriesPerSec() { return queriesPerSecAvg; } public long getUptime() { return uptime; } public void setUptime(long uptime) { this.uptime = uptime; } public void setQuestions(long questions) { this.questions = questions; } public void setSlowQueries(long slowQueries) { this.slowQueries = slowQueries; } }