Skip to content

Commit d66e041

Browse files
committed
add source example id to telemetry
1 parent ff2e0c5 commit d66e041

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

coderd/telemetry/telemetry.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -868,6 +868,9 @@ func ConvertTemplateVersion(version database.TemplateVersion) TemplateVersion {
868868
if version.TemplateID.Valid {
869869
snapVersion.TemplateID = &version.TemplateID.UUID
870870
}
871+
if version.SourceExampleID.Valid {
872+
snapVersion.SourceExampleID = &version.SourceExampleID.String
873+
}
871874
return snapVersion
872875
}
873876

@@ -1116,11 +1119,12 @@ type Template struct {
11161119
}
11171120

11181121
type TemplateVersion struct {
1119-
ID uuid.UUID `json:"id"`
1120-
CreatedAt time.Time `json:"created_at"`
1121-
TemplateID *uuid.UUID `json:"template_id,omitempty"`
1122-
OrganizationID uuid.UUID `json:"organization_id"`
1123-
JobID uuid.UUID `json:"job_id"`
1122+
ID uuid.UUID `json:"id"`
1123+
CreatedAt time.Time `json:"created_at"`
1124+
TemplateID *uuid.UUID `json:"template_id,omitempty"`
1125+
OrganizationID uuid.UUID `json:"organization_id"`
1126+
JobID uuid.UUID `json:"job_id"`
1127+
SourceExampleID *string `json:"source_example_id,omitempty"`
11241128
}
11251129

11261130
type ProvisionerJob struct {

coderd/telemetry/telemetry_test.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package telemetry_test
22

33
import (
4+
"database/sql"
45
"encoding/json"
56
"net/http"
67
"net/http/httptest"
@@ -48,6 +49,10 @@ func TestTelemetry(t *testing.T) {
4849
_ = dbgen.Template(t, db, database.Template{
4950
Provisioner: database.ProvisionerTypeTerraform,
5051
})
52+
sourceExampleID := uuid.NewString()
53+
_ = dbgen.TemplateVersion(t, db, database.TemplateVersion{
54+
SourceExampleID: sql.NullString{String: sourceExampleID, Valid: true},
55+
})
5156
_ = dbgen.TemplateVersion(t, db, database.TemplateVersion{})
5257
user := dbgen.User(t, db, database.User{})
5358
_ = dbgen.Workspace(t, db, database.WorkspaceTable{})
@@ -93,7 +98,7 @@ func TestTelemetry(t *testing.T) {
9398
require.Len(t, snapshot.ProvisionerJobs, 1)
9499
require.Len(t, snapshot.Licenses, 1)
95100
require.Len(t, snapshot.Templates, 1)
96-
require.Len(t, snapshot.TemplateVersions, 1)
101+
require.Len(t, snapshot.TemplateVersions, 2)
97102
require.Len(t, snapshot.Users, 1)
98103
require.Len(t, snapshot.Groups, 2)
99104
// 1 member in the everyone group + 1 member in the custom group
@@ -111,6 +116,17 @@ func TestTelemetry(t *testing.T) {
111116
require.Len(t, wsa.Subsystems, 2)
112117
require.Equal(t, string(database.WorkspaceAgentSubsystemEnvbox), wsa.Subsystems[0])
113118
require.Equal(t, string(database.WorkspaceAgentSubsystemExectrace), wsa.Subsystems[1])
119+
120+
tvs := snapshot.TemplateVersions
121+
sort.Slice(tvs, func(i, j int) bool {
122+
// Sort by SourceExampleID presence (non-nil comes before nil)
123+
if (tvs[i].SourceExampleID != nil) != (tvs[j].SourceExampleID != nil) {
124+
return tvs[i].SourceExampleID != nil
125+
}
126+
return false
127+
})
128+
require.Equal(t, tvs[0].SourceExampleID, &sourceExampleID)
129+
require.Nil(t, tvs[1].SourceExampleID)
114130
})
115131
t.Run("HashedEmail", func(t *testing.T) {
116132
t.Parallel()

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy