Skip to content

Commit

Permalink
sql: create system tables for SQL stats
Browse files Browse the repository at this point in the history
This PR creates two new system tables: system.sql_statement_stats
and system.sql_transaction_stats per RFC cockroachdb#63752.

This is the initial step that addresses cockroachdb#64743.

Release note: None
  • Loading branch information
Azhng committed May 18, 2021
1 parent 65f685b commit 7b5fb52
Show file tree
Hide file tree
Showing 37 changed files with 1,267 additions and 643 deletions.
2 changes: 1 addition & 1 deletion docs/generated/settings/settings-for-tenants.txt
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,4 @@ trace.datadog.project string CockroachDB the project under which traces will be
trace.debug.enable boolean false if set, traces for recent requests can be seen at https://<ui>/debug/requests
trace.lightstep.token string if set, traces go to Lightstep using this token
trace.zipkin.collector string if set, traces go to the given Zipkin instance (example: '127.0.0.1:9411'). Only one tracer can be configured at a time.
version version 21.1-8 set the active cluster version in the format '<major>.<minor>'
version version 21.1-10 set the active cluster version in the format '<major>.<minor>'
2 changes: 1 addition & 1 deletion docs/generated/settings/settings.html
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,6 @@
<tr><td><code>trace.debug.enable</code></td><td>boolean</td><td><code>false</code></td><td>if set, traces for recent requests can be seen at https://<ui>/debug/requests</td></tr>
<tr><td><code>trace.lightstep.token</code></td><td>string</td><td><code></code></td><td>if set, traces go to Lightstep using this token</td></tr>
<tr><td><code>trace.zipkin.collector</code></td><td>string</td><td><code></code></td><td>if set, traces go to the given Zipkin instance (example: '127.0.0.1:9411'). Only one tracer can be configured at a time.</td></tr>
<tr><td><code>version</code></td><td>version</td><td><code>21.1-8</code></td><td>set the active cluster version in the format '<major>.<minor>'</td></tr>
<tr><td><code>version</code></td><td>version</td><td><code>21.1-10</code></td><td>set the active cluster version in the format '<major>.<minor>'</td></tr>
</tbody>
</table>
6 changes: 6 additions & 0 deletions pkg/ccl/backupccl/system_schema.go
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,12 @@ var systemTableBackupConfiguration = map[string]systemBackupConfiguration{
systemschema.JoinTokensTable.GetName(): {
shouldIncludeInClusterBackup: optOutOfClusterBackup,
},
systemschema.SQLStatementStatsTable.GetName(): {
shouldIncludeInClusterBackup: optOutOfClusterBackup,
},
systemschema.SQLTransactionStatsTable.GetName(): {
shouldIncludeInClusterBackup: optOutOfClusterBackup,
},
}

