/** * diqube: Distributed Query Base. * * Copyright (C) 2015 Bastian Gloeckle * * This file is part of diqube. * * diqube is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 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 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/>. */ package org.diqube.queries; import java.util.Map; /** * Data object where statistics about the execution of a query is collected. * * @author Bastian Gloeckle */ public class QueryStats { private long startedUntilDoneMs; private Map<Integer, Long> stepThreadActiveMs; private int numberOfThreads; private int numberOfTemporaryColumnShardsCreated; private int numberOfTemporaryColumnShardsFromCache; private Map<String, Integer> pageAccess; private Map<String, Integer> temporaryPageAccess; private int numberOfPagesInTable; private int numberOfTemporaryPages; private Map<String, Integer> numberOfTemporaryVersionsPerColName; private String nodeName; public QueryStats(String nodeName, long startedUntilDoneMs, Map<Integer, Long> stepThreadActiveMs, int numberOfThreads, int numberOfTemporaryColumnShardsCreated, int numberOfTemporaryColumnShardsFromCache, Map<String, Integer> pageAccess, Map<String, Integer> temporaryPageAccess, int numberOfPagesInTable, int numberOfTemporaryPages, Map<String, Integer> numberOfTemporaryVersionsPerColName) { this.nodeName = nodeName; this.startedUntilDoneMs = startedUntilDoneMs; this.stepThreadActiveMs = stepThreadActiveMs; this.numberOfThreads = numberOfThreads; this.numberOfTemporaryColumnShardsCreated = numberOfTemporaryColumnShardsCreated; this.numberOfTemporaryColumnShardsFromCache = numberOfTemporaryColumnShardsFromCache; this.pageAccess = pageAccess; this.temporaryPageAccess = temporaryPageAccess; this.numberOfPagesInTable = numberOfPagesInTable; this.numberOfTemporaryPages = numberOfTemporaryPages; this.numberOfTemporaryVersionsPerColName = numberOfTemporaryVersionsPerColName; } public long getStartedUntilDoneMs() { return startedUntilDoneMs; } public Map<Integer, Long> getStepThreadActiveMs() { return stepThreadActiveMs; } public int getNumberOfThreads() { return numberOfThreads; } public int getNumberOfTemporaryColumnShardsCreated() { return numberOfTemporaryColumnShardsCreated; } public int getNumberOfTemporaryColumnShardsFromCache() { return numberOfTemporaryColumnShardsFromCache; } public Map<String, Integer> getPageAccess() { return pageAccess; } public Map<String, Integer> getTemporaryPageAccess() { return temporaryPageAccess; } public int getNumberOfPagesInTable() { return numberOfPagesInTable; } public int getNumberOfTemporaryPages() { return numberOfTemporaryPages; } public Map<String, Integer> getNumberOfTemporaryVersionsPerColName() { return numberOfTemporaryVersionsPerColName; } public String getNodeName() { return nodeName; } }