Add mango.query_invalid_index counter
Adds a metric to expose the number of Mango queries that could not
use the index specified in the _find query.
diff --git a/src/couch/priv/stats_descriptions.cfg b/src/couch/priv/stats_descriptions.cfg
index ae203bb..0d81ea3 100644
--- a/src/couch/priv/stats_descriptions.cfg
+++ b/src/couch/priv/stats_descriptions.cfg
@@ -302,3 +302,7 @@
{type, counter},
{desc, <<"number of mango queries that could not use an index">>}
]}.
+{[mango, query_invalid_index], [
+ {type, counter},
+ {desc, <<"number of mango queries that generated an invalid index warning">>}
+]}.
diff --git a/src/mango/src/mango_cursor.erl b/src/mango/src/mango_cursor.erl
index f508245..a16e0d5 100644
--- a/src/mango/src/mango_cursor.erl
+++ b/src/mango/src/mango_cursor.erl
@@ -166,6 +166,7 @@
invalid_index_warning_int(Index, {use_index, [DesignId]}) ->
case filter_indexes([Index], DesignId) of
[] ->
+ couch_stats:increment_counter([mango, query_invalid_index]),
Reason = fmt("_design/~s was not used because it does not contain a valid index for this query.",
[ddoc_name(DesignId)]),
[Reason];
@@ -175,6 +176,7 @@
invalid_index_warning_int(Index, {use_index, [DesignId, ViewName]}) ->
case filter_indexes([Index], DesignId, ViewName) of
[] ->
+ couch_stats:increment_counter([mango, query_invalid_index]),
Reason = fmt("_design/~s, ~s was not used because it is not a valid index for this query.",
[ddoc_name(DesignId), ViewName]),
[Reason];