Skip to content

Commit 065db6d

Browse files
DEV+INT: update INFO command and Prometheus v2 metrics for search (#1157)
* DEV+INT: update INFO command and Prometheus v2 metrics for search * Move search metrics under shard cat., fix formatting to match page * Apply suggestions from code review Co-authored-by: Rachel Elledge <86307637+rrelledge@users.noreply.github.com> * Apply suggestions from code review --------- Co-authored-by: Rachel Elledge <86307637+rrelledge@users.noreply.github.com>
1 parent 400fcb5 commit 065db6d

File tree

2 files changed

+101
-4
lines changed

2 files changed

+101
-4
lines changed

content/commands/info/index.md

Lines changed: 55 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -493,10 +493,61 @@ The **cluster** section currently only contains a unique field:
493493

494494
* `cluster_enabled`: Indicate Redis cluster is enabled
495495

496-
The **modules** section contains additional information about loaded modules if the modules provide it. The field part of properties lines in this section is always prefixed with the module's name.
497-
498-
The **keyspace** section provides statistics on the main dictionary of each
499-
database.
496+
The **modules** section contains additional information about loaded modules if the modules provide it. The field part of property lines in this section are always prefixed with the module's name.
497+
498+
**RediSearch fields**
499+
500+
* `search_number_of_indexes`: The total number of indexes in the shard. <sup>[1](#tnote-1)</sup>
501+
* `search_number_of_active_indexes`: The total number of indexes running a background indexing and/or background query processing operation. Background indexing refers to vector ingestion process, or in-progress background indexer. <sup>[1](#tnote-1)</sup>
502+
* `search_number_of_active_indexes_running_queries`: The total count of indexes currently running a background query process. <sup>[1](#tnote-1)</sup>
503+
* `search_number_of_active_indexes_indexing`: The total count of indexes currently undergoing a background indexing process. Background indexing refers to a vector ingestion process, or an in-progress background indexer. This metric is limited by the number of WORKER threads allocated for writing operations plus the number of indexes. <sup>[1](#tnote-1)</sup>
504+
* `search_total_active_write_threads`: The total count of background write (indexing) processes currently running in the shard. Background indexing refers to a vector ingestion process, or an in-progress background indexer. This metric is limited by the number of threads allocated for writing operations. <sup>[1](#tnote-1)</sup>
505+
* `search_fields_text_Text`: The total number of `TEXT` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup>
506+
* `search_fields_text_Sortable`: The total number of `SORTABLE TEXT` fields across all indexes in the shard. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup>
507+
* `search_fields_text_NoIndex`: The total number of `NOINDEX TEXT` fields across all indexes in the shard, which are used for sorting only but not indexed. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup>
508+
* `search_fields_numeric_Numeric`: The total number of `NUMERIC` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup>
509+
* `search_fields_numeric_Sortable`: The total number of `SORTABLE NUMERIC` fields across all indexes in the shard. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup>
510+
* `search_fields_numeric_NoIndex`: The total number of `NOINDEX NUMERIC` fields across all indexes in the shard; i.e., used for sorting only but not indexed. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup>
511+
* `search_fields_tag_Tag`: The total number of `TAG` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup>
512+
* `search_fields_tag_Sortable`: The total number of `SORTABLE TAG` fields across all indexes in the shard. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup>
513+
* `search_fields_tag_NoIndex`: The total number of `NOINDEX TAG` fields across all indexes in the shard; i.e., used for sorting only but not indexed. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup>
514+
* `search_fields_tag_CaseSensitive`: The total number of `CASESENSITIVE TAG` fields across all indexes in the shard. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup>
515+
* `search_fields_geo_Geo`: The total number of `GEO` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup>
516+
* `search_fields_geo_Sortable`: The total number of `SORTABLE GEO` fields across all indexes in the shard. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup>
517+
* `search_fields_geo_NoIndex`: The total number of `NOINDEX GEO` fields across all indexes in the shard; i.e., used for sorting only but not indexed. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup>
518+
* `search_fields_vector_Vector`: The total number of `VECTOR` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup>
519+
* `search_fields_vector_Flat`: The total number of `FLAT VECTOR` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup>
520+
* `search_fields_vector_HNSW`: The total number of `HNSW VECTOR` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup>
521+
* `search_fields_geoshape_Geoshape`: The total number of `GEOSHAPE` fields across all indexes in the shard. <sup>[2](#tnote-2)</sup>
522+
* `search_fields_geoshape_Sortable`: The total number of `SORTABLE GEOSHAPE` fields across all indexes in the shard. This field appears only if its value is larger than 0. <sup>[2](#tnote-2)</sup>
523+
* `search_fields_geoshape_NoIndex`: The total number of `NOINDEX GEOSHAPE` fields across all indexes in the shard; i.e., used for sorting only but not indexed. This field appears only if its value is larger than 0. <sup>[2](#tnote-2)</sup>
524+
* `search_fields_<field>_IndexErrors`: The total number of indexing failures caused by attempts to index a document containing <field> field. <sup>[1](#tnote-1)</sup>
525+
* `search_used_memory_indexes`: The total memory allocated by all indexes in the shard in bytes. <sup>[1](#tnote-1)</sup>
526+
* `search_used_memory_indexes_human`: The total memory allocated by all indexes in the shard in MB. <sup>[1](#tnote-1)</sup>
527+
* `search_smallest_memory_index`: The memory usage of the index with the smallest memory usage in the shard in bytes. <sup>[1](#tnote-1)</sup>
528+
* `search_smallest_memory_index_human`: The memory usage of the index with the smallest memory usage in the shard in MB. <sup>[1](#tnote-1)</sup>
529+
* `search_largest_memory_index`: The memory usage of the index with the largest memory usage in the shard in bytes. <sup>[1](#tnote-1)</sup>
530+
* `search_largest_memory_index_human`: The memory usage of the index with the largest memory usage in the shard in MB. <sup>[1](#tnote-1)</sup>
531+
* `search_total_indexing_time`: The total time spent on indexing operations, excluding the background indexing of vectors in the HNSW graph. <sup>[1](#tnote-1)</sup>
532+
* `search_used_memory_vector_index`: The total memory usage of all vector indexes in the shard. <sup>[1](#tnote-1)</sup>
533+
* `search_global_idle`: The total number of user and internal cursors currently holding pending results in the shard. <sup>[1](#tnote-1)</sup>
534+
* `search_global_total`: The total number of user and internal cursors in the shard, either holding pending results or actively executing FT.CURSOR READ. <sup>[1](#tnote-1)</sup>
535+
* `search_bytes_collected`: The total amount of memory freed by the garbage collectors from indexes in the shard memory in bytes. <sup>[1](#tnote-1)</sup>
536+
* `search_total_cycles`: The total number of garbage collection cycles executed. <sup>[1](#tnote-1)</sup>
537+
* `search_total_ms_run`: The total duration of all garbage collection cycles in the shard, measured in milliseconds. <sup>[1](#tnote-1)</sup>
538+
* `search_total_docs_not_collected_by_gc`: The number of documents marked as deleted whose memory has not yet been freed by the garbage collector. <sup>[1](#tnote-1)</sup>
539+
* `search_marked_deleted_vectors`: The number of vectors marked as deleted in the vector indexes that have not yet been cleaned. <sup>[1](#tnote-1)</sup>
540+
* `search_total_queries_processed`: The total number of successful query executions (When using cursors, not counting reading from existing cursors) in the shard. <sup>[1](#tnote-1)</sup>
541+
* `search_total_query_commands`: The total number of successful query command executions (including `FT.SEARCH`, `FT.AGGREGATE`, and `FT.CURSOR READ`). <sup>[1](#tnote-1)</sup>
542+
* `search_total_query_execution_time_ms`: The cumulative execution time of all query commands, including `FT.SEARCH`, `FT.AGGREGATE`, and `FT.CURSOR` READ, measured in ms. <sup>[1](#tnote-1)</sup>
543+
* `search_total_active_queries`: The total number of background queries currently being executed in the shard, excluding `FT.CURSOR READ`. <sup>[1](#tnote-1)</sup>
544+
* `search_errors_indexing_failures`: The total number of indexing failures recorded across all indexes in the shard. <sup>[1](#tnote-1)</sup>
545+
* `search_errors_for_index_with_max_failures`: The number of indexing failures in the index with the highest count of failures. <sup>[1](#tnote-1)</sup>
546+
547+
1. <a name="tnote-1"></a> Available in RediSearch 2.6.
548+
2. <a name="tnote-2"></a> Available in RediSearch 2.8.
549+
550+
The **keyspace** section provides statistics on the main dictionary of each database.
500551
The statistics are the number of keys, and the number of keys with an expiration.
501552

502553
For each database, the following line is added:

content/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,3 +174,49 @@ The v2 metrics in the following tables are available as of Redis Enterprise Soft
174174
| <span class="break-all">redis_server_total_net_output_bytes</span> | Number of bytes sent by the shard; calculate the throughput for a time period by comparing the value at different times |
175175
| <span class="break-all">redis_server_up</span> | Shard is up and running |
176176
| <span class="break-all">redis_server_used_memory</span> | Memory used by shard (in BigRedis this includes flash) (bytes) |
177+
| <span class="break-all">redis_server_search_number_of_indexes</span> | Total number of indexes in the shard <sup>[1](#tnote-1)</sup> |
178+
| <span class="break-all">redis_server_search_number_of_active_indexes</span> | The total number of indexes running a background indexing and/or background query processing operation. Background indexing refers to vector ingestion process, or in-progress background indexer. <sup>[1](#tnote-1)</sup> |
179+
| <span class="break-all">redis_server_search_number_of_active_indexes_running_queries</span> | Total count of indexes currently running a background query process. <sup>[1](#tnote-1)</sup> |
180+
| <span class="break-all">redis_server_search_number_of_active_indexes_indexing</span> | Total count of indexes currently undergoing a background indexing process. Background indexing refers to vector ingestion process, or in-progress background indexer. This metric is limited by the number of WORKER threads allocated for writing operations + the number of indexes. <sup>[1](#tnote-1)</sup> |
181+
| <span class="break-all">redis_server_search_total_active_write_threads</span> | Total count of background write (indexing) processes currently running in the shard. Background indexing refers to vector ingestion process, or in-progress background indexer. This metric is limited by the number of threads allocated for writing operations. <sup>[1](#tnote-1)</sup> |
182+
| <span class="break-all">redis_server_search_fields_text_Text</span> | The total number of `TEXT` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup> |
183+
| <span class="break-all">redis_server_search_fields_text_Sortable</span> | The total number of `SORTABLE TEXT` fields across all indexes in the shard. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup> |
184+
| <span class="break-all">redis_server_search_fields_text_NoIndex</span> | The total number of `NOINDEX TEXT` fields across all indexes in the shard; i.e., used for sorting only but not indexed. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup> |
185+
| <span class="break-all">redis_server_search_fields_numeric_Numeric</span> | The total number of `NUMERIC` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup> |
186+
| <span class="break-all">redis_server_search_fields_numeric_Sortable</span> | The total number of `SORTABLE NUMERIC` fields across all indexes in the shard. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup> |
187+
| <span class="break-all">redis_server_search_fields_numeric_NoIndex</span> | The total number of `NOINDEX NUMERIC` fields across all indexes in the shard, which are used for sorting only but not indexed. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup> |
188+
| <span class="break-all">redis_server_search_fields_tag_Tag</span> | The total number of `TAG` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup> |
189+
| <span class="break-all">redis_server_search_fields_tag_Sortable</span> | The total number of `SORTABLE TAG` fields across all indexes in the shard. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup> |
190+
| <span class="break-all">redis_server_search_fields_tag_NoIndex</span> | The total number of `NOINDEX TAG` fields across all indexes in the shard; i.e., used for sorting only but not indexed. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup> |
191+
| <span class="break-all">redis_server_search_fields_tag_CaseSensitive</span> | The total number of `CASESENSITIVE TAG` fields across all indexes in the shard. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup> |
192+
| <span class="break-all">redis_server_search_fields_geo_Geo</span> | The total number of `GEO` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup> |
193+
| <span class="break-all">redis_server_search_fields_geo_Sortable</span> | The total number of `SORTABLE GEO` fields across all indexes in the shard. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup> |
194+
| <span class="break-all">redis_server_search_fields_geo_NoIndex</span> | The total number of `NOINDEX GEO` fields across all indexes in the shard; i.e., used for sorting only but not indexed. This field appears only if its value is larger than 0. <sup>[1](#tnote-1)</sup> |
195+
| <span class="break-all">redis_server_search_fields_vector_Vector</span> | The total number of `VECTOR` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup> |
196+
| <span class="break-all">redis_server_search_fields_vector_Flat</span> | The total number of `FLAT VECTOR` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup> |
197+
| <span class="break-all">redis_server_search_fields_vector_HNSW</span> | The total number of `HNSW VECTOR` fields across all indexes in the shard. <sup>[1](#tnote-1)</sup> |
198+
| <span class="break-all">redis_server_search_fields_geoshape_Geoshape</span> | The total number of `GEOSHAPE` fields across all indexes in the shard. <sup>[2](#tnote-2)</sup> |
199+
| <span class="break-all">redis_server_search_fields_geoshape_Sortable</span> | The total number of `SORTABLE GEOSHAPE` fields across all indexes in the shard. This field appears only if its value is larger than 0. <sup>[2](#tnote-2)</sup> |
200+
| <span class="break-all">redis_server_search_fields_geoshape_NoIndex</span> | The total number of `NOINDEX GEOSHAPE` fields across all indexes in the shard; i.e., used for sorting only but not indexed. This field appears only if its value is larger than 0. <sup>[2](#tnote-2)</sup> |
201+
| <span class="break-all">redis_server_search_fields_<field>_IndexErrors</span> | The total number of indexing failures caused by attempts to index a document containing `<field>` field. <sup>[1](#tnote-1)</sup> |
202+
| <span class="break-all">redis_server_search_used_memory_indexes</span> | The total memory allocated by all indexes in the shard in bytes. <sup>[1](#tnote-1)</sup> |
203+
| <span class="break-all">redis_server_search_smallest_memory_index</span> | The memory usage of the index with the smallest memory usage in the shard in bytes. <sup>[1](#tnote-1)</sup> |
204+
| <span class="break-all">redis_server_search_largest_memory_index</span> | The memory usage of the index with the largest memory usage in the shard in bytes. <sup>[1](#tnote-1)</sup> |
205+
| <span class="break-all">redis_server_search_total_indexing_time</span> | The total time spent on indexing operations, excluding the background indexing of vectors in the `HNSW` graph. <sup>[1](#tnote-1)</sup> |
206+
| <span class="break-all">redis_server_search_used_memory_vector_index</span> | The total memory usage of all vector indexes in the shard. <sup>[1](#tnote-1)</sup> |
207+
| <span class="break-all">redis_server_search_global_idle</span> | The total number of user and internal cursors currently holding pending results in the shard. <sup>[1](#tnote-1)</sup> |
208+
| <span class="break-all">redis_server_search_global_total</span> | The total number of user and internal cursors in the shard, either holding pending results or actively executing `FT.CURSOR READ`. <sup>[1](#tnote-1)</sup> |
209+
| <span class="break-all">redis_server_search_bytes_collected</span> | The total amount of memory freed by the garbage collectors from indexes in the shard memory in bytes. <sup>[1](#tnote-1)</sup> |
210+
| <span class="break-all">redis_server_search_total_cycles</span> | The total number of garbage collection cycles executed <sup>[1](#tnote-1)</sup> |
211+
| <span class="break-all">redis_server_search_total_ms_run</span> | The total duration of all garbage collection cycles in the shard, measured in milliseconds. <sup>[1](#tnote-1)</sup> |
212+
| <span class="break-all">redis_server_search_total_docs_not_collected_by_gc</span> | The number of documents marked as deleted whose memory has not yet been freed by the garbage collector. <sup>[1](#tnote-1)</sup> |
213+
| <span class="break-all">redis_server_search_marked_deleted_vectors</span> | The number of vectors marked as deleted in the vector indexes that have not yet been cleaned. <sup>[1](#tnote-1)</sup> |
214+
| <span class="break-all">redis_server_search_total_queries_processed</span> | The total number of successful query executions (When using cursors, not counting reading from existing cursors) in the shard. <sup>[1](#tnote-1)</sup> |
215+
| <span class="break-all">redis_server_search_total_query_commands</span> | The total number of successful query command executions (including `FT.SEARCH`, `FT.AGGREGATE`, and `FT.CURSOR READ`). <sup>[1](#tnote-1)</sup> |
216+
| <span class="break-all">redis_server_search_total_query_execution_time_ms</span> | The cumulative execution time of all query commands, including `FT.SEARCH`, `FT.AGGREGATE`, and `FT.CURSOR READ`, measured in ms. <sup>[1](#tnote-1)</sup> |
217+
| <span class="break-all">redis_server_search_total_active_queries</span> | The total number of background queries currently being executed in the shard, excluding `FT.CURSOR READ`. <sup>[1](#tnote-1)</sup> |
218+
| <span class="break-all">redis_server_search_errors_indexing_failures</span> | The total number of indexing failures recorded across all indexes in the shard. <sup>[1](#tnote-1)</sup> |
219+
| <span class="break-all">redis_server_search_errors_for_index_with_max_failures</span> | The number of indexing failures in the index with the highest count of failures. <sup>[1](#tnote-1)</sup> |
220+
221+
1. <a name="tnote-1"></a> Available since RediSearch 2.6.
222+
2. <a name="tnote-2"></a> Available since RediSearch 2.8.

0 commit comments

Comments
 (0)