blob: 0e55a8770f373eda6af96a5a614fe8f528614078 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.apache.jackrabbit.oak.plugins.index.property.jmx;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.OpenDataException;
import javax.management.openmbean.TabularData;
import org.apache.jackrabbit.oak.api.jmx.Description;
import org.apache.jackrabbit.oak.api.jmx.Name;
public interface PropertyIndexStatsMBean {
String TYPE = "PropertyIndexStats";
@Description("Determines statistics related to specific property index which can be used to optimize property index " +
"definition. Various limits below are provided to ensure that estimation logic does not consume too much " +
"resources. If any limits are reached then report would not be considered conclusive and would not have " +
"paths set determined")
CompositeData getStatsForSpecificIndex(@Name("indexPath")
@Description("Index path for which stats are to be determined")
String path,
@Name("maxValueCount")
@Description("Maximum number of values to examine. E.g. 100. Stats calculation would " +
"break out after this limit")
int maxValueCount,
@Description("Maximum depth to examine. E.g. 5. Stats calculation would " +
"break out after this limit")
@Name("maxDepth")
int maxDepth,
@Description("Maximum number of unique paths to examine. E.g. 100. Stats " +
"calculation would break out after this limit")
@Name("maxPathCount")
int maxPathCount
) throws OpenDataException;
@Description("Determines statistics related to property index for all property index under given path. Various limits " +
"below are provided to ensure that estimation logic does not consume too much " +
"resources. If any limits are reached then report would not be considered conclusive and would not have " +
"paths set determined")
TabularData getStatsForAllIndexes(
@Name("path")
@Description("Path under which all indexes are to be examined like '/'. Path should not " +
"include oak:index")
String path,
@Name("maxValueCount")
@Description("Maximum number of values to examine. E.g. 100. Stats calculation would " +
"break out after this limit")
int maxValueCount,
@Description("Maximum depth to examine. E.g. 5. Stats calculation would " +
"break out after this limit")
@Name("maxDepth")
int maxDepth,
@Description("Maximum number of unique paths to examine. E.g. 100. Stats " +
"calculation would break out after this limit")
@Name("maxPathCount")
int maxPathCount
) throws OpenDataException;
}