diff --git a/pkg/cli/cli_test.go b/pkg/cli/cli_test.go index e3a7021c1fd8..87877b13a7fa 100644 --- a/pkg/cli/cli_test.go +++ b/pkg/cli/cli_test.go @@ -2203,6 +2203,7 @@ writing ` + os.DevNull + ` debug/settings debug/gossip/liveness debug/gossip/nodes + debug/metrics debug/nodes/1/status debug/nodes/1/gossip debug/nodes/1/stacks diff --git a/pkg/cli/zip.go b/pkg/cli/zip.go index 062b03cb3f80..5e25d98f9b57 100644 --- a/pkg/cli/zip.go +++ b/pkg/cli/zip.go @@ -103,6 +103,7 @@ func runDebugZip(cmd *cobra.Command, args []string) error { eventsName = base + "/events" gossipLName = base + "/gossip/liveness" gossipNName = base + "/gossip/nodes" + metricsName = base + "/metrics" livenessName = base + "/liveness" nodesPrefix = base + "/nodes" schemaPrefix = base + "/schema" @@ -190,11 +191,15 @@ func runDebugZip(cmd *cobra.Command, args []string) error { { queryLiveness := "SELECT * FROM crdb_internal.gossip_liveness;" queryNodes := "SELECT * FROM crdb_internal.gossip_nodes;" + queryMetrics := "SELECT * FROM crdb_internal.node_metrics;" - if err := dumpGossipData(z, sqlConn, queryLiveness, gossipLName); err != nil { + if err := dumpTableDataForZip(z, sqlConn, queryLiveness, gossipLName); err != nil { return err } - if err := dumpGossipData(z, sqlConn, queryNodes, gossipNName); err != nil { + if err := dumpTableDataForZip(z, sqlConn, queryNodes, gossipNName); err != nil { + return err + } + if err := dumpTableDataForZip(z, sqlConn, queryMetrics, metricsName); err != nil { return err } } @@ -358,7 +363,7 @@ func runDebugZip(cmd *cobra.Command, args []string) error { return nil } -func dumpGossipData(z *zipper, conn *sqlConn, query string, name string) error { +func dumpTableDataForZip(z *zipper, conn *sqlConn, query string, name string) error { w, err := z.create(name) if err != nil { return err diff --git a/pkg/cmd/roachtest/debug.go b/pkg/cmd/roachtest/debug.go index 6a666d8228bb..e923ac6bb007 100644 --- a/pkg/cmd/roachtest/debug.go +++ b/pkg/cmd/roachtest/debug.go @@ -37,7 +37,7 @@ func registerDebug(r *registry) { return err } - if err := c.RunE(ctx, c.Node(node), "sudo apt-get install unzip"); err != nil { + if err := c.RunE(ctx, c.Node(node), "unzip -v || sudo apt-get install unzip"); err != nil { return err } @@ -53,6 +53,9 @@ func registerDebug(r *registry) { return err } + if err := c.RunE(ctx, c.Node(node), "grep -F 'liveness.heartbeatlatency-p99' ./debug/metrics"); err != nil { + return err + } if err := c.RunE(ctx, c.Node(node), "rm -rf debug"); err != nil { return err } diff --git a/pkg/server/server.go b/pkg/server/server.go index 241a3ee15906..6d3834f01905 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -523,6 +523,7 @@ func NewServer(cfg Config, stopper *stop.Stopper) (*Server, error) { AmbientCtx: s.cfg.AmbientCtx, DB: s.db, Gossip: s.gossip, + MetricsRecorder: s.recorder, DistSender: s.distSender, RPCContext: s.rpcContext, LeaseManager: s.leaseMgr, diff --git a/pkg/sql/crdb_internal.go b/pkg/sql/crdb_internal.go index 4451e25e89c5..cf201c648ddc 100644 --- a/pkg/sql/crdb_internal.go +++ b/pkg/sql/crdb_internal.go @@ -70,6 +70,7 @@ var crdbInternal = virtualSchema{ crdbInternalLeasesTable, crdbInternalLocalQueriesTable, crdbInternalLocalSessionsTable, + crdbInternalLocalMetricsTable, crdbInternalPartitionsTable, crdbInternalRangesTable, crdbInternalRuntimeInfoTable, @@ -867,6 +868,46 @@ func populateSessionsTable( return nil } +// crdbInternalLocalMetricsTable exposes a snapshot of the metrics on the +// current node. +var crdbInternalLocalMetricsTable = virtualSchemaTable{ + schema: `CREATE TABLE crdb_internal.node_metrics ( + store_id INT NULL, -- the store, if any, to which this metric belongs + name STRING, -- name of the metric + value FLOAT -- value of the metric +);`, + + populate: func(ctx context.Context, p *planner, _ *DatabaseDescriptor, addRow func(...tree.Datum) error) error { + if err := p.RequireSuperUser(ctx, "read crdb_internal.node_metrics"); err != nil { + return err + } + + mr := p.ExecCfg().MetricsRecorder + if mr == nil { + return nil + } + nodeStatus := mr.GetStatusSummary(ctx) + for i := 0; i <= len(nodeStatus.StoreStatuses); i++ { + storeID := tree.DNull + mtr := nodeStatus.Metrics + if i > 0 { + storeID = tree.NewDInt(tree.DInt(nodeStatus.StoreStatuses[i-1].Desc.StoreID)) + mtr = nodeStatus.StoreStatuses[i-1].Metrics + } + for name, value := range mtr { + if err := addRow( + storeID, + tree.NewDString(name), + tree.NewDFloat(tree.DFloat(value)), + ); err != nil { + return err + } + } + } + return nil + }, +} + // crdbInternalBuiltinFunctionsTable exposes the built-in function // metadata. var crdbInternalBuiltinFunctionsTable = virtualSchemaTable{ diff --git a/pkg/sql/exec_util.go b/pkg/sql/exec_util.go index 1ee4818ced29..0d5a87c35abe 100644 --- a/pkg/sql/exec_util.go +++ b/pkg/sql/exec_util.go @@ -39,6 +39,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/rpc" "github.com/cockroachdb/cockroach/pkg/security" "github.com/cockroachdb/cockroach/pkg/server/serverpb" + "github.com/cockroachdb/cockroach/pkg/server/status" "github.com/cockroachdb/cockroach/pkg/settings" "github.com/cockroachdb/cockroach/pkg/settings/cluster" "github.com/cockroachdb/cockroach/pkg/sql/distsqlrun" @@ -194,6 +195,7 @@ type ExecutorConfig struct { Clock *hlc.Clock DistSQLSrv *distsqlrun.ServerImpl StatusServer serverpb.StatusServer + MetricsRecorder *status.MetricsRecorder SessionRegistry *SessionRegistry JobRegistry *jobs.Registry VirtualSchemas *VirtualSchemaHolder diff --git a/pkg/sql/logictest/testdata/logic_test/crdb_internal b/pkg/sql/logictest/testdata/logic_test/crdb_internal index 0030bbe5d24e..dec8819a9671 100644 --- a/pkg/sql/logictest/testdata/logic_test/crdb_internal +++ b/pkg/sql/logictest/testdata/logic_test/crdb_internal @@ -27,6 +27,7 @@ kv_node_status kv_store_status leases node_build_info +node_metrics node_queries node_runtime_info node_sessions @@ -314,6 +315,9 @@ select * from crdb_internal.gossip_nodes query error pq: only superusers are allowed to read crdb_internal.gossip_liveness select * from crdb_internal.gossip_liveness +query error pq: only superusers are allowed to read crdb_internal.node_metrics +select * from crdb_internal.node_metrics + query error pq: only superusers are allowed to read crdb_internal.kv_node_status select * from crdb_internal.kv_node_status diff --git a/pkg/sql/logictest/testdata/logic_test/explain b/pkg/sql/logictest/testdata/logic_test/explain index 0bb4650c6ae9..1247a1e45718 100644 --- a/pkg/sql/logictest/testdata/logic_test/explain +++ b/pkg/sql/logictest/testdata/logic_test/explain @@ -188,7 +188,7 @@ sort · · └── render · · └── filter · · └── values · · -· size 6 columns, 81 rows +· size 6 columns, 82 rows query TTT EXPLAIN SHOW DATABASE @@ -251,7 +251,7 @@ sort · · ├── render · · │ └── filter · · │ └── values · · - │ size 17 columns, 744 rows + │ size 17 columns, 747 rows └── render · · └── filter · · └── values · · @@ -265,7 +265,7 @@ sort · · └── render · · └── filter · · └── values · · -· size 8 columns, 370 rows +· size 8 columns, 373 rows query TTT diff --git a/pkg/sql/logictest/testdata/logic_test/grant_table b/pkg/sql/logictest/testdata/logic_test/grant_table index 7ec2e6e04b8a..617bbcb22284 100644 --- a/pkg/sql/logictest/testdata/logic_test/grant_table +++ b/pkg/sql/logictest/testdata/logic_test/grant_table @@ -48,6 +48,7 @@ test crdb_internal kv_node_status public SELECT test crdb_internal kv_store_status public SELECT test crdb_internal leases public SELECT test crdb_internal node_build_info public SELECT +test crdb_internal node_metrics public SELECT test crdb_internal node_queries public SELECT test crdb_internal node_runtime_info public SELECT test crdb_internal node_sessions public SELECT @@ -155,6 +156,7 @@ a crdb_internal kv_node_status public SELE a crdb_internal kv_store_status public SELECT a crdb_internal leases public SELECT a crdb_internal node_build_info public SELECT +a crdb_internal node_metrics public SELECT a crdb_internal node_queries public SELECT a crdb_internal node_runtime_info public SELECT a crdb_internal node_sessions public SELECT @@ -229,8 +231,8 @@ a pg_catalog pg_views public SELE a public NULL admin ALL a public NULL readwrite ALL a public NULL root ALL -system crdb_internal NULL admin GRANT system crdb_internal NULL admin SELECT +system crdb_internal NULL admin GRANT system crdb_internal NULL root SELECT system crdb_internal NULL root GRANT system crdb_internal backward_dependencies public SELECT @@ -248,6 +250,7 @@ system crdb_internal kv_node_status public SELE system crdb_internal kv_store_status public SELECT system crdb_internal leases public SELECT system crdb_internal node_build_info public SELECT +system crdb_internal node_metrics public SELECT system crdb_internal node_queries public SELECT system crdb_internal node_runtime_info public SELECT system crdb_internal node_sessions public SELECT @@ -261,8 +264,8 @@ system crdb_internal table_columns public SELE system crdb_internal table_indexes public SELECT system crdb_internal tables public SELECT system crdb_internal zones public SELECT -system information_schema NULL admin SELECT system information_schema NULL admin GRANT +system information_schema NULL admin SELECT system information_schema NULL root GRANT system information_schema NULL root SELECT system information_schema administrable_role_authorizations public SELECT @@ -283,8 +286,8 @@ system information_schema table_privileges public SELE system information_schema tables public SELECT system information_schema user_privileges public SELECT system information_schema views public SELECT -system pg_catalog NULL admin GRANT system pg_catalog NULL admin SELECT +system pg_catalog NULL admin GRANT system pg_catalog NULL root GRANT system pg_catalog NULL root SELECT system pg_catalog pg_am public SELECT @@ -323,8 +326,8 @@ system pg_catalog pg_user_mapping public SELE system pg_catalog pg_views public SELECT system public NULL admin SELECT system public NULL admin GRANT -system public NULL root SELECT system public NULL root GRANT +system public NULL root SELECT system public descriptor admin GRANT system public descriptor admin SELECT system public descriptor root SELECT @@ -332,11 +335,11 @@ system public descriptor root GRAN system public eventlog admin INSERT system public eventlog admin GRANT system public eventlog admin DELETE -system public eventlog admin UPDATE system public eventlog admin SELECT +system public eventlog admin UPDATE +system public eventlog root GRANT system public eventlog root DELETE system public eventlog root INSERT -system public eventlog root GRANT system public eventlog root UPDATE system public eventlog root SELECT system public jobs admin UPDATE @@ -344,23 +347,23 @@ system public jobs admin SELE system public jobs admin INSERT system public jobs admin GRANT system public jobs admin DELETE +system public jobs root UPDATE system public jobs root DELETE system public jobs root GRANT system public jobs root INSERT system public jobs root SELECT -system public jobs root UPDATE system public lease admin UPDATE system public lease admin SELECT system public lease admin DELETE system public lease admin GRANT system public lease admin INSERT +system public lease root INSERT system public lease root SELECT system public lease root UPDATE -system public lease root DELETE -system public lease root INSERT system public lease root GRANT -system public locations admin GRANT +system public lease root DELETE system public locations admin DELETE +system public locations admin GRANT system public locations admin INSERT system public locations admin SELECT system public locations admin UPDATE @@ -371,16 +374,16 @@ system public locations root SELE system public locations root DELETE system public namespace admin GRANT system public namespace admin SELECT -system public namespace root GRANT system public namespace root SELECT +system public namespace root GRANT system public rangelog admin DELETE system public rangelog admin GRANT system public rangelog admin INSERT system public rangelog admin SELECT system public rangelog admin UPDATE -system public rangelog root GRANT system public rangelog root DELETE system public rangelog root SELECT +system public rangelog root GRANT system public rangelog root INSERT system public rangelog root UPDATE system public role_members admin GRANT @@ -388,71 +391,71 @@ system public role_members admin INSE system public role_members admin UPDATE system public role_members admin SELECT system public role_members admin DELETE -system public role_members root GRANT +system public role_members root DELETE system public role_members root UPDATE +system public role_members root GRANT system public role_members root SELECT system public role_members root INSERT -system public role_members root DELETE -system public settings admin SELECT -system public settings admin INSERT system public settings admin GRANT -system public settings admin UPDATE +system public settings admin INSERT system public settings admin DELETE +system public settings admin SELECT +system public settings admin UPDATE system public settings root SELECT -system public settings root UPDATE -system public settings root INSERT system public settings root DELETE +system public settings root UPDATE system public settings root GRANT -system public table_statistics admin DELETE -system public table_statistics admin GRANT -system public table_statistics admin SELECT +system public settings root INSERT system public table_statistics admin UPDATE +system public table_statistics admin DELETE system public table_statistics admin INSERT +system public table_statistics admin SELECT +system public table_statistics admin GRANT system public table_statistics root SELECT -system public table_statistics root GRANT system public table_statistics root UPDATE system public table_statistics root DELETE +system public table_statistics root GRANT system public table_statistics root INSERT -system public ui admin UPDATE -system public ui admin DELETE -system public ui admin GRANT system public ui admin SELECT +system public ui admin GRANT +system public ui admin DELETE +system public ui admin UPDATE system public ui admin INSERT -system public ui root INSERT +system public ui root UPDATE system public ui root GRANT +system public ui root INSERT system public ui root SELECT -system public ui root UPDATE system public ui root DELETE -system public users admin UPDATE system public users admin DELETE system public users admin GRANT -system public users admin INSERT system public users admin SELECT +system public users admin UPDATE +system public users admin INSERT system public users root INSERT +system public users root DELETE system public users root GRANT -system public users root UPDATE system public users root SELECT -system public users root DELETE -system public web_sessions admin DELETE +system public users root UPDATE +system public web_sessions admin GRANT system public web_sessions admin INSERT -system public web_sessions admin UPDATE system public web_sessions admin SELECT -system public web_sessions admin GRANT +system public web_sessions admin UPDATE +system public web_sessions admin DELETE +system public web_sessions root DELETE +system public web_sessions root SELECT system public web_sessions root INSERT system public web_sessions root UPDATE -system public web_sessions root DELETE system public web_sessions root GRANT -system public web_sessions root SELECT +system public zones admin UPDATE system public zones admin INSERT -system public zones admin GRANT system public zones admin DELETE system public zones admin SELECT -system public zones admin UPDATE -system public zones root SELECT -system public zones root DELETE -system public zones root INSERT +system public zones admin GRANT system public zones root UPDATE +system public zones root INSERT system public zones root GRANT +system public zones root DELETE +system public zones root SELECT test crdb_internal NULL admin ALL test crdb_internal NULL root ALL test crdb_internal backward_dependencies public SELECT @@ -470,6 +473,7 @@ test crdb_internal kv_node_status public SELE test crdb_internal kv_store_status public SELECT test crdb_internal leases public SELECT test crdb_internal node_build_info public SELECT +test crdb_internal node_metrics public SELECT test crdb_internal node_queries public SELECT test crdb_internal node_runtime_info public SELECT test crdb_internal node_sessions public SELECT diff --git a/pkg/sql/logictest/testdata/logic_test/information_schema b/pkg/sql/logictest/testdata/logic_test/information_schema index 39ef8de91e44..6158ca0fb53e 100644 --- a/pkg/sql/logictest/testdata/logic_test/information_schema +++ b/pkg/sql/logictest/testdata/logic_test/information_schema @@ -222,6 +222,7 @@ crdb_internal leases crdb_internal node_build_info crdb_internal node_queries crdb_internal node_runtime_info +crdb_internal node_metrics crdb_internal node_sessions crdb_internal node_statement_statistics crdb_internal partitions @@ -335,6 +336,7 @@ kv_node_status kv_store_status leases node_build_info +node_metrics node_queries node_runtime_info node_sessions @@ -457,6 +459,7 @@ system crdb_internal kv_node_status SYSTEM VIE system crdb_internal kv_store_status SYSTEM VIEW NO 1 system crdb_internal leases SYSTEM VIEW NO 1 system crdb_internal node_build_info SYSTEM VIEW NO 1 +system crdb_internal node_metrics SYSTEM VIEW NO 1 system crdb_internal node_queries SYSTEM VIEW NO 1 system crdb_internal node_runtime_info SYSTEM VIEW NO 1 system crdb_internal node_sessions SYSTEM VIEW NO 1 @@ -961,18 +964,18 @@ NULL public system information_schema columns NULL public system information_schema constraint_column_usage SELECT NULL NULL NULL public system crdb_internal create_statements SELECT NULL NULL NULL root system public descriptor GRANT NULL NULL -NULL admin system public descriptor SELECT NULL NULL NULL root system public descriptor SELECT NULL NULL +NULL admin system public descriptor SELECT NULL NULL NULL admin system public descriptor GRANT NULL NULL NULL public system information_schema enabled_roles SELECT NULL NULL NULL root system public eventlog DELETE NULL NULL -NULL root system public eventlog GRANT NULL NULL -NULL root system public eventlog INSERT NULL NULL NULL root system public eventlog SELECT NULL NULL -NULL admin system public eventlog INSERT NULL NULL +NULL admin system public eventlog GRANT NULL NULL +NULL root system public eventlog INSERT NULL NULL NULL root system public eventlog UPDATE NULL NULL +NULL root system public eventlog GRANT NULL NULL NULL admin system public eventlog DELETE NULL NULL -NULL admin system public eventlog GRANT NULL NULL +NULL admin system public eventlog INSERT NULL NULL NULL admin system public eventlog SELECT NULL NULL NULL admin system public eventlog UPDATE NULL NULL NULL public system crdb_internal forward_dependencies SELECT NULL NULL @@ -980,45 +983,46 @@ NULL public system crdb_internal gossip_liveness NULL public system crdb_internal gossip_nodes SELECT NULL NULL NULL public system crdb_internal index_columns SELECT NULL NULL NULL root system public jobs SELECT NULL NULL +NULL admin system public jobs DELETE NULL NULL +NULL admin system public jobs INSERT NULL NULL +NULL admin system public jobs SELECT NULL NULL NULL admin system public jobs UPDATE NULL NULL NULL root system public jobs DELETE NULL NULL -NULL admin system public jobs SELECT NULL NULL NULL root system public jobs GRANT NULL NULL -NULL admin system public jobs INSERT NULL NULL -NULL admin system public jobs DELETE NULL NULL +NULL root system public jobs INSERT NULL NULL NULL public system crdb_internal jobs SELECT NULL NULL NULL root system public jobs UPDATE NULL NULL NULL admin system public jobs GRANT NULL NULL -NULL root system public jobs INSERT NULL NULL NULL public system information_schema key_column_usage SELECT NULL NULL NULL public system crdb_internal kv_node_status SELECT NULL NULL NULL public system crdb_internal kv_store_status SELECT NULL NULL +NULL admin system public lease INSERT NULL NULL +NULL admin system public lease SELECT NULL NULL NULL root system public lease SELECT NULL NULL -NULL root system public lease UPDATE NULL NULL -NULL root system public lease INSERT NULL NULL NULL admin system public lease UPDATE NULL NULL -NULL admin system public lease SELECT NULL NULL -NULL admin system public lease INSERT NULL NULL -NULL admin system public lease DELETE NULL NULL -NULL root system public lease GRANT NULL NULL NULL root system public lease DELETE NULL NULL NULL admin system public lease GRANT NULL NULL +NULL root system public lease GRANT NULL NULL +NULL root system public lease INSERT NULL NULL +NULL root system public lease UPDATE NULL NULL +NULL admin system public lease DELETE NULL NULL NULL public system crdb_internal leases SELECT NULL NULL -NULL admin system public locations INSERT NULL NULL -NULL admin system public locations UPDATE NULL NULL -NULL root system public locations GRANT NULL NULL -NULL admin system public locations DELETE NULL NULL +NULL admin system public locations SELECT NULL NULL NULL root system public locations DELETE NULL NULL +NULL root system public locations INSERT NULL NULL +NULL admin system public locations DELETE NULL NULL +NULL root system public locations GRANT NULL NULL NULL admin system public locations GRANT NULL NULL +NULL admin system public locations INSERT NULL NULL NULL root system public locations UPDATE NULL NULL NULL root system public locations SELECT NULL NULL -NULL root system public locations INSERT NULL NULL -NULL admin system public locations SELECT NULL NULL +NULL admin system public locations UPDATE NULL NULL NULL root system public namespace SELECT NULL NULL NULL root system public namespace GRANT NULL NULL -NULL admin system public namespace GRANT NULL NULL NULL admin system public namespace SELECT NULL NULL +NULL admin system public namespace GRANT NULL NULL NULL public system crdb_internal node_build_info SELECT NULL NULL +NULL public system crdb_internal node_metrics SELECT NULL NULL NULL public system crdb_internal node_queries SELECT NULL NULL NULL public system crdb_internal node_runtime_info SELECT NULL NULL NULL public system crdb_internal node_sessions SELECT NULL NULL @@ -1059,27 +1063,27 @@ NULL public system pg_catalog pg_user NULL public system pg_catalog pg_user_mapping SELECT NULL NULL NULL public system pg_catalog pg_views SELECT NULL NULL NULL root system public rangelog INSERT NULL NULL -NULL root system public rangelog GRANT NULL NULL NULL root system public rangelog DELETE NULL NULL NULL admin system public rangelog UPDATE NULL NULL -NULL admin system public rangelog INSERT NULL NULL +NULL admin system public rangelog SELECT NULL NULL NULL admin system public rangelog GRANT NULL NULL NULL admin system public rangelog DELETE NULL NULL -NULL root system public rangelog SELECT NULL NULL -NULL admin system public rangelog SELECT NULL NULL +NULL root system public rangelog GRANT NULL NULL +NULL admin system public rangelog INSERT NULL NULL NULL root system public rangelog UPDATE NULL NULL +NULL root system public rangelog SELECT NULL NULL NULL public system crdb_internal ranges SELECT NULL NULL NULL public system information_schema referential_constraints SELECT NULL NULL -NULL root system public role_members INSERT NULL NULL -NULL root system public role_members UPDATE NULL NULL NULL root system public role_members GRANT NULL NULL -NULL admin system public role_members SELECT NULL NULL +NULL admin system public role_members UPDATE NULL NULL +NULL root system public role_members UPDATE NULL NULL NULL admin system public role_members INSERT NULL NULL NULL admin system public role_members GRANT NULL NULL -NULL root system public role_members SELECT NULL NULL -NULL root system public role_members DELETE NULL NULL -NULL admin system public role_members UPDATE NULL NULL NULL admin system public role_members DELETE NULL NULL +NULL root system public role_members INSERT NULL NULL +NULL admin system public role_members SELECT NULL NULL +NULL root system public role_members DELETE NULL NULL +NULL root system public role_members SELECT NULL NULL NULL public system information_schema role_table_grants SELECT NULL NULL NULL public system crdb_internal schema_changes SELECT NULL NULL NULL public system information_schema schema_privileges SELECT NULL NULL @@ -1087,76 +1091,76 @@ NULL public system information_schema schemata NULL public system information_schema sequences SELECT NULL NULL NULL public system crdb_internal session_trace SELECT NULL NULL NULL public system crdb_internal session_variables SELECT NULL NULL -NULL root system public settings INSERT NULL NULL -NULL root system public settings UPDATE NULL NULL -NULL root system public settings DELETE NULL NULL +NULL root system public settings GRANT NULL NULL NULL root system public settings SELECT NULL NULL +NULL root system public settings INSERT NULL NULL NULL admin system public settings UPDATE NULL NULL NULL admin system public settings SELECT NULL NULL NULL admin system public settings INSERT NULL NULL NULL admin system public settings GRANT NULL NULL -NULL root system public settings GRANT NULL NULL NULL admin system public settings DELETE NULL NULL +NULL root system public settings UPDATE NULL NULL +NULL root system public settings DELETE NULL NULL NULL public system information_schema statistics SELECT NULL NULL NULL public system crdb_internal table_columns SELECT NULL NULL NULL public system information_schema table_constraints SELECT NULL NULL NULL public system crdb_internal table_indexes SELECT NULL NULL NULL public system information_schema table_privileges SELECT NULL NULL -NULL root system public table_statistics SELECT NULL NULL -NULL admin system public table_statistics INSERT NULL NULL -NULL root system public table_statistics UPDATE NULL NULL NULL admin system public table_statistics DELETE NULL NULL -NULL admin system public table_statistics UPDATE NULL NULL -NULL root system public table_statistics DELETE NULL NULL +NULL root system public table_statistics UPDATE NULL NULL NULL root system public table_statistics GRANT NULL NULL +NULL root system public table_statistics DELETE NULL NULL +NULL admin system public table_statistics SELECT NULL NULL +NULL admin system public table_statistics UPDATE NULL NULL NULL root system public table_statistics INSERT NULL NULL +NULL root system public table_statistics SELECT NULL NULL +NULL admin system public table_statistics INSERT NULL NULL NULL admin system public table_statistics GRANT NULL NULL -NULL admin system public table_statistics SELECT NULL NULL -NULL public system crdb_internal tables SELECT NULL NULL NULL public system information_schema tables SELECT NULL NULL -NULL admin system public ui GRANT NULL NULL -NULL admin system public ui SELECT NULL NULL -NULL admin system public ui UPDATE NULL NULL -NULL root system public ui UPDATE NULL NULL -NULL root system public ui DELETE NULL NULL -NULL root system public ui GRANT NULL NULL -NULL root system public ui INSERT NULL NULL +NULL public system crdb_internal tables SELECT NULL NULL NULL root system public ui SELECT NULL NULL -NULL admin system public ui DELETE NULL NULL +NULL root system public ui INSERT NULL NULL +NULL root system public ui GRANT NULL NULL +NULL admin system public ui UPDATE NULL NULL +NULL admin system public ui SELECT NULL NULL NULL admin system public ui INSERT NULL NULL +NULL admin system public ui GRANT NULL NULL +NULL admin system public ui DELETE NULL NULL +NULL root system public ui DELETE NULL NULL +NULL root system public ui UPDATE NULL NULL NULL public system information_schema user_privileges SELECT NULL NULL -NULL admin system public users GRANT NULL NULL -NULL admin system public users DELETE NULL NULL -NULL admin system public users UPDATE NULL NULL -NULL root system public users GRANT NULL NULL -NULL root system public users INSERT NULL NULL NULL root system public users UPDATE NULL NULL +NULL root system public users GRANT NULL NULL NULL root system public users DELETE NULL NULL +NULL admin system public users UPDATE NULL NULL NULL admin system public users SELECT NULL NULL NULL admin system public users INSERT NULL NULL +NULL admin system public users GRANT NULL NULL +NULL admin system public users DELETE NULL NULL NULL root system public users SELECT NULL NULL +NULL root system public users INSERT NULL NULL NULL public system information_schema views SELECT NULL NULL +NULL admin system public web_sessions DELETE NULL NULL +NULL admin system public web_sessions GRANT NULL NULL NULL admin system public web_sessions INSERT NULL NULL -NULL root system public web_sessions SELECT NULL NULL +NULL admin system public web_sessions SELECT NULL NULL NULL root system public web_sessions INSERT NULL NULL -NULL root system public web_sessions GRANT NULL NULL NULL root system public web_sessions DELETE NULL NULL -NULL admin system public web_sessions UPDATE NULL NULL -NULL admin system public web_sessions GRANT NULL NULL -NULL admin system public web_sessions SELECT NULL NULL +NULL root system public web_sessions GRANT NULL NULL NULL root system public web_sessions UPDATE NULL NULL -NULL admin system public web_sessions DELETE NULL NULL -NULL root system public zones GRANT NULL NULL -NULL root system public zones INSERT NULL NULL +NULL root system public web_sessions SELECT NULL NULL +NULL admin system public web_sessions UPDATE NULL NULL +NULL public system crdb_internal zones SELECT NULL NULL +NULL root system public zones DELETE NULL NULL NULL admin system public zones DELETE NULL NULL NULL admin system public zones GRANT NULL NULL NULL admin system public zones INSERT NULL NULL -NULL public system crdb_internal zones SELECT NULL NULL +NULL admin system public zones SELECT NULL NULL NULL admin system public zones UPDATE NULL NULL -NULL root system public zones DELETE NULL NULL -NULL root system public zones SELECT NULL NULL +NULL root system public zones GRANT NULL NULL NULL root system public zones UPDATE NULL NULL -NULL admin system public zones SELECT NULL NULL +NULL root system public zones SELECT NULL NULL +NULL root system public zones INSERT NULL NULL query TTTTTTTT colnames SELECT * FROM system.information_schema.role_table_grants @@ -1177,6 +1181,7 @@ NULL public system crdb_internal kv_node_status NULL public system crdb_internal kv_store_status SELECT NULL NULL NULL public system crdb_internal leases SELECT NULL NULL NULL public system crdb_internal node_build_info SELECT NULL NULL +NULL public system crdb_internal node_metrics SELECT NULL NULL NULL public system crdb_internal node_queries SELECT NULL NULL NULL public system crdb_internal node_runtime_info SELECT NULL NULL NULL public system crdb_internal node_sessions SELECT NULL NULL