Skip to content

Angular 2(+) MS Azure Application insights module - Find out performance and usage of your app by connecting Microsoft Azure Application insights with your Angular application

License

Notifications You must be signed in to change notification settings

mqlkmd/angular-application-insights

Repository files navigation

MS Azure Application Insights Angular v2+ implementation

Connect your Angular 2+ client-side to Microsofts Application Insights with this easy-to-use Module.

Installation:

Install & save the library to your package.json:

Latest version: 1.0.0-rc.1

$ npm i -S @markpieszak/ng-application-insights

and then add the library to your Angular Root AppModule:

// Import the Application Insights module and the service provider
import { ApplicationInsightsModule, AppInsightsService } from '@markpieszak/ng-application-insights';

@NgModule({
  imports: [
    // ... your imports

    // Add the Module to your imports 
    ApplicationInsightsModule.forRoot({
      instrumentationKey: 'Your-Application-Insights-instrumentationKey'
    })
  ],
  // ... providers / etc
  providers: [ ..., AppInsightsService ],
})
export class YourRootModule { }

Usage:

Through out your application you can now use the AppInsightsService class to fire off AppInsights functionality.

export class ShoppingCartComponent {
  public cart: [];
  constructor(private appInsightsService: AppInsightsService) {}

  saveCart(user) {
    // MOCK Example of sending a trackEvent()
    // Saving some sample user & cart product data
    this.appInsightsService.trackEvent('ShoppingCart Saved', { user, cart });
  }
}

API:

You can see a list of the API here: https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#class-appinsights

AppInsightsService.trackEvent()
AppInsightsService.startTrackEvent()
AppInsightsService.stopTrackEvent()
AppInsightsService.trackPageView()
AppInsightsService.startTrackPage()
AppInsightsService.stopTrackPage()
AppInsightsService.trackMetric()
AppInsightsService.trackException()
AppInsightsService.trackTrace()
AppInsightsService.trackDependency()
AppInsightsService.flush()
AppInsightsService.setAuthenticatedUserContext()
AppInsightsService.clearAuthenticatedUserContext()

If using SystemJS:

Modify systemjs.config.js...

In System.Config.map, add:

      'applicationinsights-js': 'npm:applicationinsights-js/JavaScript/JavaScriptSDK.Module/AppInsightsModule.js'
      '@markpieszak/ng-application-insights': 'npm:@markpieszak/ng-application-insights/dist/index.js'

and in System.Config.packages, add:

      '.': {
         defaultExtension: 'js'
      }

Want to Contribute?

ng-Application-Insights Development

To generate all *.js, *.js.map and *.d.ts files:

$ npm run build

To lint all *.ts files:

$ npm run lint

License

MIT © Mark Pieszak

About

Angular 2(+) MS Azure Application insights module - Find out performance and usage of your app by connecting Microsoft Azure Application insights with your Angular application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%