blob: 5bd22c499976846409c540e09d6b1e2d64b4c724 [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
**
* 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.
**
-->
<!-- This is a diagnostic test configuration file. Diagnostic test driver
reads this file to get the list of tests and their configuration information
Title : Provides brief description of the test
ClassName : Provides the fully qualified java class name that implements the test condition
Description : Provides detailed information about the test describing how it checks for a specific
performance problem.
SuccessThreshold : (value between [0..1])
: Evaluation of a diagnostic test returns its level of impact on the job
performance. If impact value [between 0..1] is equal or greater than the
success threshold, means rule has detected the problem (TEST POSITIVE) else
rule has passed the test (TEST NEGATIVE). The impact level is calculated and
returned by each test's evaluate method. For tests that are boolean in nature
the impact level is either 0 or 1 and success threshold should be 1.
Importance : Indicates relative importance of this diagnostic test among the set of
diagnostic rules defined in this file. Three declarative values that
can be assigned are High, Medium or Low
Prescription : This is an optional element to store the advice to be included in the report upon test failure
This is overwritten in the report by any advice/prescription text returned by getPrescription method of
DiagnosticTest.
InputElement : Input element is made available to the diagnostic test for it to interpret and accept
any parameters specific to the test. These test specific parameters are used to configure
the tests without changing the java code.
-->
<PostExPerformanceDiagnosisTests>
<DiagnosticTest>
<Title><![CDATA[Balanaced Reduce Partitioning]]></Title>
<ClassName><![CDATA[org.apache.hadoop.vaidya.postexdiagnosis.tests.BalancedReducePartitioning]]></ClassName>
<Description><![CDATA[This rule tests as to how well the input to reduce tasks is balanced]]></Description>
<Importance><![CDATA[High]]></Importance>
<SuccessThreshold><![CDATA[0.20]]></SuccessThreshold>
<Prescription><![CDATA[advice]]></Prescription>
<InputElement>
<PercentReduceRecords><![CDATA[0.85]]></PercentReduceRecords>
</InputElement>
</DiagnosticTest>
<DiagnosticTest>
<Title><![CDATA[Impact of Map tasks Re-Execution]]></Title>
<ClassName><![CDATA[org.apache.hadoop.vaidya.postexdiagnosis.tests.MapsReExecutionImpact]]></ClassName>
<Description><![CDATA[This test rule checks percentage of map task re-execution impacting the job performance]]></Description>
<Importance><![CDATA[High]]></Importance>
<SuccessThreshold><![CDATA[0.40]]></SuccessThreshold>
<Prescription><![CDATA[default advice]]></Prescription>
<InputElement>
</InputElement>
</DiagnosticTest>
<DiagnosticTest>
<Title><![CDATA[Impact of Reduce tasks Re-Execution]]></Title>
<ClassName><![CDATA[org.apache.hadoop.vaidya.postexdiagnosis.tests.ReducesReExecutionImpact]]></ClassName>
<Description><![CDATA[This test rule checks percentage of reduce task re-execution impacting the job performance]]></Description>
<Importance><![CDATA[High]]></Importance>
<SuccessThreshold><![CDATA[0.40]]></SuccessThreshold>
<Prescription><![CDATA[default advice]]></Prescription>
<InputElement>
</InputElement>
</DiagnosticTest>
<DiagnosticTest>
<Title><![CDATA[Map and/or Reduce tasks reading HDFS data as a side effect]]></Title>
<ClassName><![CDATA[org.apache.hadoop.vaidya.postexdiagnosis.tests.ReadingHDFSFilesAsSideEffect]]></ClassName>
<Description><![CDATA[This test rule checks if map/reduce tasks are reading data from HDFS as a side effect. More the data read as a side effect can potentially be a bottleneck across parallel execution of map/reduce tasks.]]></Description>
<Importance><![CDATA[High]]></Importance>
<SuccessThreshold><![CDATA[0.05]]></SuccessThreshold>
<Prescription><![CDATA[default advice]]></Prescription>
<InputElement>
<NormalizationFactor>2.0</NormalizationFactor>
</InputElement>
</DiagnosticTest>
<DiagnosticTest>
<Title><![CDATA[Map side disk spill]]></Title>
<ClassName><![CDATA[org.apache.hadoop.vaidya.postexdiagnosis.tests.MapSideDiskSpill]]></ClassName>
<Description><![CDATA[This test rule checks if Map tasks are spilling the data on to the local disk during the map side sorting due to insufficient sort buffer size. The impact is calculated as ratio between local bytes written to map output bytes. Impact is normalized using NormalizationFactor given below and any value greater than or equal to normalization factor is treated as maximum (i.e. 1). ]]></Description>
<Importance><![CDATA[Low]]></Importance>
<SuccessThreshold><![CDATA[0.3]]></SuccessThreshold>
<Prescription><![CDATA[default advice]]></Prescription>
<InputElement>
<NormalizationFactor>3.0</NormalizationFactor>
</InputElement>
</DiagnosticTest>
</PostExPerformanceDiagnosisTests>