Skip to content

Commit 49c736b

Browse files
added logging message, refactored logging messages into method
1 parent 0f29f88 commit 49c736b

File tree

2 files changed

+29
-42
lines changed

2 files changed

+29
-42
lines changed

internal/cortex/frontend/transport/utils/utils.go

Lines changed: 21 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,7 @@ func (f *FailedQueryCache) updateFailedQueryCache(err error, queryExpressionNorm
4747

4848
// Checking if error code extracted successfully.
4949
if codeExtract == nil || len(codeExtract) < 2 {
50-
message := fmt.Sprintf(
51-
`%s: %s, %s: %s, %s: %d, %s: %s`,
52-
"msg", "String regex conversion error",
53-
"normalized query", queryExpressionNormalized,
54-
"query range seconds", queryExpressionRangeLength,
55-
"updating cache for error", err,
56-
)
50+
message := createLogMessage("String to regex conversion error", queryExpressionNormalized, -1, queryExpressionRangeLength, err)
5751
return false, message
5852
}
5953

@@ -62,25 +56,13 @@ func (f *FailedQueryCache) updateFailedQueryCache(err error, queryExpressionNorm
6256

6357
// Checking if error code extracted properly from string.
6458
if strConvError != nil {
65-
message := fmt.Sprintf(
66-
`%s: %s, %s: %s, %s: %d, %s: %s`,
67-
"msg", "String to int conversion error",
68-
"normalized query", queryExpressionNormalized,
69-
"query range seconds", queryExpressionRangeLength,
70-
"updating cache for error", err,
71-
)
59+
message := createLogMessage("String to int conversion error", queryExpressionNormalized, -1, queryExpressionRangeLength, err)
7260
return false, message
7361
}
7462

7563
// If error should be cached, store it in cache.
7664
if !isCacheableError(errCode) {
77-
message := fmt.Sprintf(
78-
`%s: %s, %s: %s, %s: %d, %s: %s`,
79-
"msg", "Query not cached due to non-cacheable error code",
80-
"normalized query", queryExpressionNormalized,
81-
"query range seconds", queryExpressionRangeLength,
82-
"updating cache for error", err,
83-
)
65+
message := createLogMessage("Query not cached due to non-cacheable error code", queryExpressionNormalized, -1, queryExpressionRangeLength, err)
8466
return false, message
8567
}
8668

@@ -92,26 +74,16 @@ func (f *FailedQueryCache) updateFailedQueryCache(err error, queryExpressionNorm
9274
lruCache.Add(queryExpressionNormalized, queryExpressionRangeLength)
9375
}
9476

95-
message := fmt.Sprintf(
96-
`%s: %s, %s: %s, %s: %d, %s: %s`,
97-
"msg", "Cached a failed query",
98-
"normalized query", queryExpressionNormalized,
99-
"range seconds", queryExpressionRangeLength,
100-
"updating cache for error", err,
101-
)
77+
message := createLogMessage("Cached a failed query", queryExpressionNormalized, -1, queryExpressionRangeLength, err)
10278
return true, message
10379
}
10480

10581
// QueryHitCache checks if the lru cache is hit and returns whether to increment counter for cache hits along with appropriate message.
10682
func queryHitCache(queryExpressionNormalized string, queryExpressionRangeLength int, lruCache *lru.Cache) (bool, string) {
10783
if value, ok := lruCache.Get(queryExpressionNormalized); ok && value.(int) <= queryExpressionRangeLength {
108-
message := fmt.Sprintf(
109-
`%s: %s, %s: %s, %s: %d`, "msg", "Retrieved query from cache",
110-
"normalized query", queryExpressionNormalized,
111-
"range seconds", queryExpressionRangeLength)
112-
84+
cachedQueryRangeSeconds := value.(int)
85+
message := createLogMessage("Retrieved query from cache", queryExpressionNormalized, cachedQueryRangeSeconds, queryExpressionRangeLength, nil)
11386
return true, message
114-
11587
}
11688
return false, ""
11789
}
@@ -143,6 +115,21 @@ func (f *FailedQueryCache) normalizeQueryString(query url.Values) string {
143115
return f.regex.ReplaceAllString(query.Get("query"), " ")
144116
}
145117

118+
func createLogMessage(message string, queryExpressionNormalized string, cachedQueryRangeSeconds int, queryExpressionRangeLength int, err error) string {
119+
if err == nil {
120+
return fmt.Sprintf(
121+
`%s: %s, %s: %s, %s: %d, %s: %d`, "msg", message,
122+
"cached_query", queryExpressionNormalized,
123+
"cached_range_seconds", cachedQueryRangeSeconds,
124+
"query_range_seconds", queryExpressionRangeLength)
125+
}
126+
return fmt.Sprintf(
127+
`%s: %s, %s: %s, %s: %d, %s: %s`, "msg", message,
128+
"cached_query", queryExpressionNormalized,
129+
"query_range_seconds", queryExpressionRangeLength,
130+
"cached_error", err)
131+
}
132+
146133
func (f *FailedQueryCache) UpdateFailedQueryCache(err error, query url.Values) (bool, string) {
147134
queryExpressionNormalized := f.normalizeQueryString(query)
148135
queryExpressionRangeLength := getQueryRangeSeconds(query)

internal/cortex/frontend/transport/utils/utils_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func TestUpdateFailedQueryCache(t *testing.T) {
3939
"query": {"test_query"},
4040
},
4141
expectedResult: false,
42-
expectedMessage: "msg: String regex conversion error, normalized query: test_query, query range seconds: 100, updating cache for error: no error code here",
42+
expectedMessage: "msg: String to regex conversion error, cached_query: test_query, query_range_seconds: 100, cached_error: no error code here",
4343
},
4444
{
4545
name: "Non-cacheable error code",
@@ -50,7 +50,7 @@ func TestUpdateFailedQueryCache(t *testing.T) {
5050
"query": {"test_query"},
5151
},
5252
expectedResult: false,
53-
expectedMessage: "msg: Query not cached due to non-cacheable error code, normalized query: test_query, query range seconds: 100, updating cache for error: serads;ajkvsd( Code(500) code)asd",
53+
expectedMessage: "msg: Query not cached due to non-cacheable error code, cached_query: test_query, query_range_seconds: 100, cached_error: serads;ajkvsd( Code(500) code)asd",
5454
},
5555
{
5656
name: "Cacheable error code",
@@ -61,7 +61,7 @@ func TestUpdateFailedQueryCache(t *testing.T) {
6161
"query": {"test_query"},
6262
},
6363
expectedResult: true,
64-
expectedMessage: "msg: Cached a failed query, normalized query: test_query, range seconds: 100, updating cache for error: This is a random error Code(408). It is random.",
64+
expectedMessage: "msg: Cached a failed query, cached_query: test_query, query_range_seconds: 100, cached_error: This is a random error Code(408). It is random.",
6565
},
6666

6767
{
@@ -73,7 +73,7 @@ func TestUpdateFailedQueryCache(t *testing.T) {
7373
"query": {"\n \t tes \t t query \n"},
7474
},
7575
expectedResult: true,
76-
expectedMessage: "msg: Cached a failed query, normalized query: tes t query , range seconds: 100, updating cache for error: Adding error with query that has whitespace and tabs Code(408). Let's see what happens.",
76+
expectedMessage: "msg: Cached a failed query, cached_query: tes t query , query_range_seconds: 100, cached_error: Adding error with query that has whitespace and tabs Code(408). Let's see what happens.",
7777
},
7878

7979
{
@@ -85,7 +85,7 @@ func TestUpdateFailedQueryCache(t *testing.T) {
8585
"query": {"test_query"},
8686
},
8787
expectedResult: true,
88-
expectedMessage: "msg: Cached a failed query, normalized query: test_query, range seconds: 80, updating cache for error: error code( Code(408) error.)",
88+
expectedMessage: "msg: Cached a failed query, cached_query: test_query, query_range_seconds: 80, cached_error: error code( Code(408) error.)",
8989
},
9090

9191
{
@@ -97,7 +97,7 @@ func TestUpdateFailedQueryCache(t *testing.T) {
9797
"query": {"test_query"},
9898
},
9999
expectedResult: true,
100-
expectedMessage: "msg: Cached a failed query, normalized query: test_query, range seconds: 0, updating cache for error: error code( Code(408) error.)",
100+
expectedMessage: "msg: Cached a failed query, cached_query: test_query, query_range_seconds: 0, cached_error: error code( Code(408) error.)",
101101
},
102102
}
103103

@@ -136,7 +136,7 @@ func TestQueryHitCache(t *testing.T) {
136136
"query": {"test_query"},
137137
},
138138
expectedResult: true,
139-
expectedMessage: "msg: Retrieved query from cache, normalized query: test_query, range seconds: 100",
139+
expectedMessage: "msg: Retrieved query from cache, cached_query: test_query, cached_range_seconds: 100, query_range_seconds: 100",
140140
},
141141
{
142142
name: "Cache miss",
@@ -168,7 +168,7 @@ func TestQueryHitCache(t *testing.T) {
168168
"query": {" \n\ttes \tt \n query \t\n "},
169169
},
170170
expectedResult: true,
171-
expectedMessage: "msg: Retrieved query from cache, normalized query: tes t query , range seconds: 100",
171+
expectedMessage: "msg: Retrieved query from cache, cached_query: tes t query , cached_range_seconds: 100, query_range_seconds: 100",
172172
},
173173

174174
{

0 commit comments

Comments
 (0)