@dynatrace/cordova-plugin 2.329.1 → 2.333.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/Package.swift +32 -0
  2. package/README.md +60 -19
  3. package/files/iOS/Dynatrace.xcframework/Info.plist +7 -7
  4. package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeDirectory +0 -0
  5. package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  6. package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeResources +69 -69
  7. package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeSignature +0 -0
  8. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Dynatrace +0 -0
  9. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Headers/Dynatrace.h +85 -41
  10. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Info.plist +0 -0
  11. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  12. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios.abi.json +2 -2
  13. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
  14. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +85 -41
  15. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
  16. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  17. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  18. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json +2 -2
  19. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json +2 -2
  20. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +15 -15
  21. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Dynatrace +0 -0
  22. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Headers/Dynatrace.h +85 -41
  23. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Info.plist +0 -0
  24. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo +0 -0
  25. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
  26. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +85 -41
  27. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
  28. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo +0 -0
  29. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo +0 -0
  30. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +11 -11
  31. package/files/plugin.gradle +1 -1
  32. package/package.json +13 -8
  33. package/plugin.xml +2 -2
  34. package/scripts/InstrumentCap.js +6 -1
  35. package/scripts/helpers/InstallHelper.js +70 -14
  36. package/scripts/helpers/PathHelper.js +16 -1
@@ -1,5 +1,5 @@
1
1
  // Dynatrace.h
2
- // Version: 8.329.1.1017
2
+ // Version: 8.333.1.1005
3
3
  //
4
4
  // These materials contain confidential information and
5
5
  // trade secrets of Dynatrace Corporation. You shall
