Documentation
¶
Index ¶
- Constants
- Variables
- func CleanupCollectionMetrics(nodeID int64, collection string)
- func CleanupDataCoordSegmentMetrics(collectionID int64, segmentID int64)
- func CleanupDataNodeCollectionMetrics(nodeID int64, collectionID int64, channel string)
- func CleanupQueryNodeCollectionMetrics(nodeID int64, collectionID int64)
- func NormalizeMetricFamilies(metricFamiliesByName map[string]*dto.MetricFamily) []*dto.MetricFamily
- func RegisterDataCoord(registry *prometheus.Registry)
- func RegisterDataNode(registry *prometheus.Registry)
- func RegisterEtcdMetrics(registry *prometheus.Registry)
- func RegisterIndexNode(registry *prometheus.Registry)
- func RegisterMq(registry *prometheus.Registry)
- func RegisterProxy(registry *prometheus.Registry)
- func RegisterQueryCoord(registry *prometheus.Registry)
- func RegisterQueryNode(registry *prometheus.Registry)
- func RegisterRootCoord(registry *prometheus.Registry)
- type CRegistry
- type MilvusRegistry
Constants ¶
View Source
const ( CompactTypeI = "compactTypeI" CompactTypeII = "compactTypeII" CompactInputLabel = "input" CompactInput2Label = "input2" CompactOutputLabel = "output" )
View Source
const ( AbandonLabel = "abandon" SuccessLabel = "success" FailLabel = "fail" TotalLabel = "total" InsertLabel = "insert" DeleteLabel = "delete" UpsertLabel = "upsert" SearchLabel = "search" QueryLabel = "query" CacheHitLabel = "hit" CacheMissLabel = "miss" TimetickLabel = "timetick" AllLabel = "all" UnissuedIndexTaskLabel = "unissued" InProgressIndexTaskLabel = "in-progress" FinishedIndexTaskLabel = "finished" FailedIndexTaskLabel = "failed" RecycledIndexTaskLabel = "recycled" // Note: below must matchcommonpb.SegmentState_name fields. SealedSegmentLabel = "Sealed" GrowingSegmentLabel = "Growing" FlushedSegmentLabel = "Flushed" FlushingSegmentLabel = "Flushing" DroppedSegmentLabel = "Dropped" Leader = "OnLeader" FromLeader = "FromLeader" HookBefore = "before" HookAfter = "after" HookMock = "mock" )
View Source
const ( SegmentGrowTaskLabel = "segment_grow" SegmentReduceTaskLabel = "segment_reduce" SegmentMoveTaskLabel = "segment_move" ChannelGrowTaskLabel = "channel_grow" ChannelReduceTaskLabel = "channel_reduce" ChannelMoveTaskLabel = "channel_move" QueryCoordTaskType = "querycoord_task_type" )
Variables ¶
View Source
var ( //DataCoordNumDataNodes records the num of data nodes managed by DataCoord. DataCoordNumDataNodes = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataCoordRole, Name: "datanode_num", Help: "number of data nodes", }, []string{}) DataCoordNumSegments = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataCoordRole, Name: "segment_num", Help: "number of segments", }, []string{ segmentStateLabelName, }) //DataCoordCollectionNum records the num of collections managed by DataCoord. DataCoordNumCollections = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataCoordRole, Name: "collection_num", Help: "number of collections", }, []string{}) DataCoordNumStoredRows = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataCoordRole, Name: "stored_rows_num", Help: "number of stored rows", }, []string{}) DataCoordNumStoredRowsCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataCoordRole, Name: "stored_rows_count", Help: "count of all stored rows ever", }, []string{}) DataCoordConsumeDataNodeTimeTickLag = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataCoordRole, Name: "consume_datanode_tt_lag_ms", Help: "now time minus tt per physical channel", }, []string{ nodeIDLabelName, channelNameLabelName, }) DataCoordStoredBinlogSize = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataCoordRole, Name: "stored_binlog_size", Help: "binlog size of healthy segments", }, []string{ collectionIDLabelName, segmentIDLabelName, }) DataCoordSegmentBinLogFileCount = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataCoordRole, Name: "segment_binlog_file_count", Help: "number of binlog files for each segment", }, []string{ collectionIDLabelName, segmentIDLabelName, }) // IndexRequestCounter records the number of the index requests. IndexRequestCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataCoordRole, Name: "index_req_count", Help: "number of building index requests ", }, []string{statusLabelName}) // IndexTaskNum records the number of index tasks of each type. IndexTaskNum = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataCoordRole, Name: "index_task_count", Help: "number of index tasks of each type", }, []string{collectionIDLabelName, indexTaskStatusLabelName}) // IndexNodeNum records the number of IndexNodes managed by IndexCoord. IndexNodeNum = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataCoordRole, Name: "index_node_num", Help: "number of IndexNodes managed by IndexCoord", }, []string{}) )
View Source
var ( DataNodeNumFlowGraphs = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "flowgraph_num", Help: "number of flowgraphs", }, []string{ nodeIDLabelName, }) DataNodeConsumeMsgRowsCount = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "msg_rows_count", Help: "count of rows consumed from msgStream", }, []string{ nodeIDLabelName, msgTypeLabelName, }) DataNodeFlushedSize = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "flushed_data_size", Help: "byte size of data flushed to storage", }, []string{ nodeIDLabelName, msgTypeLabelName, }) DataNodeNumProducers = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "producer_num", Help: "number of producers", }, []string{ nodeIDLabelName, }) DataNodeConsumeTimeTickLag = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "consume_tt_lag_ms", Help: "now time minus tt per physical channel", }, []string{ nodeIDLabelName, msgTypeLabelName, collectionIDLabelName, }) DataNodeProduceTimeTickLag = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "produce_tt_lag_ms", Help: "now time minus tt pts per physical channel", }, []string{ nodeIDLabelName, collectionIDLabelName, channelNameLabelName, }) DataNodeConsumeMsgCount = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "consume_msg_count", Help: "count of consumed msg", }, []string{ nodeIDLabelName, msgTypeLabelName, collectionIDLabelName, }) DataNodeEncodeBufferLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "encode_buffer_latency", Help: "latency of encode buffer data", Buckets: buckets, }, []string{ nodeIDLabelName, }) DataNodeSave2StorageLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "save_latency", Help: "latency of saving flush data to storage", Buckets: []float64{0, 10, 100, 200, 400, 1000, 10000}, }, []string{ nodeIDLabelName, msgTypeLabelName, }) DataNodeFlushBufferCount = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "flush_buffer_op_count", Help: "count of flush buffer operations", }, []string{ nodeIDLabelName, statusLabelName, }) DataNodeAutoFlushBufferCount = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "autoflush_buffer_op_count", Help: "count of auto flush buffer operations", }, []string{ nodeIDLabelName, statusLabelName, }) DataNodeCompactionLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "compaction_latency", Help: "latency of compaction operation", Buckets: buckets, }, []string{ nodeIDLabelName, }) // DataNodeFlushReqCounter counts the num of calls of FlushSegments DataNodeFlushReqCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "flush_req_count", Help: "count of flush request", }, []string{ nodeIDLabelName, statusLabelName, }) // DataNodeConsumeBytesCount counts the bytes DataNode consumed from message storage. DataNodeConsumeBytesCount = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "consume_counter", Help: "", }, []string{nodeIDLabelName, msgTypeLabelName}) DataNodeForwardDeleteMsgTimeTaken = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "forward_delete_msg_time_taken_ms", Help: "forward delete message time taken", Buckets: buckets, }, []string{nodeIDLabelName}) DataNodeMsgDispatcherTtLag = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataNodeRole, Name: "msg_dispatcher_tt_lag_ms", Help: "time.Now() sub dispatcher's current consume time", }, []string{ nodeIDLabelName, channelNameLabelName, }) )
View Source
var ( EtcdPutKvSize = prometheus.NewHistogram( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: "etcd", Name: "etcd_kv_size", Help: "kv size stats", Buckets: buckets, }) EtcdRequestLatency = prometheus.NewHistogram( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: "etcd", Name: "client_request_latency", Help: "request latency on the client side ", Buckets: buckets, }) )
View Source
var ( IndexNodeBuildIndexTaskCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.IndexNodeRole, Name: "index_task_count", Help: "number of tasks that index node received", }, []string{nodeIDLabelName, statusLabelName}) IndexNodeLoadFieldLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.IndexNodeRole, Name: "load_field_latency", Help: "latency of loading the field data", Buckets: buckets, }, []string{nodeIDLabelName}) IndexNodeDecodeFieldLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.IndexNodeRole, Name: "decode_field_latency", Help: "latency of decode field data", Buckets: buckets, }, []string{nodeIDLabelName}) IndexNodeKnowhereBuildIndexLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.IndexNodeRole, Name: "build_index_latency", Help: "latency of building the index by knowhere", Buckets: buckets, }, []string{nodeIDLabelName}) IndexNodeEncodeIndexFileLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.IndexNodeRole, Name: "encode_index_latency", Help: "latency of encoding the index file", Buckets: buckets, }, []string{nodeIDLabelName}) IndexNodeSaveIndexFileLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.IndexNodeRole, Name: "save_index_latency", Help: "latency of saving the index file", Buckets: buckets, }, []string{nodeIDLabelName}) )
View Source
var ( ProxyReceivedNQ = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "received_nq", Help: "counter of nq of received search and query requests", }, []string{nodeIDLabelName, queryTypeLabelName, collectionName}) // ProxySearchVectors record the number of vectors search successfully. ProxySearchVectors = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "search_vectors_count", Help: "counter of vectors successfully searched", }, []string{nodeIDLabelName}) // ProxyInsertVectors record the number of vectors insert successfully. ProxyInsertVectors = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "insert_vectors_count", Help: "counter of vectors successfully inserted", }, []string{nodeIDLabelName}) // ProxySQLatency record the latency of search successfully. ProxySQLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "sq_latency", Help: "latency of search or query successfully", Buckets: buckets, }, []string{nodeIDLabelName, queryTypeLabelName}) // ProxyCollectionSQLatency record the latency of search successfully, per collection ProxyCollectionSQLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "collection_sq_latency", Help: "latency of search or query successfully, per collection", Buckets: buckets, }, []string{nodeIDLabelName, queryTypeLabelName, collectionName}) // ProxyMutationLatency record the latency that mutate successfully. ProxyMutationLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "mutation_latency", Help: "latency of insert or delete successfully", Buckets: buckets, }, []string{nodeIDLabelName, msgTypeLabelName}) // ProxyMutationLatency record the latency that mutate successfully, per collection ProxyCollectionMutationLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "collection_mutation_latency", Help: "latency of insert or delete successfully, per collection", Buckets: buckets, }, []string{nodeIDLabelName, msgTypeLabelName, collectionName}) // ProxyWaitForSearchResultLatency record the time that the proxy waits for the search result. ProxyWaitForSearchResultLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "sq_wait_result_latency", Help: "latency that proxy waits for the result", Buckets: buckets, }, []string{nodeIDLabelName, queryTypeLabelName}) // ProxyReduceResultLatency record the time that the proxy reduces search result. ProxyReduceResultLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "sq_reduce_result_latency", Help: "latency that proxy reduces search result", Buckets: buckets, }, []string{nodeIDLabelName, queryTypeLabelName}) // ProxyDecodeResultLatency record the time that the proxy decodes the search result. ProxyDecodeResultLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "sq_decode_result_latency", Help: "latency that proxy decodes the search result", Buckets: buckets, }, []string{nodeIDLabelName, queryTypeLabelName}) // ProxyMsgStreamObjectsForPChan record the number of MsgStream objects per PChannel on each collection_id on Proxy. ProxyMsgStreamObjectsForPChan = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "msgstream_obj_num", Help: "number of MsgStream objects per physical channel", }, []string{nodeIDLabelName, channelNameLabelName}) // ProxySendMutationReqLatency record the latency that Proxy send insert request to MsgStream. ProxySendMutationReqLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "mutation_send_latency", Help: "latency that proxy send insert request to MsgStream", Buckets: buckets, }, []string{nodeIDLabelName, msgTypeLabelName}) // ProxyCacheHitCounter record the number of Proxy cache hits or miss. ProxyCacheStatsCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "cache_hit_count", Help: "count of cache hits/miss", }, []string{nodeIDLabelName, cacheNameLabelName, cacheStateLabelName}) // ProxyUpdateCacheLatency record the time that proxy update cache when cache miss. ProxyUpdateCacheLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "cache_update_latency", Help: "latency that proxy update cache when cache miss", Buckets: buckets, }, []string{nodeIDLabelName}) // ProxySyncTimeTickLag record Proxy synchronization timestamp statistics, differentiated by Channel. ProxySyncTimeTickLag = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "tt_lag_ms", Help: "now time minus tt per physical channel", }, []string{nodeIDLabelName, channelNameLabelName}) // ProxyApplyPrimaryKeyLatency record the latency that apply primary key. ProxyApplyPrimaryKeyLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "apply_pk_latency", Help: "latency that apply primary key", Buckets: buckets, }, []string{nodeIDLabelName}) // ProxyApplyTimestampLatency record the latency that proxy apply timestamp. ProxyApplyTimestampLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "apply_timestamp_latency", Help: "latency that proxy apply timestamp", Buckets: buckets, }, []string{nodeIDLabelName}) // ProxyFunctionCall records the number of times the function of the DDL operation was executed, like `CreateCollection`. ProxyFunctionCall = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "req_count", Help: "count of operation executed", }, []string{nodeIDLabelName, functionLabelName, statusLabelName}) // ProxyReqLatency records the latency that for all requests, like "CreateCollection". ProxyReqLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "req_latency", Help: "latency of each request", Buckets: buckets, }, []string{nodeIDLabelName, functionLabelName}) // ProxyReceiveBytes record the received bytes of messages in Proxy ProxyReceiveBytes = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "receive_bytes_count", Help: "count of bytes received from sdk", }, []string{nodeIDLabelName, msgTypeLabelName, collectionName}) // ProxyReadReqSendBytes record the bytes sent back to client by Proxy ProxyReadReqSendBytes = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "send_bytes_count", Help: "count of bytes sent back to sdk", }, []string{nodeIDLabelName}) // ProxyLimiterRate records rates of rateLimiter in Proxy. ProxyLimiterRate = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "limiter_rate", Help: "", }, []string{nodeIDLabelName, collectionIDLabelName, msgTypeLabelName}) ProxyHookFunc = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "hook_func_count", Help: "the hook function count", }, []string{functionLabelName, fullMethodLabelName}) UserRPCCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.ProxyRole, Name: "user_rpc_count", Help: "the rpc count of a user", }, []string{usernameLabelName}) )
View Source
var ( QueryCoordNumCollections = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryCoordRole, Name: "collection_num", Help: "number of collections", }, []string{}) QueryCoordNumPartitions = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryCoordRole, Name: "partition_num", Help: "number of partitions", }, []string{}) QueryCoordLoadCount = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryCoordRole, Name: "load_req_count", Help: "count of load request", }, []string{ statusLabelName, }) QueryCoordReleaseCount = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryCoordRole, Name: "release_req_count", Help: "count of release request", }, []string{ statusLabelName, }) QueryCoordLoadLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryCoordRole, Name: "load_latency", Help: "latency of load the entire collection", Buckets: []float64{0, 500, 1000, 2000, 5000, 10000, 20000, 50000, 60000, 300000, 600000, 1800000}, }, []string{}) QueryCoordReleaseLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryCoordRole, Name: "release_latency", Help: "latency of release request", Buckets: []float64{0, 5, 10, 20, 40, 100, 200, 400, 1000, 10000}, }, []string{}) QueryCoordTaskNum = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryCoordRole, Name: "task_num", Help: "the number of tasks in QueryCoord's scheduler", }, []string{QueryCoordTaskType}) QueryCoordNumQueryNodes = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryCoordRole, Name: "querynode_num", Help: "number of QueryNodes managered by QueryCoord", }, []string{}) )
View Source
var ( QueryNodeNumCollections = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "collection_num", Help: "number of collections loaded", }, []string{ nodeIDLabelName, }) QueryNodeConsumeTimeTickLag = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "consume_tt_lag_ms", Help: "now time minus tt per physical channel", }, []string{ nodeIDLabelName, msgTypeLabelName, collectionIDLabelName, }) QueryNodeConsumerMsgCount = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "consume_msg_count", Help: "count of consumed msg", }, []string{ nodeIDLabelName, msgTypeLabelName, collectionIDLabelName, }) QueryNodeNumPartitions = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "partition_num", Help: "number of partitions loaded", }, []string{ nodeIDLabelName, }) QueryNodeNumSegments = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "segment_num", Help: "number of segments loaded, clustered by its collection, partition, state and # of indexed fields", }, []string{ nodeIDLabelName, collectionIDLabelName, partitionIDLabelName, segmentStateLabelName, indexCountLabelName, }) QueryNodeNumDmlChannels = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "dml_vchannel_num", Help: "number of dmlChannels watched", }, []string{ nodeIDLabelName, }) QueryNodeNumDeltaChannels = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "delta_vchannel_num", Help: "number of deltaChannels watched", }, []string{ nodeIDLabelName, }) QueryNodeSQCount = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "sq_req_count", Help: "count of search / query request", }, []string{ nodeIDLabelName, queryTypeLabelName, statusLabelName, }) QueryNodeSQReqLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "sq_req_latency", Help: "latency of Search or query requests", Buckets: buckets, }, []string{ nodeIDLabelName, queryTypeLabelName, requestScope, }) QueryNodeSQLatencyInQueue = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "sq_queue_latency", Help: "latency of search or query in queue", Buckets: buckets, }, []string{ nodeIDLabelName, queryTypeLabelName, }) QueryNodeSQSegmentLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "sq_segment_latency", Help: "latency of search or query per segment", Buckets: buckets, }, []string{ nodeIDLabelName, queryTypeLabelName, segmentStateLabelName, }) QueryNodeSQSegmentLatencyInCore = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "sq_core_latency", Help: "latency of search or query latency in segcore", Buckets: buckets, }, []string{ nodeIDLabelName, queryTypeLabelName, }) QueryNodeReduceLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "sq_reduce_latency", Help: "latency of reduce search or query result", Buckets: buckets, }, []string{ nodeIDLabelName, queryTypeLabelName, }) QueryNodeLoadSegmentLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "load_segment_latency", Help: "latency of load per segment", Buckets: buckets, }, []string{ nodeIDLabelName, }) QueryNodeReadTaskUnsolveLen = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "read_task_unsolved_len", Help: "number of unsolved read tasks in unsolvedQueue", }, []string{ nodeIDLabelName, }) QueryNodeReadTaskReadyLen = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "read_task_ready_len", Help: "number of ready read tasks in readyQueue", }, []string{ nodeIDLabelName, }) QueryNodeReadTaskConcurrency = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "read_task_concurrency", Help: "number of concurrent executing read tasks in QueryNode", }, []string{ nodeIDLabelName, }) QueryNodeEstimateCPUUsage = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "estimate_cpu_usage", Help: "estimated cpu usage by the scheduler in QueryNode", }, []string{ nodeIDLabelName, }) QueryNodeSearchGroupNQ = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "search_group_nq", Help: "the number of queries of each grouped search task", Buckets: buckets, }, []string{ nodeIDLabelName, }) QueryNodeSearchNQ = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "search_nq", Help: "the number of queries of each search task", Buckets: buckets, }, []string{ nodeIDLabelName, }) QueryNodeSearchGroupTopK = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "search_group_topk", Help: "the topK of each grouped search task", Buckets: buckets, }, []string{ nodeIDLabelName, }) QueryNodeSearchTopK = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "search_topk", Help: "the top of each search task", Buckets: buckets, }, []string{ nodeIDLabelName, }) QueryNodeSearchGroupSize = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "search_group_size", Help: "the number of tasks of each grouped search task", Buckets: buckets, }, []string{ nodeIDLabelName, }) QueryNodeEvictedReadReqCount = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "read_evicted_count", Help: "count of evicted search / query request", }, []string{ nodeIDLabelName, }) QueryNodeNumFlowGraphs = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "flowgraph_num", Help: "number of flowgraphs", }, []string{ nodeIDLabelName, }) QueryNodeNumEntities = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "entity_num", Help: "number of entities which can be searched/queried, clustered by collection, partition and state", }, []string{ nodeIDLabelName, collectionIDLabelName, partitionIDLabelName, segmentStateLabelName, indexCountLabelName, }) // QueryNodeConsumeCounter counts the bytes QueryNode consumed from message storage. QueryNodeConsumeCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "consume_bytes_counter", Help: "", }, []string{nodeIDLabelName, msgTypeLabelName}) // QueryNodeExecuteCounter counts the bytes of requests in QueryNode. QueryNodeExecuteCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "execute_bytes_counter", Help: "", }, []string{nodeIDLabelName, msgTypeLabelName}) QueryNodeMsgDispatcherTtLag = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.QueryNodeRole, Name: "msg_dispatcher_tt_lag_ms", Help: "time.Now() sub dispatcher's current consume time", }, []string{ nodeIDLabelName, channelNameLabelName, }) )
View Source
var ( // RootCoordProxyCounter counts the num of registered proxy nodes RootCoordProxyCounter = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "proxy_num", Help: "number of proxy nodes managered by rootcoord", }, []string{}) // RootCoordInsertChannelTimeTick counts the time tick num of insert channel in 24H RootCoordInsertChannelTimeTick = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "produce_tt_lag_ms", Help: "now time minus tt per physical channel", }, []string{channelNameLabelName}) RootCoordDDLReqCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "ddl_req_count", Help: "count of DDL operations", }, []string{functionLabelName, statusLabelName}) //RootCoordDDLReqLatency records the latency for read type of DDL operations. RootCoordDDLReqLatency = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "ddl_req_latency", Help: "latency of each DDL operations", Buckets: buckets, }, []string{functionLabelName}) // RootCoordSyncTimeTickLatency records the latency of sync time tick. RootCoordSyncTimeTickLatency = prometheus.NewHistogram( prometheus.HistogramOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "sync_timetick_latency", Help: "latency of synchronizing timetick message", Buckets: buckets, }) // RootCoordIDAllocCounter records the number of global ID allocations. RootCoordIDAllocCounter = prometheus.NewCounter( prometheus.CounterOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "id_alloc_count", Help: "count of ID allocated", }) //RootCoordTimestamp records the number of timestamp allocations in RootCoord. RootCoordTimestamp = prometheus.NewGauge( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "timestamp", Help: "lateste timestamp allocated in memory", }) // RootCoordTimestampSaved records the number of timestamp allocations in ETCD. RootCoordTimestampSaved = prometheus.NewGauge( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "timestamp_saved", Help: "timestamp saved in meta storage", }) // RootCoordNumOfCollections counts the number of collections. RootCoordNumOfCollections = prometheus.NewGauge( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "collection_num", Help: "number of collections", }) // RootCoordNumOfPartitions counts the number of partitions per collection. RootCoordNumOfPartitions = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "partition_num", Help: "number of partitions", }, []string{}) // RootCoordNumOfDMLChannel counts the number of DML channels. RootCoordNumOfDMLChannel = prometheus.NewGauge( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "dml_channel_num", Help: "number of DML channels", }) // RootCoordNumOfMsgStream counts the number of message streams. RootCoordNumOfMsgStream = prometheus.NewGauge( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "msgstream_obj_num", Help: "number of message streams", }) // RootCoordNumOfCredentials counts the number of credentials. RootCoordNumOfCredentials = prometheus.NewGauge( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "credential_num", Help: "number of credentials", }) // RootCoordNumOfRoles counts the number of credentials. RootCoordNumOfRoles = prometheus.NewGauge( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "num_of_roles", Help: "The number of roles", }) // RootCoordTtDelay records the max time tick delay of flow graphs in DataNodes and QueryNodes. RootCoordTtDelay = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "time_tick_delay", Help: "The max time tick delay of flow graphs", }, []string{ roleNameLabelName, nodeIDLabelName, }) // RootCoordQuotaStates records the quota states of cluster. RootCoordQuotaStates = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.RootCoordRole, Name: "quota_states", Help: "The quota states of cluster", }, []string{ "quota_states", }) )
View Source
var ( NumConsumers = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: "msg_queue", Name: "consumer_num", Help: "number of consumers", }, []string{ roleNameLabelName, nodeIDLabelName, }) )
Functions ¶
func NormalizeMetricFamilies ¶
func NormalizeMetricFamilies(metricFamiliesByName map[string]*dto.MetricFamily) []*dto.MetricFamily
NormalizeMetricFamilies returns a MetricFamily slice with empty MetricFamilies pruned and the remaining MetricFamilies sorted by name within the slice, with the contained Metrics sorted within each MetricFamily.
func RegisterDataCoord ¶
func RegisterDataCoord(registry *prometheus.Registry)
RegisterDataCoord registers DataCoord metrics
func RegisterDataNode ¶
func RegisterDataNode(registry *prometheus.Registry)
RegisterDataNode registers DataNode metrics
func RegisterEtcdMetrics ¶
func RegisterEtcdMetrics(registry *prometheus.Registry)
RegisterEtcdMetrics registers etcd metrics
func RegisterIndexNode ¶
func RegisterIndexNode(registry *prometheus.Registry)
RegisterIndexNode registers IndexNode metrics
func RegisterMq ¶
func RegisterMq(registry *prometheus.Registry)
func RegisterProxy ¶
func RegisterProxy(registry *prometheus.Registry)
RegisterProxy registers Proxy metrics
func RegisterQueryCoord ¶
func RegisterQueryCoord(registry *prometheus.Registry)
RegisterQueryCoord registers QueryCoord metrics
func RegisterQueryNode ¶
func RegisterQueryNode(registry *prometheus.Registry)
RegisterQueryNode registers QueryNode metrics
func RegisterRootCoord ¶
func RegisterRootCoord(registry *prometheus.Registry)
RegisterRootCoord registers RootCoord metrics
Types ¶
type CRegistry ¶
type CRegistry struct { *prometheus.Registry // contains filtered or unexported fields }
only re-write the implementation of Gather()
func NewCRegistry ¶
func NewCRegistry() *CRegistry
type MilvusRegistry ¶
type MilvusRegistry struct { GoRegistry *prometheus.Registry CRegistry *CRegistry }
re-write the implementation of Gather()
func NewMilvusRegistry ¶
func NewMilvusRegistry() *MilvusRegistry
func (*MilvusRegistry) Gather ¶
func (r *MilvusRegistry) Gather() ([]*dto.MetricFamily, error)
Gather implements Gatherer.
Click to show internal directories.
Click to hide internal directories.