// GetSystemTablesToIncludeInClusterBackup returns a set of system table names that
Expand Down
1 change: 1 addition & 0 deletions pkg/ccl/streamingccl/streamclient/random_stream_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ func (m *randomStreamClient) getDescriptorAndNamespaceKVForTableID(
tableID,
fmt.Sprintf(RandomStreamSchemaPlaceholder, tableName),
descpb.NewDefaultPrivilegeDescriptor(security.RootUserName()),
nil, /* sessionDataOverride */
)
if err != nil {
return nil, nil, err
Expand Down
2 changes: 1 addition & 1 deletion pkg/cli/testdata/doctor/test_examine_cluster
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
debug doctor examine cluster
----
debug doctor examine cluster
Examining 36 descriptors and 37 namespace entries...
Examining 38 descriptors and 39 namespace entries...
ParentID 50, ParentSchemaID 29: relation "foo" (53): expected matching namespace entry, found none
Examining 3 jobs...
ERROR: validation failed
12 changes: 9 additions & 3 deletions pkg/cli/testdata/zip/partial1
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ debug zip --concurrency=1 --cpu-profile-duration=0s /dev/null
[node 1] 1 log file ...
[node 1] [log file ...
[node 1] requesting ranges... received response... done
[node 1] 37 ranges found
[node 1] 39 ranges found
[node 1] writing range 1... converting to JSON... writing binary output: debug/nodes/1/ranges/1.json... done
[node 1] writing range 2... converting to JSON... writing binary output: debug/nodes/1/ranges/2.json... done
[node 1] writing range 3... converting to JSON... writing binary output: debug/nodes/1/ranges/3.json... done
Expand Down Expand Up @@ -102,6 +102,8 @@ debug zip --concurrency=1 --cpu-profile-duration=0s /dev/null
[node 1] writing range 35... converting to JSON... writing binary output: debug/nodes/1/ranges/35.json... done
[node 1] writing range 36... converting to JSON... writing binary output: debug/nodes/1/ranges/36.json... done
[node 1] writing range 37... converting to JSON... writing binary output: debug/nodes/1/ranges/37.json... done
[node 1] writing range 38... converting to JSON... writing binary output: debug/nodes/1/ranges/38.json... done
[node 1] writing range 39... converting to JSON... writing binary output: debug/nodes/1/ranges/39.json... done
[node 2] node status... converting to JSON... writing binary output: debug/nodes/2/status.json... done
[node 2] using SQL connection URL: postgresql://...
[node 2] retrieving SQL data for crdb_internal.feature_usage... writing output: debug/nodes/2/crdb_internal.feature_usage.txt...
Expand Down Expand Up @@ -220,7 +222,7 @@ debug zip --concurrency=1 --cpu-profile-duration=0s /dev/null
[node 3] 1 log file ...
[node 3] [log file ...
[node 3] requesting ranges... received response... done
[node 3] 37 ranges found
[node 3] 39 ranges found
[node 3] writing range 1... converting to JSON... writing binary output: debug/nodes/3/ranges/1.json... done
[node 3] writing range 2... converting to JSON... writing binary output: debug/nodes/3/ranges/2.json... done
[node 3] writing range 3... converting to JSON... writing binary output: debug/nodes/3/ranges/3.json... done
Expand Down Expand Up @@ -258,6 +260,8 @@ debug zip --concurrency=1 --cpu-profile-duration=0s /dev/null
[node 3] writing range 35... converting to JSON... writing binary output: debug/nodes/3/ranges/35.json... done
[node 3] writing range 36... converting to JSON... writing binary output: debug/nodes/3/ranges/36.json... done
[node 3] writing range 37... converting to JSON... writing binary output: debug/nodes/3/ranges/37.json... done
[node 3] writing range 38... converting to JSON... writing binary output: debug/nodes/3/ranges/38.json... done
[node 3] writing range 39... converting to JSON... writing binary output: debug/nodes/3/ranges/39.json... done
[cluster] doctor examining cluster...... writing binary output: debug/reports/doctor.txt... done
[cluster] requesting list of SQL databases... received response... done
[cluster] 3 databases found
Expand All @@ -266,7 +270,7 @@ debug zip --concurrency=1 --cpu-profile-duration=0s /dev/null
[cluster] [database: postgres] requesting database details... received response... converting to JSON... writing binary output: debug/schema/postgres@details.json... done
[cluster] [database: postgres] 0 tables found
[cluster] [database: system] requesting database details... received response... converting to JSON... writing binary output: debug/schema/system@details.json... done
[cluster] [database: system] 31 tables found
[cluster] [database: system] 33 tables found
[cluster] [database: system] [table: public.comments] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_comments.json... done
[cluster] [database: system] [table: public.descriptor] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_descriptor.json... done
[cluster] [database: system] [table: public.eventlog] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_eventlog.json... done
Expand All @@ -288,6 +292,8 @@ debug zip --concurrency=1 --cpu-profile-duration=0s /dev/null
[cluster] [database: system] [table: public.role_options] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_role_options.json... done
[cluster] [database: system] [table: public.scheduled_jobs] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_scheduled_jobs.json... done
[cluster] [database: system] [table: public.settings] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_settings.json... done
[cluster] [database: system] [table: public.sql_statement_stats] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_sql_statement_stats.json... done
[cluster] [database: system] [table: public.sql_transaction_stats] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_sql_transaction_stats.json... done
[cluster] [database: system] [table: public.sqlliveness] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_sqlliveness.json... done
[cluster] [database: system] [table: public.statement_bundle_chunks] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_statement_bundle_chunks.json... done
[cluster] [database: system] [table: public.statement_diagnostics] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_statement_diagnostics.json... done
Expand Down
12 changes: 9 additions & 3 deletions pkg/cli/testdata/zip/partial1_excluded
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ debug zip /dev/null --concurrency=1 --exclude-nodes=2 --cpu-profile-duration=0
[node 1] 1 log file ...
[node 1] [log file ...
[node 1] requesting ranges... received response... done
[node 1] 37 ranges found
[node 1] 39 ranges found
[node 1] writing range 1... converting to JSON... writing binary output: debug/nodes/1/ranges/1.json... done
[node 1] writing range 2... converting to JSON... writing binary output: debug/nodes/1/ranges/2.json... done
[node 1] writing range 3... converting to JSON... writing binary output: debug/nodes/1/ranges/3.json... done
Expand Down Expand Up @@ -102,6 +102,8 @@ debug zip /dev/null --concurrency=1 --exclude-nodes=2 --cpu-profile-duration=0
[node 1] writing range 35... converting to JSON... writing binary output: debug/nodes/1/ranges/35.json... done
[node 1] writing range 36... converting to JSON... writing binary output: debug/nodes/1/ranges/36.json... done
[node 1] writing range 37... converting to JSON... writing binary output: debug/nodes/1/ranges/37.json... done
[node 1] writing range 38... converting to JSON... writing binary output: debug/nodes/1/ranges/38.json... done
[node 1] writing range 39... converting to JSON... writing binary output: debug/nodes/1/ranges/39.json... done
[node 2] skipping node... writing binary output: debug/nodes/2.skipped... done
[node 3] node status... converting to JSON... writing binary output: debug/nodes/3/status.json... done
[node 3] using SQL connection URL: postgresql://...
Expand Down Expand Up @@ -138,7 +140,7 @@ debug zip /dev/null --concurrency=1 --exclude-nodes=2 --cpu-profile-duration=0
[node 3] 1 log file ...
[node 3] [log file ...
[node 3] requesting ranges... received response... done
[node 3] 37 ranges found
[node 3] 39 ranges found
[node 3] writing range 1... converting to JSON... writing binary output: debug/nodes/3/ranges/1.json... done
[node 3] writing range 2... converting to JSON... writing binary output: debug/nodes/3/ranges/2.json... done
[node 3] writing range 3... converting to JSON... writing binary output: debug/nodes/3/ranges/3.json... done
Expand Down Expand Up @@ -176,6 +178,8 @@ debug zip /dev/null --concurrency=1 --exclude-nodes=2 --cpu-profile-duration=0
[node 3] writing range 35... converting to JSON... writing binary output: debug/nodes/3/ranges/35.json... done
[node 3] writing range 36... converting to JSON... writing binary output: debug/nodes/3/ranges/36.json... done
[node 3] writing range 37... converting to JSON... writing binary output: debug/nodes/3/ranges/37.json... done
[node 3] writing range 38... converting to JSON... writing binary output: debug/nodes/3/ranges/38.json... done
[node 3] writing range 39... converting to JSON... writing binary output: debug/nodes/3/ranges/39.json... done
[cluster] doctor examining cluster...... writing binary output: debug/reports/doctor.txt... done
[cluster] requesting list of SQL databases... received response... done
[cluster] 3 databases found
Expand All @@ -184,7 +188,7 @@ debug zip /dev/null --concurrency=1 --exclude-nodes=2 --cpu-profile-duration=0
[cluster] [database: postgres] requesting database details... received response... converting to JSON... writing binary output: debug/schema/postgres@details.json... done
[cluster] [database: postgres] 0 tables found
[cluster] [database: system] requesting database details... received response... converting to JSON... writing binary output: debug/schema/system@details.json... done
[cluster] [database: system] 31 tables found
[cluster] [database: system] 33 tables found
[cluster] [database: system] [table: public.comments] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_comments.json... done
[cluster] [database: system] [table: public.descriptor] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_descriptor.json... done
[cluster] [database: system] [table: public.eventlog] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_eventlog.json... done
Expand All @@ -206,6 +210,8 @@ debug zip /dev/null --concurrency=1 --exclude-nodes=2 --cpu-profile-duration=0
[cluster] [database: system] [table: public.role_options] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_role_options.json... done
[cluster] [database: system] [table: public.scheduled_jobs] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_scheduled_jobs.json... done
[cluster] [database: system] [table: public.settings] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_settings.json... done
[cluster] [database: system] [table: public.sql_statement_stats] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_sql_statement_stats.json... done
[cluster] [database: system] [table: public.sql_transaction_stats] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_sql_transaction_stats.json... done
[cluster] [database: system] [table: public.sqlliveness] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_sqlliveness.json... done
[cluster] [database: system] [table: public.statement_bundle_chunks] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_statement_bundle_chunks.json... done
[cluster] [database: system] [table: public.statement_diagnostics] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_statement_diagnostics.json... done
Expand Down
12 changes: 9 additions & 3 deletions pkg/cli/testdata/zip/partial2
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ debug zip --concurrency=1 --cpu-profile-duration=0 /dev/null
[node 1] 1 log file ...
[node 1] [log file ...
[node 1] requesting ranges... received response... done
[node 1] 37 ranges found
[node 1] 39 ranges found
[node 1] writing range 1... converting to JSON... writing binary output: debug/nodes/1/ranges/1.json... done
[node 1] writing range 2... converting to JSON... writing binary output: debug/nodes/1/ranges/2.json... done
[node 1] writing range 3... converting to JSON... writing binary output: debug/nodes/1/ranges/3.json... done
Expand Down Expand Up @@ -102,6 +102,8 @@ debug zip --concurrency=1 --cpu-profile-duration=0 /dev/null
[node 1] writing range 35... converting to JSON... writing binary output: debug/nodes/1/ranges/35.json... done
[node 1] writing range 36... converting to JSON... writing binary output: debug/nodes/1/ranges/36.json... done
[node 1] writing range 37... converting to JSON... writing binary output: debug/nodes/1/ranges/37.json... done
[node 1] writing range 38... converting to JSON... writing binary output: debug/nodes/1/ranges/38.json... done
[node 1] writing range 39... converting to JSON... writing binary output: debug/nodes/1/ranges/39.json... done
[node 3] node status... converting to JSON... writing binary output: debug/nodes/3/status.json... done
[node 3] using SQL connection URL: postgresql://...
[node 3] retrieving SQL data for crdb_internal.feature_usage... writing output: debug/nodes/3/crdb_internal.feature_usage.txt... done
Expand Down Expand Up @@ -137,7 +139,7 @@ debug zip --concurrency=1 --cpu-profile-duration=0 /dev/null
[node 3] 1 log file ...
[node 3] [log file ...
[node 3] requesting ranges... received response... done
[node 3] 37 ranges found
[node 3] 39 ranges found
[node 3] writing range 1... converting to JSON... writing binary output: debug/nodes/3/ranges/1.json... done
[node 3] writing range 2... converting to JSON... writing binary output: debug/nodes/3/ranges/2.json... done
[node 3] writing range 3... converting to JSON... writing binary output: debug/nodes/3/ranges/3.json... done
Expand Down Expand Up @@ -175,6 +177,8 @@ debug zip --concurrency=1 --cpu-profile-duration=0 /dev/null
[node 3] writing range 35... converting to JSON... writing binary output: debug/nodes/3/ranges/35.json... done
[node 3] writing range 36... converting to JSON... writing binary output: debug/nodes/3/ranges/36.json... done
[node 3] writing range 37... converting to JSON... writing binary output: debug/nodes/3/ranges/37.json... done
[node 3] writing range 38... converting to JSON... writing binary output: debug/nodes/3/ranges/38.json... done
[node 3] writing range 39... converting to JSON... writing binary output: debug/nodes/3/ranges/39.json... done
[cluster] doctor examining cluster...... writing binary output: debug/reports/doctor.txt... done
[cluster] requesting list of SQL databases... received response... done
[cluster] 3 databases found
Expand All @@ -183,7 +187,7 @@ debug zip --concurrency=1 --cpu-profile-duration=0 /dev/null
[cluster] [database: postgres] requesting database details... received response... converting to JSON... writing binary output: debug/schema/postgres@details.json... done
[cluster] [database: postgres] 0 tables found
[cluster] [database: system] requesting database details... received response... converting to JSON... writing binary output: debug/schema/system@details.json... done
[cluster] [database: system] 31 tables found
[cluster] [database: system] 33 tables found
[cluster] [database: system] [table: public.comments] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_comments.json... done
[cluster] [database: system] [table: public.descriptor] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_descriptor.json... done
[cluster] [database: system] [table: public.eventlog] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_eventlog.json... done
Expand All @@ -205,6 +209,8 @@ debug zip --concurrency=1 --cpu-profile-duration=0 /dev/null
[cluster] [database: system] [table: public.role_options] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_role_options.json... done
[cluster] [database: system] [table: public.scheduled_jobs] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_scheduled_jobs.json... done
[cluster] [database: system] [table: public.settings] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_settings.json... done
[cluster] [database: system] [table: public.sql_statement_stats] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_sql_statement_stats.json... done
[cluster] [database: system] [table: public.sql_transaction_stats] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_sql_transaction_stats.json... done
[cluster] [database: system] [table: public.sqlliveness] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_sqlliveness.json... done
[cluster] [database: system] [table: public.statement_bundle_chunks] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_statement_bundle_chunks.json... done
[cluster] [database: system] [table: public.statement_diagnostics] requesting table details... received response... converting to JSON... writing binary output: debug/schema/system/public_statement_diagnostics.json... done
Expand Down
Loading

0 comments on commit 7b5fb52

Please sign in to comment.