Skip to content

Commit 032a3f7

Browse files
committed
sqltelemetry: add missing schema telemetry
CREATE [ SCHEMA | INDEX | FUNCTION | TYPE ] and ALTER FUNCTION did not have any telemetry, but they should. Release note: None
1 parent e24a5a8 commit 032a3f7

18 files changed

Lines changed: 89 additions & 0 deletions

File tree

pkg/ccl/schemachangerccl/testdata/end_to_end/create_index/create_index.side_effects

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ CREATE INDEX id1
1313
begin transaction #1
1414
# begin StatementPhase
1515
checking for feature: CREATE INDEX
16+
increment telemetry for sql.schema.create_index
1617
write *eventpb.CreateIndex to event log:
1718
indexName: id1
1819
mutationId: 1

pkg/sql/alter_function.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"context"
1515

1616
"github.com/cockroachdb/cockroach/pkg/security/username"
17+
"github.com/cockroachdb/cockroach/pkg/server/telemetry"
1718
"github.com/cockroachdb/cockroach/pkg/sql/catalog"
1819
"github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb"
1920
"github.com/cockroachdb/cockroach/pkg/sql/catalog/funcdesc"
@@ -22,6 +23,7 @@ import (
2223
"github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgerror"
2324
"github.com/cockroachdb/cockroach/pkg/sql/privilege"
2425
"github.com/cockroachdb/cockroach/pkg/sql/sem/tree"
26+
"github.com/cockroachdb/cockroach/pkg/sql/sqltelemetry"
2527
"github.com/cockroachdb/cockroach/pkg/sql/types"
2628
"github.com/cockroachdb/cockroach/pkg/util/errorutil/unimplemented"
2729
"github.com/cockroachdb/cockroach/pkg/util/log/eventpb"
@@ -63,6 +65,8 @@ func (p *planner) AlterFunctionOptions(
6365
}
6466

6567
func (n *alterFunctionOptionsNode) startExec(params runParams) error {
68+
telemetry.Inc(sqltelemetry.SchemaChangeAlterCounter("function"))
69+
6670
fnDesc, err := params.p.mustGetMutableFunctionForAlter(params.ctx, &n.n.Function)
6771
if err != nil {
6872
return err
@@ -147,6 +151,7 @@ func (p *planner) AlterFunctionRename(
147151
}
148152

149153
func (n *alterFunctionRenameNode) startExec(params runParams) error {
154+
telemetry.Inc(sqltelemetry.SchemaChangeAlterCounter("function"))
150155
// TODO(chengxiong): add validation that a function can not be altered if it's
151156
// referenced by other objects. This is needed when want to allow function
152157
// references.
@@ -220,6 +225,7 @@ func (p *planner) AlterFunctionSetOwner(
220225
}
221226

222227
func (n *alterFunctionSetOwnerNode) startExec(params runParams) error {
228+
telemetry.Inc(sqltelemetry.SchemaChangeAlterCounter("function"))
223229
fnDesc, err := params.p.mustGetMutableFunctionForAlter(params.ctx, &n.n.Function)
224230
if err != nil {
225231
return err
@@ -280,6 +286,7 @@ func (p *planner) AlterFunctionSetSchema(
280286
}
281287

282288
func (n *alterFunctionSetSchemaNode) startExec(params runParams) error {
289+
telemetry.Inc(sqltelemetry.SchemaChangeAlterCounter("function"))
283290
// TODO(chengxiong): add validation that a function can not be altered if it's
284291
// referenced by other objects. This is needed when want to allow function
285292
// references.

pkg/sql/create_function.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
"fmt"
1616

1717
"github.com/cockroachdb/cockroach/pkg/keys"
18+
"github.com/cockroachdb/cockroach/pkg/server/telemetry"
1819
"github.com/cockroachdb/cockroach/pkg/sql/catalog"
1920
"github.com/cockroachdb/cockroach/pkg/sql/catalog/catpb"
2021
"github.com/cockroachdb/cockroach/pkg/sql/catalog/catprivilege"
@@ -28,6 +29,7 @@ import (
2829
"github.com/cockroachdb/cockroach/pkg/sql/privilege"
2930
"github.com/cockroachdb/cockroach/pkg/sql/sem/tree"
3031
"github.com/cockroachdb/cockroach/pkg/sql/sqlerrors"
32+
"github.com/cockroachdb/cockroach/pkg/sql/sqltelemetry"
3133
"github.com/cockroachdb/cockroach/pkg/sql/types"
3234
"github.com/cockroachdb/cockroach/pkg/util/errorutil/unimplemented"
3335
"github.com/cockroachdb/cockroach/pkg/util/log/eventpb"
@@ -68,6 +70,9 @@ func (n *createFunctionNode) startExec(params runParams) error {
6870
if scDesc.SchemaKind() == catalog.SchemaTemporary {
6971
return unimplemented.NewWithIssue(104687, "cannot create UDFs under a temporary schema")
7072
}
73+
74+
telemetry.Inc(sqltelemetry.SchemaChangeCreateCounter("function"))
75+
7176
mutScDesc, err := params.p.descCollection.MutableByName(params.p.Txn()).Schema(params.ctx, n.dbDesc, n.scDesc.GetName())
7277
if err != nil {
7378
return err

pkg/sql/create_type.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"github.com/cockroachdb/cockroach/pkg/clusterversion"
1818
"github.com/cockroachdb/cockroach/pkg/keys"
1919
"github.com/cockroachdb/cockroach/pkg/kv"
20+
"github.com/cockroachdb/cockroach/pkg/server/telemetry"
2021
"github.com/cockroachdb/cockroach/pkg/sql/catalog"
2122
"github.com/cockroachdb/cockroach/pkg/sql/catalog/catprivilege"
2223
"github.com/cockroachdb/cockroach/pkg/sql/catalog/descpb"
@@ -80,6 +81,7 @@ func (p *planner) CreateType(ctx context.Context, n *tree.CreateType) (planNode,
8081
}
8182

8283
func (n *createTypeNode) startExec(params runParams) error {
84+
telemetry.Inc(sqltelemetry.SchemaChangeCreateCounter("type"))
8385
// Check if a type with the same name exists already.
8486
g := params.p.Descriptors().ByName(params.p.Txn()).MaybeGet()
8587
_, typ, err := descs.PrefixAndType(params.ctx, g, n.typeName)

pkg/sql/schemachanger/scbuild/internal/scbuildstmt/create_function.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ func CreateFunction(b BuildCtx, n *tree.CreateFunction) {
2828
if n.Replace {
2929
panic(scerrors.NotImplementedError(n))
3030
}
31+
b.IncrementSchemaChangeCreateCounter("function")
3132

3233
dbElts, scElts := b.ResolvePrefix(n.FuncName.ObjectNamePrefix, privilege.CREATE)
3334
_, _, sc := scpb.FindSchema(scElts)

pkg/sql/schemachanger/scbuild/internal/scbuildstmt/create_index.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import (
4747

4848
// CreateIndex implements CREATE INDEX.
4949
func CreateIndex(b BuildCtx, n *tree.CreateIndex) {
50+
b.IncrementSchemaChangeCreateCounter("index")
5051
// Resolve the table name and start building the new index element.
5152
relationElements := b.ResolveRelation(n.Table.ToUnresolvedObjectName(), ResolveParams{
5253
IsExistenceOptional: false,

pkg/sql/schemachanger/scbuild/internal/scbuildstmt/create_schema.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ func CreateSchema(b BuildCtx, n *tree.CreateSchema) {
4040
}
4141
}
4242

43+
b.IncrementSchemaChangeCreateCounter("schema")
4344
sqltelemetry.IncrementUserDefinedSchemaCounter(sqltelemetry.UserDefinedSchemaCreate)
4445
dbElts := b.ResolveDatabase(n.Schema.CatalogName, ResolveParams{
4546
IsExistenceOptional: false,

pkg/sql/schemachanger/scbuild/internal/scbuildstmt/dependencies.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,10 @@ type TreeAnnotator interface {
148148
// Telemetry allows incrementing schema change telemetry counters.
149149
type Telemetry interface {
150150

151+
// IncrementSchemaChangeCreateCounter increments the selected CREATE telemetry
152+
// counter.
153+
IncrementSchemaChangeCreateCounter(counterType string)
154+
151155
// IncrementSchemaChangeAlterCounter increments the selected ALTER telemetry
152156
// counter.
153157
IncrementSchemaChangeAlterCounter(counterType string, extra ...string)

pkg/sql/schemachanger/scdeps/build_deps.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,12 @@ func (d *buildDeps) IncrementSchemaChangeAlterCounter(counterType string, extra
385385
telemetry.Inc(sqltelemetry.SchemaChangeAlterCounterWithExtra(counterType, maybeExtra))
386386
}
387387

388+
// IncrementSchemaChangeCreateCounter implements the scbuild.Dependencies
389+
// interface.
390+
func (d *buildDeps) IncrementSchemaChangeCreateCounter(counterType string) {
391+
telemetry.Inc(sqltelemetry.SchemaChangeCreateCounter(counterType))
392+
}
393+
388394
// IncrementSchemaChangeDropCounter implements the scbuild.Dependencies
389395
// interface.
390396
func (d *buildDeps) IncrementSchemaChangeDropCounter(counterType string) {

pkg/sql/schemachanger/scdeps/sctestdeps/test_deps.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,12 @@ func (s *TestState) IncrementSchemaChangeDropCounter(counterType string) {
110110
s.LogSideEffectf("increment telemetry for sql.schema.drop_%s", counterType)
111111
}
112112

113+
// IncrementSchemaChangeCreateCounter implements the scbuild.Dependencies
114+
// interface.
115+
func (s *TestState) IncrementSchemaChangeCreateCounter(counterType string) {
116+
s.LogSideEffectf("increment telemetry for sql.schema.create_%s", counterType)
117+
}
118+
113119
// IncrementSchemaChangeAddColumnTypeCounter implements the scbuild.Dependencies
114120
// interface.
115121
func (s *TestState) IncrementSchemaChangeAddColumnTypeCounter(typeName string) {

0 commit comments

Comments
 (0)