Skip to content

Dynatrace ​

Application performance monitoring with Dynatrace OneAgent for NativeScript.

Installation ​

bash
npm install @nstudio/nativescript-dynatrace

Configuration ​

Automatic Startup ​

Configure automatic startup in dynatrace.config.js:

javascript
module.exports = {
  android: {
    config: 'dynatrace { configurations { defaultConfig { autoStart.enabled true } } }',
  },
  ios: {
    config: '<key>DTXAutoStart</key> <true/>',
  },
};

Manual Startup ​

For manual startup, first disable auto-start:

javascript
// dynatrace.config.js
module.exports = {
  android: {
    config: 'dynatrace { configurations { defaultConfig { autoStart.enabled false } } }',
  },
  ios: {
    config: '<key>DTXAutoStart</key> <false/>',
  },
};

Then start manually in your app:

typescript
import { TNSDynatrace, DynatraceStartupConfiguration } from '@nstudio/nativescript-dynatrace';

TNSDynatrace.start(new DynatraceStartupConfiguration({ 
  beaconUrl: 'your-beacon-url',
  applicationId: 'your-application-id'
}));

Usage ​

Import ​

typescript
import { TNSDynatrace } from '@nstudio/nativescript-dynatrace';

Create Actions ​

Track user actions:

typescript
const myAction = TNSDynatrace.enterAction('MyButton tapped');
// Perform the action
myAction.leaveAction();

Create Sub-Actions ​

typescript
const myAction = TNSDynatrace.enterAction('MyButton tapped');
const mySubAction = TNSDynatrace.enterAction('MyButton Sub Action');
// Perform actions
mySubAction.leaveAction();
myAction.leaveAction();

Report Values ​

typescript
const myAction = TNSDynatrace.enterAction('MyButton tapped');

// Report string value
myAction.reportStringValue('ValueName', 'ImportantValue');

// Report int value
myAction.reportIntValue('Count', 42);

// Report double value
myAction.reportDoubleValue('Price', 19.99);

// Report error
myAction.reportError('ErrorName', 500);

// Report event
myAction.reportEvent('EventName');

myAction.leaveAction();

Identify User ​

Tag the current session with a user:

typescript
TNSDynatrace.identifyUser('User XY');

Report Errors ​

typescript
TNSDynatrace.reportError('errorName', 500);

Startup Configuration ​

PropertyTypeDefaultDescription
beaconUrlstringnullRequired for manual startup. Your Dynatrace beacon URL
applicationIdstringnullRequired for manual startup. Your application ID
reportCrashbooleantrueReport crashes
certificateValidationbooleantrueValidate SSL certificates
userOptInbooleanfalseRequire user consent for data collection

Data Privacy ​

Control data collection levels based on user preferences:

typescript
// Set data collection level
TNSDynatrace.setDataCollectionLevel(DataCollectionLevel.Performance);

// Available levels:
// - DataCollectionLevel.Off
// - DataCollectionLevel.Performance
// - DataCollectionLevel.UserBehavior

License ​

Apache License Version 2.0