Skip to content

Commit d4a1957

Browse files
authored
fix(q_dev): fix task logging (#8503)
1 parent 8989fcb commit d4a1957

File tree

6 files changed

+190
-125
lines changed

6 files changed

+190
-125
lines changed

backend/plugins/q_dev/api/connection_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,11 +231,11 @@ func TestConnectionSanitization_PreservesIdentityStore(t *testing.T) {
231231

232232
// Secret should be sanitized
233233
assert.NotEqual(t, "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", sanitized.SecretAccessKey)
234-
234+
235235
// Identity Store fields should be preserved
236236
assert.Equal(t, "d-1234567890", sanitized.IdentityStoreId)
237237
assert.Equal(t, "us-west-2", sanitized.IdentityStoreRegion)
238-
238+
239239
// Other fields should be preserved
240240
assert.Equal(t, "AKIAIOSFODNN7EXAMPLE", sanitized.AccessKeyId)
241241
assert.Equal(t, "us-east-1", sanitized.Region)

backend/plugins/q_dev/impl/impl.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package impl
1919

2020
import (
2121
"fmt"
22+
2223
"github.com/apache/incubator-devlake/core/context"
2324
"github.com/apache/incubator-devlake/core/dal"
2425
"github.com/apache/incubator-devlake/core/errors"

backend/plugins/q_dev/models/migrationscripts/archived/user_metrics.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ limitations under the License.
1818
package archived
1919

2020
import (
21-
"github.com/apache/incubator-devlake/core/models/migrationscripts/archived"
2221
"time"
22+
23+
"github.com/apache/incubator-devlake/core/models/migrationscripts/archived"
2324
)
2425

2526
// QDevUserMetrics 存储按用户聚合的指标数据

backend/plugins/q_dev/models/user_data_test.go

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -20,67 +20,67 @@ package models
2020
import (
2121
"testing"
2222
"time"
23-
23+
2424
"github.com/stretchr/testify/assert"
2525
)
2626

2727
func TestQDevUserDataAllMetrics(t *testing.T) {
2828
// Create a test user data object with all metrics
2929
userData := &QDevUserData{
3030
ConnectionId: 1,
31-
UserId: "test-user-id",
32-
Date: time.Now(),
33-
DisplayName: "Test User",
34-
31+
UserId: "test-user-id",
32+
Date: time.Now(),
33+
DisplayName: "Test User",
34+
3535
// Set values for existing metrics
36-
CodeReview_FindingsCount: 10,
37-
CodeReview_SucceededEventCount: 11,
38-
InlineChat_AcceptanceEventCount: 12,
39-
InlineChat_AcceptedLineAdditions: 13,
40-
InlineChat_AcceptedLineDeletions: 14,
41-
InlineChat_DismissalEventCount: 15,
36+
CodeReview_FindingsCount: 10,
37+
CodeReview_SucceededEventCount: 11,
38+
InlineChat_AcceptanceEventCount: 12,
39+
InlineChat_AcceptedLineAdditions: 13,
40+
InlineChat_AcceptedLineDeletions: 14,
41+
InlineChat_DismissalEventCount: 15,
4242
InlineChat_DismissedLineAdditions: 16,
4343
InlineChat_DismissedLineDeletions: 17,
44-
InlineChat_RejectedLineAdditions: 18,
45-
InlineChat_RejectedLineDeletions: 19,
46-
InlineChat_RejectionEventCount: 20,
47-
InlineChat_TotalEventCount: 21,
48-
Inline_AICodeLines: 22,
49-
Inline_AcceptanceCount: 23,
50-
Inline_SuggestionsCount: 24,
51-
44+
InlineChat_RejectedLineAdditions: 18,
45+
InlineChat_RejectedLineDeletions: 19,
46+
InlineChat_RejectionEventCount: 20,
47+
InlineChat_TotalEventCount: 21,
48+
Inline_AICodeLines: 22,
49+
Inline_AcceptanceCount: 23,
50+
Inline_SuggestionsCount: 24,
51+
5252
// Set values for new metrics
53-
Chat_AICodeLines: 25,
54-
Chat_MessagesInteracted: 26,
55-
Chat_MessagesSent: 27,
56-
CodeFix_AcceptanceEventCount: 28,
57-
CodeFix_AcceptedLines: 29,
58-
CodeFix_GeneratedLines: 30,
59-
CodeFix_GenerationEventCount: 31,
60-
CodeReview_FailedEventCount: 32,
61-
Dev_AcceptanceEventCount: 33,
62-
Dev_AcceptedLines: 34,
63-
Dev_GeneratedLines: 35,
64-
Dev_GenerationEventCount: 36,
65-
DocGeneration_AcceptedFileUpdates: 37,
53+
Chat_AICodeLines: 25,
54+
Chat_MessagesInteracted: 26,
55+
Chat_MessagesSent: 27,
56+
CodeFix_AcceptanceEventCount: 28,
57+
CodeFix_AcceptedLines: 29,
58+
CodeFix_GeneratedLines: 30,
59+
CodeFix_GenerationEventCount: 31,
60+
CodeReview_FailedEventCount: 32,
61+
Dev_AcceptanceEventCount: 33,
62+
Dev_AcceptedLines: 34,
63+
Dev_GeneratedLines: 35,
64+
Dev_GenerationEventCount: 36,
65+
DocGeneration_AcceptedFileUpdates: 37,
6666
DocGeneration_AcceptedFilesCreations: 38,
67-
DocGeneration_AcceptedLineAdditions: 39,
68-
DocGeneration_AcceptedLineUpdates: 40,
69-
DocGeneration_EventCount: 41,
70-
DocGeneration_RejectedFileCreations: 42,
71-
DocGeneration_RejectedFileUpdates: 43,
72-
DocGeneration_RejectedLineAdditions: 44,
73-
DocGeneration_RejectedLineUpdates: 45,
74-
TestGeneration_AcceptedLines: 46,
75-
TestGeneration_AcceptedTests: 47,
76-
TestGeneration_EventCount: 48,
77-
TestGeneration_GeneratedLines: 49,
78-
TestGeneration_GeneratedTests: 50,
79-
Transformation_EventCount: 51,
80-
Transformation_LinesGenerated: 52,
81-
Transformation_LinesIngested: 53,
67+
DocGeneration_AcceptedLineAdditions: 39,
68+
DocGeneration_AcceptedLineUpdates: 40,
69+
DocGeneration_EventCount: 41,
70+
DocGeneration_RejectedFileCreations: 42,
71+
DocGeneration_RejectedFileUpdates: 43,
72+
DocGeneration_RejectedLineAdditions: 44,
73+
DocGeneration_RejectedLineUpdates: 45,
74+
TestGeneration_AcceptedLines: 46,
75+
TestGeneration_AcceptedTests: 47,
76+
TestGeneration_EventCount: 48,
77+
TestGeneration_GeneratedLines: 49,
78+
TestGeneration_GeneratedTests: 50,
79+
Transformation_EventCount: 51,
80+
Transformation_LinesGenerated: 52,
81+
Transformation_LinesIngested: 53,
8282
}
83-
83+
8484
// Verify that all metrics are accessible
8585
// Existing metrics
8686
assert.Equal(t, 10, userData.CodeReview_FindingsCount)
@@ -98,7 +98,7 @@ func TestQDevUserDataAllMetrics(t *testing.T) {
9898
assert.Equal(t, 22, userData.Inline_AICodeLines)
9999
assert.Equal(t, 23, userData.Inline_AcceptanceCount)
100100
assert.Equal(t, 24, userData.Inline_SuggestionsCount)
101-
101+
102102
// New metrics
103103
assert.Equal(t, 25, userData.Chat_AICodeLines)
104104
assert.Equal(t, 26, userData.Chat_MessagesInteracted)

backend/plugins/q_dev/tasks/s3_data_extractor.go

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func processCSVData(taskCtx plugin.SubTaskContext, db dal.Dal, reader io.ReadClo
119119

120120
// 读取标头
121121
headers, err := csvReader.Read()
122-
fmt.Printf("headers: %+v\n", headers)
122+
taskCtx.GetLogger().Debug("CSV headers: %+v", headers)
123123
if err != nil {
124124
return errors.Convert(err)
125125
}
@@ -135,7 +135,7 @@ func processCSVData(taskCtx plugin.SubTaskContext, db dal.Dal, reader io.ReadClo
135135
}
136136

137137
// 创建用户数据对象 (updated to include display name resolution)
138-
userData, err := createUserDataWithDisplayName(headers, record, fileMeta, data.IdentityClient)
138+
userData, err := createUserDataWithDisplayName(taskCtx.GetLogger(), headers, record, fileMeta, data.IdentityClient)
139139
if err != nil {
140140
return errors.Default.Wrap(err, "failed to create user data")
141141
}
@@ -156,7 +156,9 @@ type UserDisplayNameResolver interface {
156156
}
157157

158158
// 从CSV记录创建用户数据对象 (enhanced with display name resolution)
159-
func createUserDataWithDisplayName(headers []string, record []string, fileMeta *models.QDevS3FileMeta, identityClient UserDisplayNameResolver) (*models.QDevUserData, errors.Error) {
159+
func createUserDataWithDisplayName(logger interface {
160+
Debug(format string, a ...interface{})
161+
}, headers []string, record []string, fileMeta *models.QDevS3FileMeta, identityClient UserDisplayNameResolver) (*models.QDevUserData, errors.Error) {
160162
userData := &models.QDevUserData{
161163
ConnectionId: fileMeta.ConnectionId,
162164
}
@@ -165,13 +167,12 @@ func createUserDataWithDisplayName(headers []string, record []string, fileMeta *
165167
fieldMap := make(map[string]string)
166168
for i, header := range headers {
167169
if i < len(record) {
168-
// 打印每个header和对应的值,帮助调试
169-
fmt.Printf("Mapping header[%d]: '%s' -> '%s'\n", i, header, record[i])
170+
logger.Debug("Mapping header[%d]: '%s' -> '%s'", i, header, record[i])
170171
fieldMap[header] = record[i]
171172
// 同时添加去除空格的版本
172173
trimmedHeader := strings.TrimSpace(header)
173174
if trimmedHeader != header {
174-
fmt.Printf("Also adding trimmed header: '%s'\n", trimmedHeader)
175+
logger.Debug("Also adding trimmed header: '%s'", trimmedHeader)
175176
fieldMap[trimmedHeader] = record[i]
176177
}
177178
}
@@ -188,7 +189,7 @@ func createUserDataWithDisplayName(headers []string, record []string, fileMeta *
188189
}
189190

190191
// 设置DisplayName (new functionality)
191-
userData.DisplayName = resolveDisplayName(userData.UserId, identityClient)
192+
userData.DisplayName = resolveDisplayName(logger, userData.UserId, identityClient)
192193

193194
// 设置Date
194195
dateStr, ok := fieldMap["Date"]
@@ -251,7 +252,9 @@ func createUserDataWithDisplayName(headers []string, record []string, fileMeta *
251252
}
252253

253254
// resolveDisplayName resolves user ID to display name using Identity Client
254-
func resolveDisplayName(userId string, identityClient UserDisplayNameResolver) string {
255+
func resolveDisplayName(logger interface {
256+
Debug(format string, a ...interface{})
257+
}, userId string, identityClient UserDisplayNameResolver) string {
255258
// If no identity client available, use userId as fallback
256259
if identityClient == nil {
257260
return userId
@@ -261,7 +264,7 @@ func resolveDisplayName(userId string, identityClient UserDisplayNameResolver) s
261264
displayName, err := identityClient.ResolveUserDisplayName(userId)
262265
if err != nil {
263266
// Log error but continue with userId as fallback
264-
fmt.Printf("Failed to resolve display name for user %s: %v\n", userId, err)
267+
logger.Debug("Failed to resolve display name for user %s: %v", userId, err)
265268
return userId
266269
}
267270

0 commit comments

Comments
 (0)