github.com/netdata/go.d.plugin@v0.58.1/modules/cockroachdb/charts.go (about) 1 // SPDX-License-Identifier: GPL-3.0-or-later 2 3 package cockroachdb 4 5 import "github.com/netdata/go.d.plugin/agent/module" 6 7 type ( 8 Charts = module.Charts 9 Chart = module.Chart 10 Dims = module.Dims 11 Vars = module.Vars 12 ) 13 14 var charts = Charts{ 15 chartProcessCPUCombinedPercent.Copy(), 16 chartProcessCPUPercent.Copy(), 17 chartProcessCPUUsage.Copy(), 18 chartProcessMemory.Copy(), 19 chartProcessFDUsage.Copy(), 20 chartProcessUptime.Copy(), 21 22 chartHostDiskBandwidth.Copy(), 23 chartHostDiskOperations.Copy(), 24 chartHostDiskIOPS.Copy(), 25 chartHostNetworkBandwidth.Copy(), 26 chartHostNetworkPackets.Copy(), 27 28 chartLiveNodes.Copy(), 29 chartHeartBeats.Copy(), 30 31 chartCapacity.Copy(), 32 chartCapacityUsability.Copy(), 33 chartCapacityUsable.Copy(), 34 chartCapacityUsedPercentage.Copy(), 35 36 chartSQLConnections.Copy(), 37 chartSQLTraffic.Copy(), 38 chartSQLStatementsTotal.Copy(), 39 chartSQLErrors.Copy(), 40 chartSQLStartedDDLStatements.Copy(), 41 chartSQLExecutedDDLStatements.Copy(), 42 chartSQLStartedDMLStatements.Copy(), 43 chartSQLExecutedDMLStatements.Copy(), 44 chartSQLStartedTCLStatements.Copy(), 45 chartSQLExecutedTCLStatements.Copy(), 46 chartSQLActiveDistQueries.Copy(), 47 chartSQLActiveFlowsForDistQueries.Copy(), 48 49 chartUsedLiveData.Copy(), 50 chartLogicalData.Copy(), 51 chartLogicalDataCount.Copy(), 52 53 chartKVTransactions.Copy(), 54 chartKVTransactionsRestarts.Copy(), 55 56 chartRanges.Copy(), 57 chartRangesWithProblems.Copy(), 58 chartRangesEvents.Copy(), 59 chartRangesSnapshotEvents.Copy(), 60 61 chartRocksDBReadAmplification.Copy(), 62 chartRocksDBTableOperations.Copy(), 63 chartRocksDBCacheUsage.Copy(), 64 chartRocksDBCacheOperations.Copy(), 65 chartRocksDBCacheHitRage.Copy(), 66 chartRocksDBSSTables.Copy(), 67 68 chartReplicas.Copy(), 69 chartReplicasQuiescence.Copy(), 70 chartReplicasLeaders.Copy(), 71 chartReplicasLeaseHolder.Copy(), 72 73 chartQueuesProcessingFailures.Copy(), 74 75 chartRebalancingQueries.Copy(), 76 chartRebalancingWrites.Copy(), 77 78 chartTimeSeriesWrittenSamples.Copy(), 79 chartTimeSeriesWriteErrors.Copy(), 80 chartTimeSeriesWrittenBytes.Copy(), 81 82 chartSlowRequests.Copy(), 83 84 chartGoroutines.Copy(), 85 chartGoCgoHeapMemory.Copy(), 86 chartCGoCalls.Copy(), 87 chartGCRuns.Copy(), 88 chartGCPauseTime.Copy(), 89 } 90 91 // Process 92 var ( 93 chartProcessCPUCombinedPercent = Chart{ 94 ID: "process_cpu_time_combined_percentage", 95 Title: "Combined CPU Time Percentage, Normalized 0-1 by Number of Cores", 96 Units: "percentage", 97 Fam: "process", 98 Ctx: "cockroachdb.process_cpu_time_combined_percentage", 99 Type: module.Stacked, 100 Dims: Dims{ 101 {ID: metricSysCPUCombinedPercentNormalized, Name: "used", Div: precision}, 102 }, 103 } 104 chartProcessCPUPercent = Chart{ 105 ID: "process_cpu_time_percentage", 106 Title: "CPU Time Percentage", 107 Units: "percentage", 108 Fam: "process", 109 Ctx: "cockroachdb.process_cpu_time_percentage", 110 Type: module.Stacked, 111 Dims: Dims{ 112 {ID: metricSysCPUUserPercent, Name: "user", Div: precision}, 113 {ID: metricSysCPUSysPercent, Name: "sys", Div: precision}, 114 }, 115 } 116 chartProcessCPUUsage = Chart{ 117 ID: "process_cpu_time", 118 Title: "CPU Time", 119 Units: "ms", 120 Fam: "process", 121 Ctx: "cockroachdb.process_cpu_time", 122 Type: module.Stacked, 123 Dims: Dims{ 124 {ID: metricSysCPUUserNs, Name: "user", Algo: module.Incremental, Div: 1e6}, 125 {ID: metricSysCPUSysNs, Name: "sys", Algo: module.Incremental, Div: 1e6}, 126 }, 127 } 128 chartProcessMemory = Chart{ 129 ID: "process_memory", 130 Title: "Memory Usage", 131 Units: "KiB", 132 Fam: "process", 133 Ctx: "cockroachdb.process_memory", 134 Dims: Dims{ 135 {ID: metricSysRSS, Name: "rss", Div: 1024}, 136 }, 137 } 138 chartProcessFDUsage = Chart{ 139 ID: "process_file_descriptors", 140 Title: "File Descriptors", 141 Units: "fd", 142 Fam: "process", 143 Ctx: "cockroachdb.process_file_descriptors", 144 Dims: Dims{ 145 {ID: metricSysFDOpen, Name: "open"}, 146 }, 147 Vars: Vars{ 148 {ID: metricSysFDSoftLimit}, 149 }, 150 } 151 chartProcessUptime = Chart{ 152 ID: "process_uptime", 153 Title: "Uptime", 154 Units: "seconds", 155 Fam: "process", 156 Ctx: "cockroachdb.process_uptime", 157 Dims: Dims{ 158 {ID: metricSysUptime, Name: "uptime"}, 159 }, 160 } 161 ) 162 163 // Host 164 // Host 165 var ( 166 chartHostDiskBandwidth = Chart{ 167 ID: "host_disk_bandwidth", 168 Title: "Host Disk Cumulative Bandwidth", 169 Units: "KiB", 170 Fam: "host", 171 Ctx: "cockroachdb.host_disk_bandwidth", 172 Type: module.Area, 173 Dims: Dims{ 174 {ID: metricSysHostDiskReadBytes, Name: "read", Div: 1024, Algo: module.Incremental}, 175 {ID: metricSysHostDiskWriteBytes, Name: "write", Div: -1024, Algo: module.Incremental}, 176 }, 177 } 178 chartHostDiskOperations = Chart{ 179 ID: "host_disk_operations", 180 Title: "Host Disk Cumulative Operations", 181 Units: "operations", 182 Fam: "host", 183 Ctx: "cockroachdb.host_disk_operations", 184 Dims: Dims{ 185 {ID: metricSysHostDiskReadCount, Name: "reads", Algo: module.Incremental}, 186 {ID: metricSysHostDiskWriteCount, Name: "writes", Mul: -1, Algo: module.Incremental}, 187 }, 188 } 189 chartHostDiskIOPS = Chart{ 190 ID: "host_disk_iops_in_progress", 191 Title: "Host Disk Cumulative IOPS In Progress", 192 Units: "iops", 193 Fam: "host", 194 Ctx: "cockroachdb.host_disk_iops_in_progress", 195 Dims: Dims{ 196 {ID: metricSysHostDiskIOPSInProgress, Name: "in progress"}, 197 }, 198 } 199 chartHostNetworkBandwidth = Chart{ 200 ID: "host_network_bandwidth", 201 Title: "Host Network Cumulative Bandwidth", 202 Units: "kilobits", 203 Fam: "host", 204 Ctx: "cockroachdb.host_network_bandwidth", 205 Type: module.Area, 206 Dims: Dims{ 207 {ID: metricSysHostNetRecvBytes, Name: "received", Div: 1000, Algo: module.Incremental}, 208 {ID: metricSysHostNetSendBytes, Name: "sent", Div: -1000, Algo: module.Incremental}, 209 }, 210 } 211 chartHostNetworkPackets = Chart{ 212 ID: "host_network_packets", 213 Title: "Host Network Cumulative Packets", 214 Units: "packets", 215 Fam: "host", 216 Ctx: "cockroachdb.host_network_packets", 217 Dims: Dims{ 218 {ID: metricSysHostNetRecvPackets, Name: "received", Algo: module.Incremental}, 219 {ID: metricSysHostNetSendPackets, Name: "sent", Mul: -1, Algo: module.Incremental}, 220 }, 221 } 222 ) 223 224 // Liveness 225 var ( 226 chartLiveNodes = Chart{ 227 ID: "live_nodes", 228 Title: "Live Nodes in the Cluster", 229 Units: "nodes", 230 Fam: "liveness", 231 Ctx: "cockroachdb.live_nodes", 232 Dims: Dims{ 233 {ID: metricLiveNodes, Name: "live nodes"}, 234 }, 235 } 236 chartHeartBeats = Chart{ 237 ID: "node_liveness_heartbeats", 238 Title: "Node Liveness Heartbeats", 239 Units: "heartbeats", 240 Fam: "liveness", 241 Ctx: "cockroachdb.node_liveness_heartbeats", 242 Type: module.Stacked, 243 Dims: Dims{ 244 {ID: metricHeartBeatSuccesses, Name: "successful", Algo: module.Incremental}, 245 {ID: metricHeartBeatFailures, Name: "failed", Algo: module.Incremental}, 246 }, 247 } 248 ) 249 250 // Capacity 251 var ( 252 chartCapacity = Chart{ 253 ID: "total_storage_capacity", 254 Title: "Total Storage Capacity", 255 Units: "KiB", 256 Fam: "capacity", 257 Ctx: "cockroachdb.total_storage_capacity", 258 Dims: Dims{ 259 {ID: metricCapacity, Name: "total", Div: 1024}, 260 }, 261 } 262 chartCapacityUsability = Chart{ 263 ID: "storage_capacity_usability", 264 Title: "Storage Capacity Usability", 265 Units: "KiB", 266 Fam: "capacity", 267 Ctx: "cockroachdb.storage_capacity_usability", 268 Type: module.Stacked, 269 Dims: Dims{ 270 {ID: metricCapacityUsable, Name: "usable", Div: 1024}, 271 {ID: metricCapacityUnusable, Name: "unusable", Div: 1024}, 272 }, 273 } 274 chartCapacityUsable = Chart{ 275 ID: "storage_usable_capacity", 276 Title: "Storage Usable Capacity", 277 Units: "KiB", 278 Fam: "capacity", 279 Ctx: "cockroachdb.storage_usable_capacity", 280 Type: module.Stacked, 281 Dims: Dims{ 282 {ID: metricCapacityAvailable, Name: "available", Div: 1024}, 283 {ID: metricCapacityUsed, Name: "used", Div: 1024}, 284 }, 285 } 286 chartCapacityUsedPercentage = Chart{ 287 ID: "storage_used_capacity_percentage", 288 Title: "Storage Used Capacity Utilization", 289 Units: "percentage", 290 Fam: "capacity", 291 Ctx: "cockroachdb.storage_used_capacity_percentage", 292 Dims: Dims{ 293 {ID: metricCapacityUsedPercentage, Name: "total", Div: precision}, 294 {ID: metricCapacityUsableUsedPercentage, Name: "usable", Div: precision}, 295 }, 296 } 297 ) 298 299 // SQL 300 var ( 301 chartSQLConnections = Chart{ 302 ID: "sql_connections", 303 Title: "Active SQL Connections", 304 Units: "connections", 305 Fam: "sql", 306 Ctx: "cockroachdb.sql_connections", 307 Dims: Dims{ 308 {ID: metricSQLConnections, Name: "active"}, 309 }, 310 } 311 chartSQLTraffic = Chart{ 312 ID: "sql_bandwidth", 313 Title: "SQL Bandwidth", 314 Units: "KiB", 315 Fam: "sql", 316 Ctx: "cockroachdb.sql_bandwidth", 317 Type: module.Area, 318 Dims: Dims{ 319 {ID: metricSQLBytesIn, Name: "received", Div: 1024, Algo: module.Incremental}, 320 {ID: metricSQLBytesOut, Name: "sent", Div: -1024, Algo: module.Incremental}, 321 }, 322 } 323 chartSQLStatementsTotal = Chart{ 324 ID: "sql_statements_total", 325 Title: "SQL Statements Total", 326 Units: "statements", 327 Fam: "sql", 328 Ctx: "cockroachdb.sql_statements_total", 329 Type: module.Area, 330 Dims: Dims{ 331 {ID: metricSQLQueryStartedCount, Name: "started", Algo: module.Incremental}, 332 {ID: metricSQLQueryCount, Name: "executed", Algo: module.Incremental}, 333 }, 334 } 335 chartSQLErrors = Chart{ 336 ID: "sql_errors", 337 Title: "SQL Statements and Transaction Errors", 338 Units: "errors", 339 Fam: "sql", 340 Ctx: "cockroachdb.sql_errors", 341 Dims: Dims{ 342 {ID: metricSQLFailureCount, Name: "statement", Algo: module.Incremental}, 343 {ID: metricSQLTXNAbortCount, Name: "transaction", Algo: module.Incremental}, 344 }, 345 } 346 chartSQLStartedDDLStatements = Chart{ 347 ID: "sql_started_ddl_statements", 348 Title: "SQL Started DDL Statements", 349 Units: "statements", 350 Fam: "sql", 351 Ctx: "cockroachdb.sql_started_ddl_statements", 352 Dims: Dims{ 353 {ID: metricSQLDDLStartedCount, Name: "DDL"}, 354 }, 355 } 356 chartSQLExecutedDDLStatements = Chart{ 357 ID: "sql_executed_ddl_statements", 358 Title: "SQL Executed DDL Statements", 359 Units: "statements", 360 Fam: "sql", 361 Ctx: "cockroachdb.sql_executed_ddl_statements", 362 Dims: Dims{ 363 {ID: metricSQLDDLCount, Name: "DDL"}, 364 }, 365 } 366 chartSQLStartedDMLStatements = Chart{ 367 ID: "sql_started_dml_statements", 368 Title: "SQL Started DML Statements", 369 Units: "statements", 370 Fam: "sql", 371 Ctx: "cockroachdb.sql_started_dml_statements", 372 Type: module.Stacked, 373 Dims: Dims{ 374 {ID: metricSQLSelectStartedCount, Name: "SELECT", Algo: module.Incremental}, 375 {ID: metricSQLUpdateStartedCount, Name: "UPDATE", Algo: module.Incremental}, 376 {ID: metricSQLInsertStartedCount, Name: "INSERT", Algo: module.Incremental}, 377 {ID: metricSQLDeleteStartedCount, Name: "DELETE", Algo: module.Incremental}, 378 }, 379 } 380 chartSQLExecutedDMLStatements = Chart{ 381 ID: "sql_executed_dml_statements", 382 Title: "SQL Executed DML Statements", 383 Units: "statements", 384 Fam: "sql", 385 Ctx: "cockroachdb.sql_executed_dml_statements", 386 Type: module.Stacked, 387 Dims: Dims{ 388 {ID: metricSQLSelectCount, Name: "SELECT", Algo: module.Incremental}, 389 {ID: metricSQLUpdateCount, Name: "UPDATE", Algo: module.Incremental}, 390 {ID: metricSQLInsertCount, Name: "INSERT", Algo: module.Incremental}, 391 {ID: metricSQLDeleteCount, Name: "DELETE", Algo: module.Incremental}, 392 }, 393 } 394 chartSQLStartedTCLStatements = Chart{ 395 ID: "sql_started_tcl_statements", 396 Title: "SQL Started TCL Statements", 397 Units: "statements", 398 Fam: "sql", 399 Ctx: "cockroachdb.sql_started_tcl_statements", 400 Type: module.Stacked, 401 Dims: Dims{ 402 {ID: metricSQLTXNBeginStartedCount, Name: "BEGIN", Algo: module.Incremental}, 403 {ID: metricSQLTXNCommitStartedCount, Name: "COMMIT", Algo: module.Incremental}, 404 {ID: metricSQLTXNRollbackStartedCount, Name: "ROLLBACK", Algo: module.Incremental}, 405 {ID: metricSQLSavepointStartedCount, Name: "SAVEPOINT", Algo: module.Incremental}, 406 {ID: metricSQLRestartSavepointStartedCount, Name: "SAVEPOINT cockroach_restart", Algo: module.Incremental}, 407 {ID: metricSQLRestartSavepointReleaseStartedCount, Name: "RELEASE SAVEPOINT cockroach_restart", Algo: module.Incremental}, 408 {ID: metricSQLRestartSavepointRollbackStartedCount, Name: "ROLLBACK TO SAVEPOINT cockroach_restart", Algo: module.Incremental}, 409 }, 410 } 411 chartSQLExecutedTCLStatements = Chart{ 412 ID: "sql_executed_tcl_statements", 413 Title: "SQL Executed TCL Statements", 414 Units: "statements", 415 Fam: "sql", 416 Ctx: "cockroachdb.sql_executed_tcl_statements", 417 Type: module.Stacked, 418 Dims: Dims{ 419 {ID: metricSQLTXNBeginCount, Name: "BEGIN", Algo: module.Incremental}, 420 {ID: metricSQLTXNCommitCount, Name: "COMMIT", Algo: module.Incremental}, 421 {ID: metricSQLTXNRollbackCount, Name: "ROLLBACK", Algo: module.Incremental}, 422 {ID: metricSQLSavepointCount, Name: "SAVEPOINT", Algo: module.Incremental}, 423 {ID: metricSQLRestartSavepointCount, Name: "SAVEPOINT cockroach_restart", Algo: module.Incremental}, 424 {ID: metricSQLRestartSavepointReleaseCount, Name: "RELEASE SAVEPOINT cockroach_restart", Algo: module.Incremental}, 425 {ID: metricSQLRestartSavepointRollbackCount, Name: "ROLLBACK TO SAVEPOINT cockroach_restart", Algo: module.Incremental}, 426 }, 427 } 428 chartSQLActiveDistQueries = Chart{ 429 ID: "sql_active_distributed_queries", 430 Title: "Active Distributed SQL Queries", 431 Units: "queries", 432 Fam: "sql", 433 Ctx: "cockroachdb.sql_active_distributed_queries", 434 Dims: Dims{ 435 {ID: metricSQLDistSQLQueriesActive, Name: "active"}, 436 }, 437 } 438 chartSQLActiveFlowsForDistQueries = Chart{ 439 ID: "sql_distributed_flows", 440 Title: "Distributed SQL Flows", 441 Units: "flows", 442 Fam: "sql", 443 Ctx: "cockroachdb.sql_distributed_flows", 444 Type: module.Stacked, 445 Dims: Dims{ 446 {ID: metricSQLDistSQLFlowsActive, Name: "active"}, 447 {ID: metricSQLDistSQLFlowsQueued, Name: "queued"}, 448 }, 449 } 450 ) 451 452 // Storage 453 var ( 454 chartUsedLiveData = Chart{ 455 ID: "live_bytes", 456 Title: "Used Live Data", 457 Units: "KiB", 458 Fam: "storage", 459 Ctx: "cockroachdb.live_bytes", 460 Dims: Dims{ 461 {ID: metricLiveBytes, Name: "applications", Div: 1024}, 462 {ID: metricSysBytes, Name: "system", Div: 1024}, 463 }, 464 } 465 chartLogicalData = Chart{ 466 ID: "logical_data", 467 Title: "Logical Data", 468 Units: "KiB", 469 Fam: "storage", 470 Ctx: "cockroachdb.logical_data", 471 Type: module.Stacked, 472 Dims: Dims{ 473 {ID: metricKeyBytes, Name: "keys", Div: 1024}, 474 {ID: metricValBytes, Name: "values", Div: 1024}, 475 }, 476 } 477 chartLogicalDataCount = Chart{ 478 ID: "logical_data_count", 479 Title: "Logical Data Count", 480 Units: "num", 481 Fam: "storage", 482 Ctx: "cockroachdb.logical_data_count", 483 Type: module.Stacked, 484 Dims: Dims{ 485 {ID: metricKeyCount, Name: "keys"}, 486 {ID: metricValCount, Name: "values"}, 487 }, 488 } 489 ) 490 491 // KV Transactions 492 var ( 493 chartKVTransactions = Chart{ 494 ID: "kv_transactions", 495 Title: "KV Transactions", 496 Units: "transactions", 497 Fam: "kv transactions", 498 Ctx: "cockroachdb.kv_transactions", 499 Type: module.Area, 500 Dims: Dims{ 501 {ID: metricTxnCommits, Name: "committed", Algo: module.Incremental}, 502 {ID: metricTxnCommits1PC, Name: "fast-path_committed", Algo: module.Incremental}, 503 {ID: metricTxnAborts, Name: "aborted", Algo: module.Incremental}, 504 }, 505 } 506 chartKVTransactionsRestarts = Chart{ 507 ID: "kv_transaction_restarts", 508 Title: "KV Transaction Restarts", 509 Units: "restarts", 510 Fam: "kv transactions", 511 Ctx: "cockroachdb.kv_transaction_restarts", 512 Type: module.Stacked, 513 Dims: Dims{ 514 {ID: metricTxnRestartsWriteTooOld, Name: "write too old", Algo: module.Incremental}, 515 {ID: metricTxnRestartsWriteTooOldMulti, Name: "write too old (multiple)", Algo: module.Incremental}, 516 {ID: metricTxnRestartsSerializable, Name: "forwarded timestamp (iso=serializable)", Algo: module.Incremental}, 517 {ID: metricTxnRestartsPossibleReplay, Name: "possible reply", Algo: module.Incremental}, 518 {ID: metricTxnRestartsAsyncWriteFailure, Name: "async consensus failure", Algo: module.Incremental}, 519 {ID: metricTxnRestartsReadWithInUncertainty, Name: "read within uncertainty interval", Algo: module.Incremental}, 520 {ID: metricTxnRestartsTxnAborted, Name: "aborted", Algo: module.Incremental}, 521 {ID: metricTxnRestartsTxnPush, Name: "push failure", Algo: module.Incremental}, 522 {ID: metricTxnRestartsUnknown, Name: "unknown", Algo: module.Incremental}, 523 }, 524 } 525 ) 526 527 // Ranges 528 var ( 529 chartRanges = Chart{ 530 ID: "ranges", 531 Title: "Ranges", 532 Units: "ranges", 533 Fam: "ranges", 534 Ctx: "cockroachdb.ranges", 535 Dims: Dims{ 536 {ID: metricRanges, Name: "ranges"}, 537 }, 538 } 539 chartRangesWithProblems = Chart{ 540 ID: "ranges_replication_problem", 541 Title: "Ranges Replication Problems", 542 Units: "ranges", 543 Fam: "ranges", 544 Ctx: "cockroachdb.ranges_replication_problem", 545 Type: module.Stacked, 546 Dims: Dims{ 547 {ID: metricRangesUnavailable, Name: "unavailable"}, 548 {ID: metricRangesUnderReplicated, Name: "under_replicated"}, 549 {ID: metricRangesOverReplicated, Name: "over_replicated"}, 550 }, 551 } 552 chartRangesEvents = Chart{ 553 ID: "range_events", 554 Title: "Range Events", 555 Units: "events", 556 Fam: "ranges", 557 Ctx: "cockroachdb.range_events", 558 Type: module.Stacked, 559 Dims: Dims{ 560 {ID: metricRangeSplits, Name: "split", Algo: module.Incremental}, 561 {ID: metricRangeAdds, Name: "add", Algo: module.Incremental}, 562 {ID: metricRangeRemoves, Name: "remove", Algo: module.Incremental}, 563 {ID: metricRangeMerges, Name: "merge", Algo: module.Incremental}, 564 }, 565 } 566 chartRangesSnapshotEvents = Chart{ 567 ID: "range_snapshot_events", 568 Title: "Range Snapshot Events", 569 Units: "events", 570 Fam: "ranges", 571 Ctx: "cockroachdb.range_snapshot_events", 572 Type: module.Stacked, 573 Dims: Dims{ 574 {ID: metricRangeSnapshotsGenerated, Name: "generated", Algo: module.Incremental}, 575 {ID: metricRangeSnapshotsNormalApplied, Name: "applied (raft-initiated)", Algo: module.Incremental}, 576 {ID: metricRangeSnapshotsLearnerApplied, Name: "applied (learner)", Algo: module.Incremental}, 577 {ID: metricRangeSnapshotsPreemptiveApplied, Name: "applied (preemptive)", Algo: module.Incremental}, 578 }, 579 } 580 ) 581 582 // RocksDB 583 var ( 584 chartRocksDBReadAmplification = Chart{ 585 ID: "rocksdb_read_amplification", 586 Title: "RocksDB Read Amplification", 587 Units: "reads/query", 588 Fam: "rocksdb", 589 Ctx: "cockroachdb.rocksdb_read_amplification", 590 Dims: Dims{ 591 {ID: metricRocksDBReadAmplification, Name: "reads"}, 592 }, 593 } 594 chartRocksDBTableOperations = Chart{ 595 ID: "rocksdb_table_operations", 596 Title: "RocksDB Table Operations", 597 Units: "operations", 598 Fam: "rocksdb", 599 Ctx: "cockroachdb.rocksdb_table_operations", 600 Dims: Dims{ 601 {ID: metricRocksDBCompactions, Name: "compactions", Algo: module.Incremental}, 602 {ID: metricRocksDBFlushes, Name: "flushes", Algo: module.Incremental}, 603 }, 604 } 605 chartRocksDBCacheUsage = Chart{ 606 ID: "rocksdb_cache_usage", 607 Title: "RocksDB Block Cache Usage", 608 Units: "KiB", 609 Fam: "rocksdb", 610 Ctx: "cockroachdb.rocksdb_cache_usage", 611 Type: module.Area, 612 Dims: Dims{ 613 {ID: metricRocksDBBlockCacheUsage, Name: "used", Div: 1024}, 614 }, 615 } 616 chartRocksDBCacheOperations = Chart{ 617 ID: "rocksdb_cache_operations", 618 Title: "RocksDB Block Cache Operations", 619 Units: "operations", 620 Fam: "rocksdb", 621 Ctx: "cockroachdb.rocksdb_cache_operations", 622 Type: module.Stacked, 623 Dims: Dims{ 624 {ID: metricRocksDBBlockCacheHits, Name: "hits", Algo: module.Incremental}, 625 {ID: metricRocksDBBlockCacheMisses, Name: "misses", Algo: module.Incremental}, 626 }, 627 } 628 chartRocksDBCacheHitRage = Chart{ 629 ID: "rocksdb_cache_hit_rate", 630 Title: "RocksDB Block Cache Hit Rate", 631 Units: "percentage", 632 Fam: "rocksdb", 633 Ctx: "cockroachdb.rocksdb_cache_hit_rate", 634 Type: module.Area, 635 Dims: Dims{ 636 {ID: metricRocksDBBlockCacheHitRate, Name: "hit rate"}, 637 }, 638 } 639 chartRocksDBSSTables = Chart{ 640 ID: "rocksdb_sstables", 641 Title: "RocksDB SSTables", 642 Units: "sstables", 643 Fam: "rocksdb", 644 Ctx: "cockroachdb.rocksdb_sstables", 645 Dims: Dims{ 646 {ID: metricRocksDBNumSSTables, Name: "sstables"}, 647 }, 648 } 649 ) 650 651 // Replicas 652 var ( 653 chartReplicas = Chart{ 654 ID: "replicas", 655 Title: "Number of Replicas", 656 Units: "replicas", 657 Fam: "replication", 658 Ctx: "cockroachdb.replicas", 659 Dims: Dims{ 660 {ID: metricReplicas, Name: "replicas"}, 661 }, 662 } 663 chartReplicasQuiescence = Chart{ 664 ID: "replicas_quiescence", 665 Title: "Replicas Quiescence", 666 Units: "replicas", 667 Fam: "replication", 668 Ctx: "cockroachdb.replicas_quiescence", 669 Type: module.Stacked, 670 Dims: Dims{ 671 {ID: metricReplicasQuiescent, Name: "quiescent"}, 672 {ID: metricReplicasActive, Name: "active"}, 673 }, 674 } 675 chartReplicasLeaders = Chart{ 676 ID: "replicas_leaders", 677 Title: "Number of Raft Leaders", 678 Units: "replicas", 679 Fam: "replication", 680 Ctx: "cockroachdb.replicas_leaders", 681 Type: module.Area, 682 Dims: Dims{ 683 {ID: metricReplicasLeaders, Name: "leaders"}, 684 {ID: metricReplicasLeadersNotLeaseholders, Name: "not leaseholders"}, 685 }, 686 } 687 chartReplicasLeaseHolder = Chart{ 688 ID: "replicas_leaseholders", 689 Title: "Number of Leaseholders", 690 Units: "leaseholders", 691 Fam: "replication", 692 Ctx: "cockroachdb.replicas_leaseholders", 693 Dims: Dims{ 694 {ID: metricReplicasLeaseholders, Name: "leaseholders"}, 695 }, 696 } 697 ) 698 699 // Queues 700 var ( 701 chartQueuesProcessingFailures = Chart{ 702 ID: "queue_processing_failures", 703 Title: "Queues Processing Failures", 704 Units: "failures", 705 Fam: "queues", 706 Ctx: "cockroachdb.queue_processing_failures", 707 Type: module.Stacked, 708 Dims: Dims{ 709 {ID: metricQueueGCProcessFailure, Name: "gc", Algo: module.Incremental}, 710 {ID: metricQueueReplicaGCProcessFailure, Name: "replica gc", Algo: module.Incremental}, 711 {ID: metricQueueReplicateProcessFailure, Name: "replication", Algo: module.Incremental}, 712 {ID: metricQueueSplitProcessFailure, Name: "split", Algo: module.Incremental}, 713 {ID: metricQueueConsistencyProcessFailure, Name: "consistency", Algo: module.Incremental}, 714 {ID: metricQueueRaftLogProcessFailure, Name: "raft log", Algo: module.Incremental}, 715 {ID: metricQueueRaftSnapshotProcessFailure, Name: "raft snapshot", Algo: module.Incremental}, 716 {ID: metricQueueTSMaintenanceProcessFailure, Name: "time series maintenance", Algo: module.Incremental}, 717 }, 718 } 719 ) 720 721 // Rebalancing 722 var ( 723 chartRebalancingQueries = Chart{ 724 ID: "rebalancing_queries", 725 Title: "Rebalancing Average Queries", 726 Units: "queries/s", 727 Fam: "rebalancing", 728 Ctx: "cockroachdb.rebalancing_queries", 729 Dims: Dims{ 730 {ID: metricRebalancingQueriesPerSecond, Name: "avg", Div: precision}, 731 }, 732 } 733 chartRebalancingWrites = Chart{ 734 ID: "rebalancing_writes", 735 Title: "Rebalancing Average Writes", 736 Units: "writes/s", 737 Fam: "rebalancing", 738 Ctx: "cockroachdb.rebalancing_writes", 739 Dims: Dims{ 740 {ID: metricRebalancingWritesPerSecond, Name: "avg", Div: precision}, 741 }, 742 } 743 ) 744 745 // Time Series 746 var ( 747 chartTimeSeriesWrittenSamples = Chart{ 748 ID: "timeseries_samples", 749 Title: "Time Series Written Samples", 750 Units: "samples", 751 Fam: "time series", 752 Ctx: "cockroachdb.timeseries_samples", 753 Dims: Dims{ 754 {ID: metricTimeSeriesWriteSamples, Name: "written", Algo: module.Incremental}, 755 }, 756 } 757 chartTimeSeriesWriteErrors = Chart{ 758 ID: "timeseries_write_errors", 759 Title: "Time Series Write Errors", 760 Units: "errors", 761 Fam: "time series", 762 Ctx: "cockroachdb.timeseries_write_errors", 763 Dims: Dims{ 764 {ID: metricTimeSeriesWriteErrors, Name: "write", Algo: module.Incremental}, 765 }, 766 } 767 chartTimeSeriesWrittenBytes = Chart{ 768 ID: "timeseries_write_bytes", 769 Title: "Time Series Bytes Written", 770 Units: "KiB", 771 Fam: "time series", 772 Ctx: "cockroachdb.timeseries_write_bytes", 773 Dims: Dims{ 774 {ID: metricTimeSeriesWriteBytes, Name: "written", Algo: module.Incremental}, 775 }, 776 } 777 ) 778 779 // Slow Requests 780 var ( 781 chartSlowRequests = Chart{ 782 ID: "slow_requests", 783 Title: "Slow Requests", 784 Units: "requests", 785 Fam: "slow requests", 786 Ctx: "cockroachdb.slow_requests", 787 Type: module.Stacked, 788 Dims: Dims{ 789 {ID: metricRequestsSlowLatch, Name: "acquiring latches"}, 790 {ID: metricRequestsSlowLease, Name: "acquiring lease"}, 791 {ID: metricRequestsSlowRaft, Name: "in raft"}, 792 }, 793 } 794 ) 795 796 // Go/Cgo 797 var ( 798 chartGoCgoHeapMemory = Chart{ 799 ID: "code_heap_memory_usage", 800 Title: "Heap Memory Usage", 801 Units: "KiB", 802 Fam: "go/cgo", 803 Ctx: "cockroachdb.code_heap_memory_usage", 804 Type: module.Stacked, 805 Dims: Dims{ 806 {ID: metricSysGoAllocBytes, Name: "go", Div: 1024}, 807 {ID: metricSysCGoAllocBytes, Name: "cgo", Div: 1024}, 808 }, 809 } 810 chartGoroutines = Chart{ 811 ID: "goroutines_count", 812 Title: "Number of Goroutines", 813 Units: "goroutines", 814 Fam: "go/cgo", 815 Ctx: "cockroachdb.goroutines", 816 Dims: Dims{ 817 {ID: metricSysGoroutines, Name: "goroutines"}, 818 }, 819 } 820 chartGCRuns = Chart{ 821 ID: "gc_count", 822 Title: "GC Runs", 823 Units: "invokes", 824 Fam: "go/cgo", 825 Ctx: "cockroachdb.gc_count", 826 Dims: Dims{ 827 {ID: metricSysGCCount, Name: "gc", Algo: module.Incremental}, 828 }, 829 } 830 chartGCPauseTime = Chart{ 831 ID: "gc_pause", 832 Title: "GC Pause Time", 833 Units: "us", 834 Fam: "go/cgo", 835 Ctx: "cockroachdb.gc_pause", 836 Dims: Dims{ 837 {ID: metricSysGCPauseNs, Name: "pause", Algo: module.Incremental, Div: 1e3}, 838 }, 839 } 840 chartCGoCalls = Chart{ 841 ID: "cgo_calls", 842 Title: "Cgo Calls", 843 Units: "calls", 844 Fam: "go/cgo", 845 Ctx: "cockroachdb.cgo_calls", 846 Dims: Dims{ 847 {ID: metricSysCGoCalls, Name: "cgo", Algo: module.Incremental}, 848 }, 849 } 850 )