@dynatrace/react-native-plugin 2.273.1 → 2.277.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.
- package/README.md +155 -41
- package/android/build.gradle +1 -1
- package/files/plugin.gradle +1 -1
- package/index.js +2 -0
- package/ios/DynatraceRNBridge.m +1 -1
- package/ios/lib/Dynatrace.xcframework/Info.plist +5 -5
- package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Dynatrace +0 -0
- package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Headers/Dynatrace.h +1 -1
- package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Info.plist +0 -0
- package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios.abi.json +1 -1
- package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
- package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +1 -1
- package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
- package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json +1 -1
- package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json +1 -1
- package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +15 -15
- package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Dynatrace +0 -0
- package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Headers/Dynatrace.h +1 -1
- package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Info.plist +0 -0
- package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo +0 -0
- package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
- package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +1 -1
- package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
- package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo +0 -0
- package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo +0 -0
- package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +11 -11
- package/lib/instrumentor/DynatraceInstrumentation.js +1 -1
- package/lib/instrumentor/base/Application.js +4 -3
- package/lib/instrumentor/base/Dynatrace.js +27 -27
- package/lib/instrumentor/base/DynatraceInternal.js +2 -3
- package/lib/instrumentor/base/DynatraceRootAction.js +3 -3
- package/lib/instrumentor/base/ErrorHandler.js +1 -1
- package/lib/instrumentor/base/Logger.js +2 -2
- package/lib/instrumentor/base/Touchable.js +3 -3
- package/lib/instrumentor/base/configuration/Configuration.js +13 -18
- package/lib/instrumentor/base/configuration/ConfigurationBuilder.js +56 -0
- package/lib/instrumentor/base/configuration/ConfigurationDefaults.js +2 -10
- package/lib/instrumentor/base/configuration/ConfigurationHandler.js +15 -0
- package/lib/instrumentor/base/configuration/ConfigurationPreset.js +23 -0
- package/lib/instrumentor/base/configuration/ManualStartupConfiguration.js +6 -4
- package/lib/react/Component.js +6 -6
- package/lib/react-navigation/ReactNavigation.js +22 -0
- package/package.json +1 -168
- package/scripts/Config.js +3 -0
- package/typings/react-native-dynatrace.d.ts +230 -3
- package/lib/instrumentor/base/configuration/AutoStartupConfiguration.js +0 -28
- package/lib/instrumentor/base/configuration/interface/IAutoConfiguration.js +0 -2
- /package/lib/instrumentor/base/configuration/{interface/IManualConfiguration.js → IConfiguration.js} +0 -0
package/README.md
CHANGED
|
@@ -17,8 +17,8 @@ If you want to start using this plugin and are not a Dynatrace customer yet, hea
|
|
|
17
17
|
* Typescript bindings to add manual instrumentation
|
|
18
18
|
|
|
19
19
|
## Requirements
|
|
20
|
-
* React
|
|
21
|
-
* React Native
|
|
20
|
+
* React v16.8 or newer
|
|
21
|
+
* React Native v0.59 or newer
|
|
22
22
|
* For Android users:
|
|
23
23
|
* SDK version 21+
|
|
24
24
|
* Gradle version 6.1.1+ ([How to update?](#updating-to-gradle-6))
|
|
@@ -29,8 +29,8 @@ If you want to start using this plugin and are not a Dynatrace customer yet, hea
|
|
|
29
29
|
## Agent Versions
|
|
30
30
|
This agent versions are configured in this plugin:
|
|
31
31
|
|
|
32
|
-
* Android Agent: 8.
|
|
33
|
-
* iOS Agent: 8.
|
|
32
|
+
* Android Agent: 8.277.1.1003
|
|
33
|
+
* iOS Agent: 8.277.1.1004
|
|
34
34
|
|
|
35
35
|
## Quick Setup
|
|
36
36
|
|
|
@@ -47,6 +47,7 @@ This agent versions are configured in this plugin:
|
|
|
47
47
|
* [Monitor a Component](#monitor-a-component)
|
|
48
48
|
* [Create Custom Action](#create-custom-actions)
|
|
49
49
|
* [Cancel Actions](#cancel-actions)
|
|
50
|
+
* [Manual Web Request Tagging](#manual-web-request-tagging)
|
|
50
51
|
* [Report Values](#report-values)
|
|
51
52
|
* [Report Stacktrace](#report-an-error-stacktrace)
|
|
52
53
|
* [Identify User](#identify-a-user)
|
|
@@ -87,12 +88,12 @@ This agent versions are configured in this plugin:
|
|
|
87
88
|
|
|
88
89
|
# Quick Setup
|
|
89
90
|
|
|
90
|
-
> **Note**: If you are upgrading to React Native
|
|
91
|
+
> **Note**: If you are upgrading to React Native v0.70 (or newer) or using the @react-native-community/cli 9.x+ version, be aware that our automated script running before every start/run-android/run-ios command is no longer working. When your *dynatrace.config.js* changed be sure to execute `npx instrumentDynatrace` beforehand.
|
|
91
92
|
|
|
92
93
|
## 1. Install the plugin
|
|
93
94
|
1. Install the plugin by calling:
|
|
94
|
-
-
|
|
95
|
-
-
|
|
95
|
+
- React Native v0.60 or newer : `npm install @dynatrace/react-native-plugin`
|
|
96
|
+
- React Native v0.59.x : `react-native install @dynatrace/react-native-plugin`.
|
|
96
97
|
2. **iOS only :** If you use pods, you need to go into your `ios` directory and execute `pod install` to install the new Dynatrace dependency to your xCode project.
|
|
97
98
|
|
|
98
99
|
### Troubleshooting
|
|
@@ -104,17 +105,44 @@ This agent versions are configured in this plugin:
|
|
|
104
105
|
|
|
105
106
|
Depending on your React Native version, you will need to use a different way to register the transformer. If you don't know the version, enter `react-native --version` in your terminal.
|
|
106
107
|
|
|
107
|
-
The following configuration must be added.
|
|
108
|
+
The following configuration must be added. If you already have a babel transformer (babelTransformerPath) in place, you need to [use the upstreamTransformer property in dynatrace.config.js](#using-a-second-transformer-besides-the-dynatrace-transformer) to use a transformer besides our dynatrace transformer.
|
|
108
109
|
|
|
109
|
-
In your project's root directory, create or extend `metro.config.js` so that it contains the `transformer.babelTransformerPath`
|
|
110
|
+
In your project's root directory, create or extend `metro.config.js` so that it contains the following configuration properties `transformer.babelTransformerPath` and `reporter`:
|
|
111
|
+
|
|
112
|
+
#### For React Native v0.72.1 or newer
|
|
110
113
|
|
|
111
114
|
```js
|
|
112
|
-
|
|
115
|
+
const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
|
|
116
|
+
const defaultConfig = getDefaultConfig(__dirname);
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Metro configuration
|
|
120
|
+
* https://facebook.github.io/metro/docs/configuration
|
|
121
|
+
*
|
|
122
|
+
* @type {import('metro-config').MetroConfig}
|
|
123
|
+
*/
|
|
124
|
+
const config = {
|
|
113
125
|
transformer: {
|
|
114
|
-
babelTransformerPath: require.resolve(
|
|
126
|
+
babelTransformerPath: require.resolve(
|
|
127
|
+
'@dynatrace/react-native-plugin/lib/dynatrace-transformer',
|
|
128
|
+
),
|
|
115
129
|
},
|
|
130
|
+
reporter: require('@dynatrace/react-native-plugin/lib/dynatrace-reporter'),
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
module.exports = mergeConfig(defaultConfig, config);
|
|
134
|
+
```
|
|
116
135
|
|
|
117
|
-
|
|
136
|
+
#### For React Native v0.59 or newer
|
|
137
|
+
|
|
138
|
+
```js
|
|
139
|
+
module.exports = {
|
|
140
|
+
transformer: {
|
|
141
|
+
babelTransformerPath: require.resolve(
|
|
142
|
+
'@dynatrace/react-native-plugin/lib/dynatrace-transformer'
|
|
143
|
+
)
|
|
144
|
+
},
|
|
145
|
+
reporter: require('@dynatrace/react-native-plugin/lib/dynatrace-reporter'),
|
|
118
146
|
};
|
|
119
147
|
```
|
|
120
148
|
|
|
@@ -134,8 +162,8 @@ Depending on your version of Metro or Expo (if used), your babel configuration `
|
|
|
134
162
|
|
|
135
163
|
The changes have to be done in the following cases:
|
|
136
164
|
|
|
137
|
-
- metro
|
|
138
|
-
- expo
|
|
165
|
+
- metro v0.72.0 or newer: https://github.com/facebook/metro/releases/tag/v0.72.0
|
|
166
|
+
- expo v44.0.0 or newer or babel-preset-expo v9.0.0 or newer: https://github.com/expo/expo/blob/main/packages/babel-preset-expo/CHANGELOG.md#900--2021-12-03
|
|
139
167
|
|
|
140
168
|
The required changes for the versions above can be found [here](#react-automatic-runtime).
|
|
141
169
|
|
|
@@ -190,9 +218,9 @@ module.exports = {
|
|
|
190
218
|
Example of a startup call:
|
|
191
219
|
|
|
192
220
|
```js
|
|
193
|
-
import { Dynatrace,
|
|
221
|
+
import { Dynatrace, ConfigurationBuilder } from '@dynatrace/react-native-plugin';
|
|
194
222
|
|
|
195
|
-
Dynatrace.start(new
|
|
223
|
+
Dynatrace.start(new ConfigurationBuilder("beaconUrl", "applicationId").buildConfiguration());
|
|
196
224
|
```
|
|
197
225
|
|
|
198
226
|
For more details see the section about [startup API](#plugin-startup).
|
|
@@ -209,21 +237,23 @@ import { Dynatrace, Platform } from '@dynatrace/react-native-plugin';
|
|
|
209
237
|
|
|
210
238
|
### Plugin startup
|
|
211
239
|
|
|
212
|
-
The manual startup of the plugin is triggered via the `start(configuration:
|
|
240
|
+
The manual startup of the plugin is triggered via the `start(configuration: IConfiguration)` method. If you configured `dynatrace.config.js` for manual startup then the plugin doesn't send any data when not calling this function. Besides the application id and the beacon URL, there are several optional configuration parameters, which are shown in the table below.
|
|
213
241
|
|
|
214
242
|
```js
|
|
215
|
-
new
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
)
|
|
243
|
+
const configurationBuilder = new ConfigurationBuilder("beaconUrl", "applicationId");
|
|
244
|
+
|
|
245
|
+
configurationBuilder.withCrashReporting(true)
|
|
246
|
+
.withLogLevel(LogLevel.Info)
|
|
247
|
+
.withLifecycleUpdate(false)
|
|
248
|
+
.withUserOptIn(false)
|
|
249
|
+
.withActionNamePrivacy(false)
|
|
250
|
+
.withBundleName(undefined);
|
|
251
|
+
|
|
252
|
+
configurationBuilder.buildConfiguration();
|
|
225
253
|
```
|
|
226
254
|
|
|
255
|
+
**Info**: The values used in the function calls for the parameters are also their default value.
|
|
256
|
+
|
|
227
257
|
| Property name | Type | Default | Description |
|
|
228
258
|
|------------------|--------|-------------|---------------------------------------------------|
|
|
229
259
|
|beaconUrl |string |undefined |Identifies your environment within Dynatrace. This property is mandatory for [manual startup](#manual-oneagent-startup). OneAgent issues an error when the key isn't present.|
|
|
@@ -235,11 +265,9 @@ new ManualStartupConfiguration(
|
|
|
235
265
|
|actionNamePrivacy|boolean|false|Activates a privacy mode especially for Touchables and Buttons. Setting this option to true means that a name for the control will no longer be shown, e.g. "Touch on Button". When setting a dtActionName onto the component this setting will be ignored.
|
|
236
266
|
|bundleName|string|undefined|Should be used only if you have a multiple bundle setup where you load several .bundle files within your React Native application. Enter the name of your bundle. This should be unique in comparison to your other bundle names. This will ensure that actions coming from different bundles will not interfere with each other.
|
|
237
267
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
**Attention:** Please use those parameters only when doing a manual startup. If you want to do an automated startup, please configure the properties via the [auto startup configuration](#manual-startup-counterparts). You will find a list which explains all the counterparts for the available options here.
|
|
268
|
+
**Attention:**
|
|
269
|
+
* Keep in mind that configuration within the `dynatrace.config.js` file is the basis, even for manual startup. When we look at the lifecycleUpdate property: Per default if not used, it is false. If enabled (set to true) in `dynatrace.config.js` file, this will be also true if manual startup is used. You can still override this behavior by calling `ConfigurationBuilder.withLifecycleUpdate(false)`.
|
|
270
|
+
* Please use those parameters only when doing a manual startup. If you want to do an automated startup, please configure the properties via the [auto startup configuration](#manual-startup-counterparts). You will find a list which explains all the counterparts for the available options here.
|
|
243
271
|
|
|
244
272
|
### Monitor a Component
|
|
245
273
|
|
|
@@ -312,6 +340,31 @@ myAction.cancel();
|
|
|
312
340
|
myAction.leaveAction();
|
|
313
341
|
```
|
|
314
342
|
|
|
343
|
+
### Manual Web Request Tagging
|
|
344
|
+
|
|
345
|
+
You can manually tag and time your web requests. With the API shown below, you are able to manually capture the web requests of an http framework/library.
|
|
346
|
+
|
|
347
|
+
**Note:**
|
|
348
|
+
Using this API will force the request to be added to the action that is manually created.
|
|
349
|
+
|
|
350
|
+
```js
|
|
351
|
+
let url = 'https://www.dynatrace.com';
|
|
352
|
+
// You can also use enterAutoAction if desired
|
|
353
|
+
let action = Dynatrace.enterManualAction("Manual Web Request");
|
|
354
|
+
let tag = await action.getRequestTag(url);
|
|
355
|
+
let timing = new DynatraceWebRequestTiming(url, tag);
|
|
356
|
+
|
|
357
|
+
try {
|
|
358
|
+
timing.startWebRequestTiming();
|
|
359
|
+
let axiosResponse = await axios.get(url);
|
|
360
|
+
timing.stopWebRequestTiming(axiosResponse.status, axiosResponse.data);
|
|
361
|
+
} catch (error) {
|
|
362
|
+
timing.stopWebRequestTiming(-1, error);
|
|
363
|
+
} finally {
|
|
364
|
+
action.leaveAction();
|
|
365
|
+
}
|
|
366
|
+
```
|
|
367
|
+
|
|
315
368
|
### Report values
|
|
316
369
|
|
|
317
370
|
For any open action you can report certain values. The following API is available for action:
|
|
@@ -556,7 +609,7 @@ npx configDynatrace [optional: config=...]
|
|
|
556
609
|
|
|
557
610
|
## Customizing paths for configuration
|
|
558
611
|
|
|
559
|
-
> **Note:** This feature works directly on run-android, run-ios or start command only for
|
|
612
|
+
> **Note:** This feature works directly on run-android, run-ios or start command only for React Native v0.60.1 or newer until v0.69.x.
|
|
560
613
|
|
|
561
614
|
> **MacOS Users:** This feature is not working correctly on MacOS. Arguments are not passed between run-ios and starting the webserver. If you still want to use custom arguments you need to start the webserver first with custom arguments and later on executing run-ios, which will then no longer create a webserver as it is already running in background.
|
|
562
615
|
|
|
@@ -568,12 +621,12 @@ Our scripts assumes that the usual React Native project structure is given. The
|
|
|
568
621
|
|
|
569
622
|
Examples:
|
|
570
623
|
|
|
571
|
-
*
|
|
624
|
+
* React Native v0.60.1 or newer:
|
|
572
625
|
```
|
|
573
626
|
npx react-native run-android config=C:\SpecialFolderForDynatrace\dynatrace.config.js --port=2000
|
|
574
627
|
```
|
|
575
628
|
|
|
576
|
-
*
|
|
629
|
+
* React Native v0.70.0 or newer:
|
|
577
630
|
```
|
|
578
631
|
npx instrumentDynatrace config=C:\SpecialFolderForDynatrace\dynatrace.config.js
|
|
579
632
|
npx react-native run-android --port=2000
|
|
@@ -639,13 +692,13 @@ Once the above is completed, follow the steps from the [install plugin](#1-insta
|
|
|
639
692
|
When you are ready to build, make sure that you use the `plist=` parameter when running the `npx instrumentDynatrace` or `npx react-native run-ios` commands for the tvOS scheme.
|
|
640
693
|
Examples:
|
|
641
694
|
|
|
642
|
-
Using React Native
|
|
695
|
+
Using React Native v0.69.x or lower and @react-native-community/cli v8.x or lower:
|
|
643
696
|
|
|
644
697
|
```js
|
|
645
698
|
npx react-native run-ios --simulator "Apple TV" --scheme "ApplicationName-tvOS" plist=/path/to/application/ios/ApplicationName-tvOS/Info.plist
|
|
646
699
|
```
|
|
647
700
|
|
|
648
|
-
Using React Native
|
|
701
|
+
Using React Native v0.70 or higher or @react-native-community/cli v9.x or higher:
|
|
649
702
|
|
|
650
703
|
```js
|
|
651
704
|
// Update the Info.plist with the properties from the dynatrace.config.js file
|
|
@@ -962,7 +1015,7 @@ JavaScript:
|
|
|
962
1015
|
|
|
963
1016
|
## React Automatic Runtime
|
|
964
1017
|
|
|
965
|
-
React introduced with React
|
|
1018
|
+
React introduced with React v17.x, React v16.14.0, React v15.7.0, and React v14.10 the automatic runtime which changes the JSX transformation (https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html).
|
|
966
1019
|
|
|
967
1020
|
This impacts our instrumentation as well. To keep the instrumentation in place you need to change your babel configuration.
|
|
968
1021
|
|
|
@@ -1020,7 +1073,9 @@ module.exports = {
|
|
|
1020
1073
|
|
|
1021
1074
|
If you want to register the Dynatrace transformer in your configuration and you already have a transformer in place, change the upstreaming transformer for the Dynatrace transformer.
|
|
1022
1075
|
|
|
1023
|
-
This can be done via a configuration value in the `dynatrace.config.js`
|
|
1076
|
+
This can be done via a configuration value in the `dynatrace.config.js`. The following example shows how the configuration might look like for the popular `react-native-svg-transformer`. Be aware that the following example is targeting *React Native v0.72.1* or newer.
|
|
1077
|
+
|
|
1078
|
+
#### dynatrace.config.js
|
|
1024
1079
|
|
|
1025
1080
|
```js
|
|
1026
1081
|
// The `...` only indicates that there are other values as well, but we've omitted them in this example.
|
|
@@ -1033,6 +1088,56 @@ module.exports = {
|
|
|
1033
1088
|
}
|
|
1034
1089
|
```
|
|
1035
1090
|
|
|
1091
|
+
#### metro.config.js for React Native v0.72.1 or newer
|
|
1092
|
+
```js
|
|
1093
|
+
const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
|
|
1094
|
+
const defaultConfig = getDefaultConfig(__dirname);
|
|
1095
|
+
const {assetExts, sourceExts} = defaultConfig.resolver;
|
|
1096
|
+
|
|
1097
|
+
/**
|
|
1098
|
+
* Metro configuration
|
|
1099
|
+
* https://facebook.github.io/metro/docs/configuration
|
|
1100
|
+
*
|
|
1101
|
+
* @type {import('metro-config').MetroConfig}
|
|
1102
|
+
*/
|
|
1103
|
+
const config = {
|
|
1104
|
+
transformer: {
|
|
1105
|
+
babelTransformerPath: require.resolve(
|
|
1106
|
+
'@dynatrace/react-native-plugin/lib/dynatrace-transformer',
|
|
1107
|
+
),
|
|
1108
|
+
},
|
|
1109
|
+
reporter: require('@dynatrace/react-native-plugin/lib/dynatrace-reporter'),
|
|
1110
|
+
resolver: {
|
|
1111
|
+
assetExts: assetExts.filter(ext => ext !== 'svg'),
|
|
1112
|
+
sourceExts: [...sourceExts, 'cjs', 'svg'],
|
|
1113
|
+
},
|
|
1114
|
+
};
|
|
1115
|
+
|
|
1116
|
+
module.exports = mergeConfig(defaultConfig, config);
|
|
1117
|
+
```
|
|
1118
|
+
|
|
1119
|
+
#### metro.config.js for React Native v0.59 or newer
|
|
1120
|
+
|
|
1121
|
+
```js
|
|
1122
|
+
const { getDefaultConfig } = require("metro-config");
|
|
1123
|
+
|
|
1124
|
+
module.exports = (async () => {
|
|
1125
|
+
const {
|
|
1126
|
+
resolver: { sourceExts, assetExts }
|
|
1127
|
+
} = await getDefaultConfig();
|
|
1128
|
+
return {
|
|
1129
|
+
transformer: {
|
|
1130
|
+
babelTransformerPath: require.resolve('@dynatrace/react-native-plugin/lib/dynatrace-transformer')
|
|
1131
|
+
},
|
|
1132
|
+
reporter: require('@dynatrace/react-native-plugin/lib/dynatrace-reporter'),
|
|
1133
|
+
resolver: {
|
|
1134
|
+
assetExts: assetExts.filter((ext) => ext !== "svg"),
|
|
1135
|
+
sourceExts: [...sourceExts, "cjs", "svg"]
|
|
1136
|
+
}
|
|
1137
|
+
};
|
|
1138
|
+
})();
|
|
1139
|
+
```
|
|
1140
|
+
|
|
1036
1141
|
## Maven Central in top-level gradle file
|
|
1037
1142
|
|
|
1038
1143
|
Because the Dynatrace Android agent now requires the MavenCentral repository, if either `jcenter()` or `mavenCentral()` is not added inside of **ALL** the repositories blocks via the [top-level build.gradle](https://dt-url.net/jm610pso), the build will fail.
|
|
@@ -1050,13 +1155,13 @@ JCenter has noted its [sunset](https://jfrog.com/blog/into-the-sunset-bintray-jc
|
|
|
1050
1155
|
|
|
1051
1156
|
Updating Gradle only affects your Android build. To update your project to Gradle 6, modify the following 3 files in your Android folder.
|
|
1052
1157
|
|
|
1053
|
-
- `ProjectFolder\android\gradle\wrapper\gradle-wrapper.properties` Update the distributionUrl to get a
|
|
1158
|
+
- `ProjectFolder\android\gradle\wrapper\gradle-wrapper.properties` Update the distributionUrl to get a newer gradle version.
|
|
1054
1159
|
|
|
1055
1160
|
```
|
|
1056
1161
|
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
|
|
1057
1162
|
```
|
|
1058
1163
|
|
|
1059
|
-
- `ProjectFolder\android\build.gradle` Update the version of your Android gradle plugin (minimum 4.x) as Gradle 6 needs a
|
|
1164
|
+
- `ProjectFolder\android\build.gradle` Update the version of your Android gradle plugin (minimum 4.x) as Gradle 6 needs a newer one. To get the newer versions, add `google()` in your repositories. Example of a build.gradle file:
|
|
1060
1165
|
|
|
1061
1166
|
```
|
|
1062
1167
|
buildscript {
|
|
@@ -1169,6 +1274,15 @@ If you are struggling with a problem, submit a support ticket to Dynatrace (supp
|
|
|
1169
1274
|
<br/><br/>
|
|
1170
1275
|
## Changelog
|
|
1171
1276
|
|
|
1277
|
+
2.277.1
|
|
1278
|
+
* Update Android (8.277.1.1003) & iOS Agent (8.277.1.1004)
|
|
1279
|
+
* Introduced `ConfigurationBuilder` for Manual Startup
|
|
1280
|
+
* Deprecating `ManualStartupConfiguration` for Manual Startup
|
|
1281
|
+
|
|
1282
|
+
2.275.1
|
|
1283
|
+
* Update iOS Agent (8.275.1.1006)
|
|
1284
|
+
* Add documentation for manually tagging web requests
|
|
1285
|
+
|
|
1172
1286
|
2.273.1
|
|
1173
1287
|
* Update Android (8.273.1.1003) & iOS Agent (8.273.1.1006)
|
|
1174
1288
|
* Crash handler initialization happens earlier in the application
|
package/android/build.gradle
CHANGED
|
@@ -36,7 +36,7 @@ repositories {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
dependencies {
|
|
39
|
-
implementation 'com.dynatrace.agent:agent-android:8.
|
|
39
|
+
implementation 'com.dynatrace.agent:agent-android:8.277.1.1003'
|
|
40
40
|
implementation "com.facebook.react:react-native:${safeExtGet('reactNative', '+')}"
|
|
41
41
|
}
|
|
42
42
|
|
package/files/plugin.gradle
CHANGED
package/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export { Dynatrace } from './lib/instrumentor/base/Dynatrace';
|
|
2
2
|
export { DataCollectionLevel } from './lib/instrumentor/base/model/DataCollectionLevel';
|
|
3
3
|
export { ManualStartupConfiguration } from './lib/instrumentor/base/configuration/ManualStartupConfiguration';
|
|
4
|
+
export { ConfigurationBuilder } from './lib/instrumentor/base/configuration/ConfigurationBuilder';
|
|
4
5
|
export { Platform } from './lib/instrumentor/base/model/Platform';
|
|
5
6
|
export { LogLevel } from './lib/instrumentor/base/model/LogLevel';
|
|
6
7
|
export { ApplicationHandler } from './lib/instrumentor/base/Application';
|
|
7
8
|
export { UserPrivacyOptions } from './lib/instrumentor/base/UserPrivacyOptions';
|
|
9
|
+
export { DynatraceWebRequestTiming } from './lib/instrumentor/base/DynatraceWebRequestTiming';
|
|
8
10
|
export { createElement } from './lib/CreateElement';
|
package/ios/DynatraceRNBridge.m
CHANGED
|
@@ -222,7 +222,7 @@ RCT_EXPORT_METHOD(reportDoubleValueInAction:(nonnull NSString *)actionKey withNa
|
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
RCT_EXPORT_METHOD(getRequestTag:(nonnull
|
|
225
|
+
RCT_EXPORT_METHOD(getRequestTag:(nonnull NSString *)actionKey withUrl:(NSString *)url findEventsWithResolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
226
226
|
{
|
|
227
227
|
DTXAction* action = [self getAction:actionKey];
|
|
228
228
|
resolve([action getTagForURL:[NSURL URLWithString:url]]);
|
|
@@ -6,30 +6,30 @@
|
|
|
6
6
|
<array>
|
|
7
7
|
<dict>
|
|
8
8
|
<key>LibraryIdentifier</key>
|
|
9
|
-
<string>ios-
|
|
9
|
+
<string>ios-arm64</string>
|
|
10
10
|
<key>LibraryPath</key>
|
|
11
11
|
<string>Dynatrace.framework</string>
|
|
12
12
|
<key>SupportedArchitectures</key>
|
|
13
13
|
<array>
|
|
14
14
|
<string>arm64</string>
|
|
15
|
-
<string>x86_64</string>
|
|
16
15
|
</array>
|
|
17
16
|
<key>SupportedPlatform</key>
|
|
18
17
|
<string>ios</string>
|
|
19
|
-
<key>SupportedPlatformVariant</key>
|
|
20
|
-
<string>simulator</string>
|
|
21
18
|
</dict>
|
|
22
19
|
<dict>
|
|
23
20
|
<key>LibraryIdentifier</key>
|
|
24
|
-
<string>ios-
|
|
21
|
+
<string>ios-arm64_x86_64-simulator</string>
|
|
25
22
|
<key>LibraryPath</key>
|
|
26
23
|
<string>Dynatrace.framework</string>
|
|
27
24
|
<key>SupportedArchitectures</key>
|
|
28
25
|
<array>
|
|
29
26
|
<string>arm64</string>
|
|
27
|
+
<string>x86_64</string>
|
|
30
28
|
</array>
|
|
31
29
|
<key>SupportedPlatform</key>
|
|
32
30
|
<string>ios</string>
|
|
31
|
+
<key>SupportedPlatformVariant</key>
|
|
32
|
+
<string>simulator</string>
|
|
33
33
|
</dict>
|
|
34
34
|
<dict>
|
|
35
35
|
<key>LibraryIdentifier</key>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -572,7 +572,7 @@
|
|
|
572
572
|
},
|
|
573
573
|
"ConstValues": [
|
|
574
574
|
{
|
|
575
|
-
"filePath": "\/opt\/jenkins\/workspace\/
|
|
575
|
+
"filePath": "\/opt\/jenkins\/workspace\/eAgent_ios-agent_release_8.277.x\/adk\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
|
|
576
576
|
"kind": "BooleanLiteral",
|
|
577
577
|
"offset": 1277,
|
|
578
578
|
"length": 4,
|
package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace
CHANGED
|
Binary file
|
package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Info.plist
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -572,7 +572,7 @@
|
|
|
572
572
|
},
|
|
573
573
|
"ConstValues": [
|
|
574
574
|
{
|
|
575
|
-
"filePath": "\/opt\/jenkins\/workspace\/
|
|
575
|
+
"filePath": "\/opt\/jenkins\/workspace\/eAgent_ios-agent_release_8.277.x\/adk\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
|
|
576
576
|
"kind": "BooleanLiteral",
|
|
577
577
|
"offset": 1277,
|
|
578
578
|
"length": 4,
|
|
@@ -572,7 +572,7 @@
|
|
|
572
572
|
},
|
|
573
573
|
"ConstValues": [
|
|
574
574
|
{
|
|
575
|
-
"filePath": "\/opt\/jenkins\/workspace\/
|
|
575
|
+
"filePath": "\/opt\/jenkins\/workspace\/eAgent_ios-agent_release_8.277.x\/adk\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
|
|
576
576
|
"kind": "BooleanLiteral",
|
|
577
577
|
"offset": 1277,
|
|
578
578
|
"length": 4,
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
</data>
|
|
11
11
|
<key>Headers/Dynatrace.h</key>
|
|
12
12
|
<data>
|
|
13
|
-
|
|
13
|
+
s/CPxOz0ofQiidcBNcdBPLXXThk=
|
|
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
|
-
|
|
25
|
+
ZmnoNgDWYeKZc+t7wIT8L3aBePQ=
|
|
26
26
|
</data>
|
|
27
27
|
<key>Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo</key>
|
|
28
28
|
<data>
|
|
29
|
-
|
|
29
|
+
tGP5yAsQSe6bm5Ut4G1xRfqi6cA=
|
|
30
30
|
</data>
|
|
31
31
|
<key>Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo</key>
|
|
32
32
|
<data>
|
|
33
|
-
|
|
33
|
+
+JWrUnYV9oLkLvbAmBA9Vn5XXGM=
|
|
34
34
|
</data>
|
|
35
35
|
<key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
|
|
36
36
|
<data>
|
|
37
|
-
|
|
37
|
+
6VdRc/zYV0Jgdr/u6wegAUWiIeE=
|
|
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
|
-
|
|
53
|
+
GJY8K9ndTG9NObUkCA9DaYWO/do=
|
|
54
54
|
</data>
|
|
55
55
|
<key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
|
|
56
56
|
<data>
|
|
57
|
-
|
|
57
|
+
6VdRc/zYV0Jgdr/u6wegAUWiIeE=
|
|
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
|
-
|
|
73
|
+
xAZXVgAZVrAK+OYm3m2IHSjSstM=
|
|
74
74
|
</data>
|
|
75
75
|
<key>Modules/module.modulemap</key>
|
|
76
76
|
<data>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
<dict>
|
|
91
91
|
<key>hash2</key>
|
|
92
92
|
<data>
|
|
93
|
-
|
|
93
|
+
6xyhjqcVDTpmT/YyJlsrIDAex1CRcWeyFMI7TVdBFqE=
|
|
94
94
|
</data>
|
|
95
95
|
</dict>
|
|
96
96
|
<key>Headers/DynatraceSwiftUI.h</key>
|
|
@@ -111,21 +111,21 @@
|
|
|
111
111
|
<dict>
|
|
112
112
|
<key>hash2</key>
|
|
113
113
|
<data>
|
|
114
|
-
|
|
114
|
+
+TdP+N6msySUOm9F4VpckPHV7sXqOma88mHJ5Hbm6yA=
|
|
115
115
|
</data>
|
|
116
116
|
</dict>
|
|
117
117
|
<key>Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo</key>
|
|
118
118
|
<dict>
|
|
119
119
|
<key>hash2</key>
|
|
120
120
|
<data>
|
|
121
|
-
|
|
121
|
+
ridurfiG9ezake3Y1qJngfc37pDgOpDY/WK1QWRJhd4=
|
|
122
122
|
</data>
|
|
123
123
|
</dict>
|
|
124
124
|
<key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
|
|
125
125
|
<dict>
|
|
126
126
|
<key>hash2</key>
|
|
127
127
|
<data>
|
|
128
|
-
|
|
128
|
+
jgn2J5MfhfuhsVU0Ug19b4Osli63lNT8ep03YbTzXc8=
|
|
129
129
|
</data>
|
|
130
130
|
</dict>
|
|
131
131
|
<key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
|
|
@@ -153,14 +153,14 @@
|
|
|
153
153
|
<dict>
|
|
154
154
|
<key>hash2</key>
|
|
155
155
|
<data>
|
|
156
|
-
|
|
156
|
+
wqXeIP7CQxnUVUHhsWz3u6M3nvOXhgS+xKNwDP9DqVU=
|
|
157
157
|
</data>
|
|
158
158
|
</dict>
|
|
159
159
|
<key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
|
|
160
160
|
<dict>
|
|
161
161
|
<key>hash2</key>
|
|
162
162
|
<data>
|
|
163
|
-
|
|
163
|
+
jgn2J5MfhfuhsVU0Ug19b4Osli63lNT8ep03YbTzXc8=
|
|
164
164
|
</data>
|
|
165
165
|
</dict>
|
|
166
166
|
<key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
|
|
@@ -188,7 +188,7 @@
|
|
|
188
188
|
<dict>
|
|
189
189
|
<key>hash2</key>
|
|
190
190
|
<data>
|
|
191
|
-
|
|
191
|
+
7kGLR3WL9iWXH8jH9eXOcsHSM/pY94//Gm2r7g9kDY4=
|
|
192
192
|
</data>
|
|
193
193
|
</dict>
|
|
194
194
|
<key>Modules/module.modulemap</key>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace
CHANGED
|
Binary file
|
package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Info.plist
CHANGED
|
Binary file
|
|
Binary file
|