Angular plugin for Application Insights JavaScript SDK
The Angular plugin for the Application Insights JavaScript SDK, enables:
- Tracking of router changes
- Tracking uncaught exceptions
Warning
Angular plugin is NOT ECMAScript 3 (ES3) compatible.
Important
When we add support for a new Angular version, our NPM package becomes incompatible with down-level Angular versions. Continue to use older NPM packages until you're ready to upgrade your Angular version.
Getting started
Install npm package:
npm install @microsoft/applicationinsights-angularplugin-js
Basic usage
Set up an instance of Application Insights in the entry component in your app:
import { Component } from '@angular/core';
import { ApplicationInsights } from '@microsoft/applicationinsights-web';
import { AngularPlugin } from '@microsoft/applicationinsights-angularplugin-js';
import { Router } from '@angular/router';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor(
private router: Router
){
var angularPlugin = new AngularPlugin();
const appInsights = new ApplicationInsights({ config: {
instrumentationKey: 'YOUR_INSTRUMENTATION_KEY_GOES_HERE',
extensions: [angularPlugin],
extensionConfig: {
[angularPlugin.identifier]: { router: this.router }
}
} });
appInsights.loadAppInsights();
}
}
To track uncaught exceptions, setup ApplicationinsightsAngularpluginErrorService in app.module.ts:
import { ApplicationinsightsAngularpluginErrorService } from '@microsoft/applicationinsights-angularplugin-js';
@NgModule({
...
providers: [
{
provide: ErrorHandler,
useClass: ApplicationinsightsAngularpluginErrorService
}
]
...
})
export class AppModule { }
Enable Correlation
Correlation generates and sends data that enables distributed tracing and powers the application map, end-to-end transaction view, and other diagnostic tools.
In JavaScript correlation is turned off by default in order to minimize the telemetry we send by default. To enable correlation please reference JavaScript client-side correlation documentation.
Route tracking
The Angular Plugin automatically tracks route changes and collects other Angular specific telemetry.
Note
enableAutoRouteTracking should be set to false if it set to true then when the route changes duplicate PageViews may be sent.
PageView
If a custom PageView duration is not provided, PageView duration defaults to a value of 0.
Next steps
- To learn more about the JavaScript SDK, see the Application Insights JavaScript SDK documentation
- Angular plugin on GitHub
Maklum balas
Kirim dan lihat maklum balas untuk