From b12119c55b89ece2495e84fba229d96439e8219b Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Fri, 30 Jul 2010 14:52:40 +0000
Subject: [PATCH] Implements index analysis features. There are 2 components: Index Filter Analyzer : Part of DatabaseEnvironmentProvider, it gathers search filter statistics and displays the index filter, number of hits, max matching entries, and a message. Compound filters are broken down to their basic elements. f an index was not utilized while evaluating the search filter, max matching entries will be -1 and a diagnostic message will be included. The monitor entry also includes when the analyzer was enabled along with the number of total index and unindexed searches processed. 

---
 opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml b/opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml
index 2214a4d..2b529c2 100644
--- a/opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml
+++ b/opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml
@@ -879,4 +879,58 @@
       </ldap:attribute>
     </adm:profile>
   </adm:property>
+  <adm:property name="index-filter-analyzer-enabled" advanced="true">
+    <adm:synopsis>
+      Indicates whether to gather statistical information about the search
+        filters processed by the Directory Server while evaluating the usage of
+        indexes.
+    </adm:synopsis>
+    <adm:description>
+      Analyzing indexes requires gathering search filter usage patterns from
+        user requests, especially for values as specified in the filters and
+        subsequently looking the status of those values into the index files.
+        When a search requests is processed, internal or user generated, a
+        first phase uses indexes to find potential entries to be returned.
+        Depending on the search filter, if the index of one of the specified
+        attributes matches too many entries (exceeds the index entry limit),
+        the search becomes non-indexed. In any case, all entries thus
+        gathered (or the entire DIT) are matched against the filter for
+        actually returning the search result.
+    </adm:description>
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>false</adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+    <adm:syntax>
+      <adm:boolean />
+    </adm:syntax>
+    <adm:profile name="ldap">
+      <ldap:attribute>
+        <ldap:name>ds-cfg-index-filter-analyzer-enabled</ldap:name>
+      </ldap:attribute>
+    </adm:profile>
+  </adm:property>
+  <adm:property name="max-entries" advanced="true">
+    <adm:synopsis>
+      The maximum number of search filter statistics to keep.
+    </adm:synopsis>
+    <adm:description>
+      When the maximum number of search filter is reached, the least used one
+      will be deleted.
+    </adm:description>
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>25</adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+    <adm:syntax>
+      <adm:integer lower-limit="1" />
+    </adm:syntax>
+    <adm:profile name="ldap">
+      <ldap:attribute>
+        <ldap:name>ds-cfg-max-entries</ldap:name>
+      </ldap:attribute>
+    </adm:profile>
+  </adm:property>
 </adm:managed-object>

--
Gitblit v1.10.0