@@ -528,42 +528,6 @@ typedef NS_ENUM(int, DTX_StatusCode) {
528
528
 
529
529
  @end
530
530
 
531
- /*************************************************************************************************/
532
-
533
- /*!
534
- @brief Encapsulates contextual data for a single captured web request.
535
- @property request The request associated with the web request event.
536
- @property response The response returned by the server. Nil if no response was obtained.
537
- @property responseBody Raw response body data (may be nil or truncated based on configuration).
538
- @property error Transport or protocol error if the request failed. Nil on success.
539
- */
540
-
541
- @interface DTXHttpRequestEventContext : NSObject
542
-
543
- @property (nonatomic, strong, readonly, nonnull) NSURLRequest *request;
544
- @property (nonatomic, strong, readonly, nullable) NSURLResponse *response;
545
- @property (nonatomic, strong, readonly, nullable) NSData *responseBody;
546
- @property (nonatomic, strong, readonly, nullable) NSError *error;
547
-
548
- /**
549
- @brief Designated initializer.
550
-
551
- @param request The NSURLRequest associated with the event.
552
- @param response The NSURLResponse (if available) or nil.
553
- @param responseBody The raw body payload (if available) or nil.
554
- @param error The error encountered (nil for successful responses).
555
- */
556
- - (instancetype _Nonnull)initWithRequest:(NSURLRequest *_Nonnull)request
557
- response:(NSURLResponse * _Nullable)response
558
- responseBody:(NSData * _Nullable)responseBody
559
- error:(NSError * _Nullable)error;
560
-
561
- /// Unavailable. Use the designated initializer.
562
- - (instancetype _Nonnull)init NS_UNAVAILABLE;
563
-
564
- @end
565
-
566
- /*************************************************************************************************/
567
531
  /*!
568
532
  @brief Provides the ability to manually create custom events.
569
533
 
@@ -638,6 +602,59 @@ typedef NS_ENUM(int, DTX_StatusCode) {
638
602
  - (DTXSessionPropertyEventData* _Nonnull)addSessionProperty:(NSString* _Nonnull)property value:(id _Nullable)value;
639
603
 
640
604
  @end
605
+ /*************************************************************************************************/
606
+
607
+ /*!
608
+ @brief Encapsulates contextual data for a single captured web request.
609
+ @property request The request associated with the web request event.
610
+ @property response The response returned by the server. Nil if no response was obtained.
611
+ @property responseBody Raw response body data (may be nil or truncated based on configuration).
612
+ @property error Transport or protocol error if the request failed. Nil on success.
613
+ */
614
+
615
+ @interface DTXHttpRequestEventContext : NSObject
616
+
617
+ @property (nonatomic, strong, readonly, nonnull) NSURLRequest *request;
618
+ @property (nonatomic, strong, readonly, nullable) NSURLResponse *response;
619
+ @property (nonatomic, strong, readonly, nullable) NSData *responseBody;
620
+ @property (nonatomic, strong, readonly, nullable) NSError *error;
621
+
622
+ /**
623
+ @brief Designated initializer.
624
+
625
+ @param request The NSURLRequest associated with the event.
626
+ @param response The NSURLResponse (if available) or nil.
627
+ @param responseBody The raw body payload (if available) or nil.
628
+ @param error The error encountered (nil for successful responses).
629
+ */
630
+ - (instancetype _Nonnull)initWithRequest:(NSURLRequest *_Nonnull)request
631
+ response:(NSURLResponse * _Nullable)response
632
+ responseBody:(NSData * _Nullable)responseBody
633
+ error:(NSError * _Nullable)error;
634
+
635
+ /// Unavailable. Use the designated initializer.
636
+ - (instancetype _Nonnull)init NS_UNAVAILABLE;
637
+
638
+ @end
639
+ /*************************************************************************************************/
640
+
641
+ /*!
642
+ @brief Encapsulates W3C trace context headers for distributed tracing.
643
+ @discussion This object contains the traceparent and tracestate headers as defined by the W3C Trace Context specification.
644
+ Use these values to propagate trace context to downstream services by adding them as HTTP headers to outgoing requests.
645
+ @property traceparent The W3C traceparent header value identifying the request as part of a distributed trace.
646
+ @property tracestate The W3C tracestate header value containing vendor-specific trace information.
647
+ @seealso https://www.w3.org/TR/trace-context
648
+ */
649
+
650
+ @interface DTXTraceContext : NSObject
651
+
652
+ @property (nonatomic, strong, readonly, nonnull) NSString *traceparent;
653
+ @property (nonatomic, strong, readonly, nonnull) NSString *tracestate;
654
+
655
+ @end
656
+
657
+ /*************************************************************************************************/
641
658
 
642
659
  /*!
643
660
  @brief DTXUserPrivacyOptions protocol should be implemented by objects passed to applyUserPrivacyOptions:completion: method.
@@ -991,8 +1008,7 @@ When the user optin feature is not used:
991
1008
  With sendBizEvent, you can report a business event. These standalone events are being sent detached from user actions or sessions.
992
1009
  The 'dt' key, as well as all 'dt.' prefixed keys are considered reserved by Dynatrace and will be stripped from the passed in attributes.
993
1010
  Note: Business events are only supported on Dynatrace SaaS deployments currently.
994
- https://www.dynatrace.com/support/help/how-to-use-dynatrace/business-analytics/ba-events-capturing#get-business-events-from-rum
995
-
1011
+ https://docs.dynatrace.com/docs/observe/business-observability/bo-events-capturing#report-business-event-rum
996
1012
  @param type type of the event being sent
997
1013
  @param attributes dictionary of attributes being attached to the sent event
998
1014
  */
@@ -1019,7 +1035,26 @@ When the user optin feature is not used:
1019
1035
  + (void)sendEvent:(DTXEventData* _Nullable)data;
1020
1036
 
1021
1037
  /*!
1022
- * @brief Sends a web request event with the fields set in the builder. Use the builder to add data to the request event.
1038
+ * @brief Generates W3C trace context headers for distributed tracing.
1039
+ *
1040
+ * Creates a new trace context or enriches an existing one with Dynatrace-specific data. The returned object
1041
+ * contains both `traceparent` and `tracestate` headers that should be added to outgoing HTTP requests.
1042
+ *
1043
+ * Returns `nil` when:
1044
+ * - Capture is off (agent is not running)
1045
+ * - Privacy settings prevent web request tagging (data collection level doesn't permit tagging)
1046
+ * - Traffic control has disabled the current session
1047
+ * - The provided `traceparent` is invalid or the agent cannot build a complete trace context
1048
+ *
1049
+ * @seealso https://www.w3.org/TR/trace-context
1050
+ * @param traceparent The W3C `traceparent` header value identifying the web request as part of a trace, or `nil` to generate a new trace
1051
+ * @param tracestate The existing W3C `tracestate` header value of the request, or `nil` if no other tracing vendor is used
1052
+ * @return A `DTXTraceContext` object containing both `traceparent` and `tracestate` header values, or `nil` if the trace context cannot be created.
1053
+ */
1054
+ + (DTXTraceContext* _Nullable)generateTraceContext:(NSString* _Nullable)traceparent tracestate:(NSString* _Nullable)tracestate;
1055
+
1056
+ /*!
1057
+ * @brief Sends a web request event with the fields set in the data object. Use the data object to add data to the request event.
1023
1058
  *
1024
1059
  * The keys of the fields added via addEventProperty() have to be prefixed with `event_properties.` in order to be handled by the agent. All other fields will be dropped.
1025
1060
  *
@@ -1094,6 +1129,15 @@ When the user optin feature is not used:
1094
1129
  */
1095
1130
  + (void)sendSessionPropertyEvent:(DTXSessionPropertyEventData* _Nullable)data;
1096
1131
 
1132
+ /*!
1133
+ * @brief Set the URLSession used by the agent for network requests.
1134
+ *
1135
+ * Note: This feature is currently only supported for Real User Monitoring powered by Grail on Dynatrace SaaS deployments.
1136
+ *
1137
+ * @param urlSession new URLSession to be used by the agent for network requests.
1138
+ */
1139
+ + (void)setURLSession:(NSURLSession* _Nonnull)urlSession;
1140
+
1097
1141
  @end
1098
1142
  #endif
1099
1143
 
@@ -1330,7 +1374,7 @@ extern NSString *_Nonnull const kDTXDetectRageTaps;
1330
1374
  @const kDTXInstrumentFrameworks
1331
1375
  Flag to force the agent to also look for viewControllers inside the frameworks linked with the application
1332
1376
  */
1333
- extern NSString *_Nonnull const kDTXInstrumentFrameworks;
1377
+ extern NSString *_Nonnull const kDTXInstrumentFrameworks __deprecated_msg("Deprecated as of version 8.331 with no replacement, do not use this flag anymore, it will be ignored.");
1334
1378
  /*!
1335
1379
  @const kDTXUIActionNamePrivacy
1336
1380
  If set to true, a label or accessibility identifier of a view will be replaced by the view class name when reporting a touch event.
@@ -637,14 +637,14 @@
637
637
  },
638
638
  "ConstValues": [
639
639
  {
640
- "filePath": "\/opt\/agent-jenkins\/workspace\/eAgent_ios-agent_release_8.329.x\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
640
+ "filePath": "\/opt\/agent-jenkins\/workspace\/eAgent_ios-agent_release_8.333.x\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
641
641
  "kind": "BooleanLiteral",
642
642
  "offset": 872,
643
643
  "length": 5,
644
644
  "value": "false"
645
645
  },
646
646
  {
647
- "filePath": "\/opt\/agent-jenkins\/workspace\/eAgent_ios-agent_release_8.329.x\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
647
+ "filePath": "\/opt\/agent-jenkins\/workspace\/eAgent_ios-agent_release_8.333.x\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
648
648
  "kind": "BooleanLiteral",
649
649
  "offset": 1543,
650
650
  "length": 4,
@@ -637,14 +637,14 @@
637
637
  },
638
638
  "ConstValues": [
639
639
  {
640
- "filePath": "\/opt\/agent-jenkins\/workspace\/eAgent_ios-agent_release_8.329.x\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
640
+ "filePath": "\/opt\/agent-jenkins\/workspace\/eAgent_ios-agent_release_8.333.x\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
641
641
  "kind": "BooleanLiteral",
642
642
  "offset": 872,
643
643
  "length": 5,
644
644
  "value": "false"
645
645
  },
646
646
  {
647
- "filePath": "\/opt\/agent-jenkins\/workspace\/eAgent_ios-agent_release_8.329.x\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
647
+ "filePath": "\/opt\/agent-jenkins\/workspace\/eAgent_ios-agent_release_8.333.x\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
648
648
  "kind": "BooleanLiteral",
649
649
  "offset": 1543,
650
650
  "length": 4,
@@ -10,7 +10,7 @@
10
10
  </data>
11
11
  <key>Headers/Dynatrace.h</key>
12
12
  <data>
13
- oxuM3/dl55c2FRqG5v1HujuNVGk=
13
+ zdJ4gO+nNm1T0/bim/GsNi2fDX8=
14
14
  </data>
15
15
  <key>Headers/DynatraceSwiftUI.h</key>
16
16
  <data>
@@ -22,19 +22,19 @@
22
22
  </data>
23
23
  <key>Info.plist</key>
24
24
  <data>
25
- 3WQwH8ZTXMLdNuii2876zS9WA6I=
25
+ /Nl+5lJt80mtRtqYtP297teqkOU=
26
26
  </data>
27
27
  <key>Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo</key>
28
28
  <data>
29
- jj9Dgj3uNQVp+CAI87ymKlWWGlk=
29
+ TewLPRwuWR8Cqu3vzjAN3v3Y2f4=
30
30
  </data>
31
31
  <key>Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo</key>
32
32
  <data>
33
- jiuotgT150RimX/rrrBCuSQA7V4=
33
+ lXYJUR0wiKzSZJb9V7PsarTwkFk=
34
34
  </data>
35
35
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
36
36
  <data>
37
- 9BZ792+mr4ycuYQPitsU/F3JxKk=
37
+ EsvlaOwj5cQ/D5hjq1KmHtmQxyM=
38
38
  </data>
39
39
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
40
40
  <data>
@@ -50,11 +50,11 @@
50
50
  </data>
51
51
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
52
52
  <data>
53
- xQyUQ77hsRld0+6rK/M7VQkL8iA=
53
+ j2SYmvHVFNzfkVVkdW0Bh07S9pE=
54
54
  </data>
55
55
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
56
56
  <data>
57
- 9BZ792+mr4ycuYQPitsU/F3JxKk=
57
+ EsvlaOwj5cQ/D5hjq1KmHtmQxyM=
58
58
  </data>
59
59
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
60
60
  <data>
@@ -70,7 +70,7 @@
70
70
  </data>
71
71
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
72
72
  <data>
73
- SjY5cv2dYEvVMRAs/7ub6lHUD2Y=
73
+ 5T9KF+QyqtjwiAtc+2fsRWSekoY=
74
74
  </data>
75
75
  <key>Modules/module.modulemap</key>
76
76
  <data>
@@ -94,7 +94,7 @@
94
94
  <dict>
95
95
  <key>hash2</key>
96
96
  <data>
97
- P7yzT2OtqguCQYeTvGUCxXBw2chqM+IXP1MUqvab6Vo=
97
+ ckC4PqSJvRxA91V5E+lHPbCp8BCMxDjlFwkdgEm9WA8=
98
98
  </data>
99
99
  </dict>
100
100
  <key>Headers/DynatraceSwiftUI.h</key>
@@ -115,21 +115,21 @@
115
115
  <dict>
116
116
  <key>hash2</key>
117
117
  <data>
118
- Nrs3UziSBZfRqEY0j0Hrp0+0MpSgdh3HOldJuTUDXRs=
118
+ HC2uxRIdtgfcXekGmt9CrB39Y3lLQaPp9S9x6vqciJ8=
119
119
  </data>
120
120
  </dict>
121
121
  <key>Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo</key>
122
122
  <dict>
123
123
  <key>hash2</key>
124
124
  <data>
125
- IFJjvc784/sW3r2uxNVc2davLQsAz88kYCtDZNH6Trc=
125
+ gy+XG7R9QSyYhL9X3r1d8Jd3IE8o+JK+zWd9ysVqJsU=
126
126
  </data>
127
127
  </dict>
128
128
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
129
129
  <dict>
130
130
  <key>hash2</key>
131
131
  <data>
132
- mt6xkS+ZDunZ25NXGFsCqLzrJ+nrE52no5GzfJ2EnwM=
132
+ uGfS/MoxrkxX5OJ5VRPgI1lwQGDP71f5kANrRvv6Mdo=
133
133
  </data>
134
134
  </dict>
135
135
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
@@ -157,14 +157,14 @@
157
157
  <dict>
158
158
  <key>hash2</key>
159
159
  <data>
160
- I3QdlFSzwhCI7fNOwbVxHwimaz4EGN1oVboeNmH5NYw=
160
+ D/ABGzZNJ5013nI/sgIC7ucg1IgldmjfYIpqlyfEqjQ=
161
161
  </data>
162
162
  </dict>
163
163
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
164
164
  <dict>
165
165
  <key>hash2</key>
166
166
  <data>
167
- mt6xkS+ZDunZ25NXGFsCqLzrJ+nrE52no5GzfJ2EnwM=
167
+ uGfS/MoxrkxX5OJ5VRPgI1lwQGDP71f5kANrRvv6Mdo=
168
168
  </data>
169
169
  </dict>
170
170
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
@@ -192,7 +192,7 @@
192
192
  <dict>
193
193
  <key>hash2</key>
194
194
  <data>
195
- q8UW1SD8ZUpXUXnwI2DSsRUl2Ikhonn60xvw4WmgQrM=
195
+ sKxSHCUiH5V0l2WI1JaC6Ou0DYqklLlPJ54yz5j2NW4=
196
196
  </data>
197
197
  </dict>
198
198
  <key>Modules/module.modulemap</key>
@@ -1,5 +1,5 @@
1
1
  // Dynatrace.h
2
- // Version: 8.329.1.1017
2
+ // Version: 8.333.1.1005
3
3
  //
4
4
  // These materials contain confidential information and
5
5
  // trade secrets of Dynatrace Corporation. You shall
@@ -528,42 +528,6 @@ typedef NS_ENUM(int, DTX_StatusCode) {
528
528
 
529
529
  @end
530
530
 
531
- /*************************************************************************************************/
532
-
533
- /*!
534
- @brief Encapsulates contextual data for a single captured web request.
535
- @property request The request associated with the web request event.
536
- @property response The response returned by the server. Nil if no response was obtained.
537
- @property responseBody Raw response body data (may be nil or truncated based on configuration).
538
- @property error Transport or protocol error if the request failed. Nil on success.
539
- */
540
-
541
- @interface DTXHttpRequestEventContext : NSObject
542
-
543
- @property (nonatomic, strong, readonly, nonnull) NSURLRequest *request;
544
- @property (nonatomic, strong, readonly, nullable) NSURLResponse *response;
545
- @property (nonatomic, strong, readonly, nullable) NSData *responseBody;
546
- @property (nonatomic, strong, readonly, nullable) NSError *error;
547
-
548
- /**
549
- @brief Designated initializer.
550
-
551
- @param request The NSURLRequest associated with the event.
552
- @param response The NSURLResponse (if available) or nil.
553
- @param responseBody The raw body payload (if available) or nil.
554
- @param error The error encountered (nil for successful responses).
555
- */
556
- - (instancetype _Nonnull)initWithRequest:(NSURLRequest *_Nonnull)request
557
- response:(NSURLResponse * _Nullable)response
558
- responseBody:(NSData * _Nullable)responseBody
559
- error:(NSError * _Nullable)error;
560
-
561
- /// Unavailable. Use the designated initializer.
562
- - (instancetype _Nonnull)init NS_UNAVAILABLE;
563
-
564
- @end
565
-
566
- /*************************************************************************************************/
567
531
  /*!
568
532
  @brief Provides the ability to manually create custom events.
569
533
 
@@ -638,6 +602,59 @@ typedef NS_ENUM(int, DTX_StatusCode) {
638
602
  - (DTXSessionPropertyEventData* _Nonnull)addSessionProperty:(NSString* _Nonnull)property value:(id _Nullable)value;
639
603
 
640
604
  @end
605
+ /*************************************************************************************************/
606
+
607
+ /*!
608
+ @brief Encapsulates contextual data for a single captured web request.
609
+ @property request The request associated with the web request event.
610
+ @property response The response returned by the server. Nil if no response was obtained.
611
+ @property responseBody Raw response body data (may be nil or truncated based on configuration).
612
+ @property error Transport or protocol error if the request failed. Nil on success.
613
+ */
614
+
615
+ @interface DTXHttpRequestEventContext : NSObject
616
+
617
+ @property (nonatomic, strong, readonly, nonnull) NSURLRequest *request;
618
+ @property (nonatomic, strong, readonly, nullable) NSURLResponse *response;
619
+ @property (nonatomic, strong, readonly, nullable) NSData *responseBody;
620
+ @property (nonatomic, strong, readonly, nullable) NSError *error;
621
+
622
+ /**
623
+ @brief Designated initializer.
624
+
625
+ @param request The NSURLRequest associated with the event.
626
+ @param response The NSURLResponse (if available) or nil.
627
+ @param responseBody The raw body payload (if available) or nil.
628
+ @param error The error encountered (nil for successful responses).
629
+ */
630
+ - (instancetype _Nonnull)initWithRequest:(NSURLRequest *_Nonnull)request
631
+ response:(NSURLResponse * _Nullable)response
632
+ responseBody:(NSData * _Nullable)responseBody
633
+ error:(NSError * _Nullable)error;
634
+
635
+ /// Unavailable. Use the designated initializer.
636
+ - (instancetype _Nonnull)init NS_UNAVAILABLE;
637
+
638
+ @end
639
+ /*************************************************************************************************/
640
+
641
+ /*!
642
+ @brief Encapsulates W3C trace context headers for distributed tracing.
643
+ @discussion This object contains the traceparent and tracestate headers as defined by the W3C Trace Context specification.
644
+ Use these values to propagate trace context to downstream services by adding them as HTTP headers to outgoing requests.
645
+ @property traceparent The W3C traceparent header value identifying the request as part of a distributed trace.
646
+ @property tracestate The W3C tracestate header value containing vendor-specific trace information.
647
+ @seealso https://www.w3.org/TR/trace-context
648
+ */
649
+
650
+ @interface DTXTraceContext : NSObject
651
+
652
+ @property (nonatomic, strong, readonly, nonnull) NSString *traceparent;
653
+ @property (nonatomic, strong, readonly, nonnull) NSString *tracestate;
654
+
655
+ @end
656
+
657
+ /*************************************************************************************************/
641
658
 
642
659
  /*!
643
660
  @brief DTXUserPrivacyOptions protocol should be implemented by objects passed to applyUserPrivacyOptions:completion: method.
@@ -991,8 +1008,7 @@ When the user optin feature is not used:
991
1008
  With sendBizEvent, you can report a business event. These standalone events are being sent detached from user actions or sessions.
992
1009
  The 'dt' key, as well as all 'dt.' prefixed keys are considered reserved by Dynatrace and will be stripped from the passed in attributes.
993
1010
  Note: Business events are only supported on Dynatrace SaaS deployments currently.
994
- https://www.dynatrace.com/support/help/how-to-use-dynatrace/business-analytics/ba-events-capturing#get-business-events-from-rum
995
-
1011
+ https://docs.dynatrace.com/docs/observe/business-observability/bo-events-capturing#report-business-event-rum
996
1012
  @param type type of the event being sent
997
1013
  @param attributes dictionary of attributes being attached to the sent event
998
1014
  */
@@ -1019,7 +1035,26 @@ When the user optin feature is not used:
1019
1035
  + (void)sendEvent:(DTXEventData* _Nullable)data;
1020
1036
 
1021
1037
  /*!
1022
- * @brief Sends a web request event with the fields set in the builder. Use the builder to add data to the request event.
1038
+ * @brief Generates W3C trace context headers for distributed tracing.
1039
+ *
1040
+ * Creates a new trace context or enriches an existing one with Dynatrace-specific data. The returned object
1041
+ * contains both `traceparent` and `tracestate` headers that should be added to outgoing HTTP requests.
1042
+ *
1043
+ * Returns `nil` when:
1044
+ * - Capture is off (agent is not running)
1045
+ * - Privacy settings prevent web request tagging (data collection level doesn't permit tagging)
1046
+ * - Traffic control has disabled the current session
1047
+ * - The provided `traceparent` is invalid or the agent cannot build a complete trace context
1048
+ *
1049
+ * @seealso https://www.w3.org/TR/trace-context
1050
+ * @param traceparent The W3C `traceparent` header value identifying the web request as part of a trace, or `nil` to generate a new trace
1051
+ * @param tracestate The existing W3C `tracestate` header value of the request, or `nil` if no other tracing vendor is used
1052
+ * @return A `DTXTraceContext` object containing both `traceparent` and `tracestate` header values, or `nil` if the trace context cannot be created.
1053
+ */
1054
+ + (DTXTraceContext* _Nullable)generateTraceContext:(NSString* _Nullable)traceparent tracestate:(NSString* _Nullable)tracestate;
1055
+
1056
+ /*!
1057
+ * @brief Sends a web request event with the fields set in the data object. Use the data object to add data to the request event.
1023
1058
  *
1024
1059
  * The keys of the fields added via addEventProperty() have to be prefixed with `event_properties.` in order to be handled by the agent. All other fields will be dropped.
1025
1060
  *
@@ -1094,6 +1129,15 @@ When the user optin feature is not used:
1094
1129
  */
1095
1130
  + (void)sendSessionPropertyEvent:(DTXSessionPropertyEventData* _Nullable)data;
1096
1131
 
1132
+ /*!
1133
+ * @brief Set the URLSession used by the agent for network requests.
1134
+ *
1135
+ * Note: This feature is currently only supported for Real User Monitoring powered by Grail on Dynatrace SaaS deployments.
1136
+ *
1137
+ * @param urlSession new URLSession to be used by the agent for network requests.
1138
+ */
1139
+ + (void)setURLSession:(NSURLSession* _Nonnull)urlSession;
1140
+
1097
1141
  @end
1098
1142
  #endif
1099
1143
 
@@ -1330,7 +1374,7 @@ extern NSString *_Nonnull const kDTXDetectRageTaps;
1330
1374
  @const kDTXInstrumentFrameworks
1331
1375
  Flag to force the agent to also look for viewControllers inside the frameworks linked with the application
1332
1376
  */
1333
- extern NSString *_Nonnull const kDTXInstrumentFrameworks;
1377
+ extern NSString *_Nonnull const kDTXInstrumentFrameworks __deprecated_msg("Deprecated as of version 8.331 with no replacement, do not use this flag anymore, it will be ignored.");
1334
1378
  /*!
1335
1379
  @const kDTXUIActionNamePrivacy
1336
1380
  If set to true, a label or accessibility identifier of a view will be replaced by the view class name when reporting a touch event.