001/*
002// This software is subject to the terms of the Eclipse Public License v1.0
003// Agreement, available at the following URL:
004// http://www.eclipse.org/legal/epl-v10.html.
005// You must accept the terms of that agreement to use this software.
006//
007// Copyright (C) 2011-2011 Pentaho
008// All Rights Reserved.
009*/
010package mondrian.server.monitor;
011
012/**
013 * Information about the execution of an MDX statement.
014 */
015public class ExecutionInfo extends Info {
016    public final long executionId;
017    public final int phaseCount;
018    public final long cellCacheRequestCount;
019    public final long cellCacheHitCount;
020    public final long cellCacheMissCount;
021    public final long cellCachePendingCount;
022    public final int sqlStatementStartCount;
023    public final int sqlStatementExecuteCount;
024    public final int sqlStatementEndCount;
025    public final long sqlStatementRowFetchCount;
026    public final long sqlStatementExecuteNanos;
027    public final int cellRequestCount;
028
029    public ExecutionInfo(
030        String stack,
031        long executionId,
032        int phaseCount,
033        long cellCacheRequestCount,
034        long cellCacheHitCount,
035        long cellCacheMissCount,
036        long cellCachePendingCount,
037        int sqlStatementStartCount,
038        int sqlStatementExecuteCount,
039        int sqlStatementEndCount,
040        long sqlStatementRowFetchCount,
041        long sqlStatementExecuteNanos,
042        int cellRequestCount)
043    {
044        super(stack);
045        this.executionId = executionId;
046        this.phaseCount = phaseCount;
047        this.cellCacheRequestCount = cellCacheRequestCount;
048        this.cellCacheHitCount = cellCacheHitCount;
049        this.cellCacheMissCount = cellCacheMissCount;
050        this.cellCachePendingCount = cellCachePendingCount;
051        this.sqlStatementStartCount = sqlStatementStartCount;
052        this.sqlStatementExecuteCount = sqlStatementExecuteCount;
053        this.sqlStatementEndCount = sqlStatementEndCount;
054        this.sqlStatementRowFetchCount = sqlStatementRowFetchCount;
055        this.sqlStatementExecuteNanos = sqlStatementExecuteNanos;
056        this.cellRequestCount = cellRequestCount;
057        assert cellCacheRequestCount
058               == cellCacheHitCount
059                  + cellCacheMissCount
060                  + cellCachePendingCount;
061    }
062}
063
064// End ExecutionInfo.java