File tree 4 files changed +23
-6
lines changed
Tests/Datadog/Core/Upload
4 files changed +23
-6
lines changed Original file line number Diff line number Diff line change @@ -26,10 +26,17 @@ internal final class DataUploader: DataUploaderType {
26
26
27
27
private let httpClient : HTTPClient
28
28
private let requestBuilder : FeatureRequestBuilder
29
+ /// Name of the feature this worker is performing uploads for.
30
+ private let featureName : String
29
31
30
- init ( httpClient: HTTPClient , requestBuilder: FeatureRequestBuilder ) {
32
+ init (
33
+ httpClient: HTTPClient ,
34
+ requestBuilder: FeatureRequestBuilder ,
35
+ featureName: String
36
+ ) {
31
37
self . httpClient = httpClient
32
38
self . requestBuilder = requestBuilder
39
+ self . featureName = featureName
33
40
}
34
41
35
42
/// Uploads data synchronously (will block current thread) and returns the upload status.
@@ -71,6 +78,11 @@ internal final class DataUploader: DataUploaderType {
71
78
72
79
_ = semaphore. wait ( timeout: . distantFuture)
73
80
81
+ #if DD_BENCHMARK
82
+ bench. meter. counter ( metric: " ios.benchmark.bytes_uploaded " )
83
+ . increment ( by: request. httpBody? . count ?? 0 , attributes: [ " track " : featureName] )
84
+ #endif
85
+
74
86
return uploadStatus ?? DataUploader . unreachableUploadStatus
75
87
}
76
88
}
Original file line number Diff line number Diff line change @@ -30,7 +30,8 @@ internal struct FeatureUpload {
30
30
31
31
let dataUploader = DataUploader (
32
32
httpClient: httpClient,
33
- requestBuilder: requestBuilder
33
+ requestBuilder: requestBuilder,
34
+ featureName: featureName
34
35
)
35
36
36
37
#if canImport(UIKit)
Original file line number Diff line number Diff line change @@ -765,7 +765,8 @@ class DataUploadWorkerTests: XCTestCase {
765
765
766
766
let dataUploader = DataUploader (
767
767
httpClient: httpClient,
768
- requestBuilder: FeatureRequestBuilderMock ( )
768
+ requestBuilder: FeatureRequestBuilderMock ( ) ,
769
+ featureName: . mockRandom( )
769
770
)
770
771
let worker = DataUploadWorker (
771
772
queue: uploaderQueue,
Original file line number Diff line number Diff line change @@ -21,7 +21,8 @@ class DataUploaderTests: XCTestCase {
21
21
22
22
let uploader = DataUploader (
23
23
httpClient: HTTPClientMock ( response: randomResponse) ,
24
- requestBuilder: FeatureRequestBuilderMock ( request: randomRequest)
24
+ requestBuilder: FeatureRequestBuilderMock ( request: randomRequest) ,
25
+ featureName: . mockRandom( )
25
26
)
26
27
27
28
// When
@@ -50,7 +51,8 @@ class DataUploaderTests: XCTestCase {
50
51
51
52
let uploader = DataUploader (
52
53
httpClient: HTTPClientMock ( error: randomError) ,
53
- requestBuilder: FeatureRequestBuilderMock ( request: randomRequest)
54
+ requestBuilder: FeatureRequestBuilderMock ( request: randomRequest) ,
55
+ featureName: . mockRandom( )
54
56
)
55
57
56
58
// When
@@ -72,7 +74,8 @@ class DataUploaderTests: XCTestCase {
72
74
73
75
let uploader = DataUploader (
74
76
httpClient: HTTPClientMock ( ) ,
75
- requestBuilder: FailingRequestBuilderMock ( error: error)
77
+ requestBuilder: FailingRequestBuilderMock ( error: error) ,
78
+ featureName: . mockRandom( )
76
79
)
77
80
78
81
// When & Then
You can’t perform that action at this time.
0 commit comments