Performance monitoring for Angular applications.
By default Heimdallr tracks useful information and submits data every 10s:
- Angular app information (Version number and such)
- WatcherCount
- ui.router state changes
- Custom events
- Angular 1.4+ (tested on 1.4.7 & 1.4.8)
- Routers: ui.router
Add Module to your application.
var myApp = angular.module('yourApp',['HeimdallrService']);
Heimdallr needs to hook into http requests in order to provide accurate timings for http requests.
myApp.config(['HeimdallrProvider', function(HeimdallrProvider){
HeimdallrProvider.$get().bindHttp();
}]);
Starting the Heimdallr service requires that you put in a URL as the destination for your performance metrics. Any number of custom attributes can be set on the customProperties
object.
myApp.run(['HeimdallrService', function(HeimdallrService){
HeimdallrService.init({
url: '/monitoring/perf',
customProperties: {
app: appConstant
}
});
HeimdallrService.bindRoutingEvents(); // Binds routing events for ui.router
HeimdallrService.performanceTest(); // Does performance test to establish bandwidth
}]);
Custom events are easily added.
beginningFunction = function(){
HeimdallrService.addEvent('event1');
}
Add a second event.
endFunction = function(){
HeimdallrService.addEvent('event2');
}
Calculate the measurement: (title, start, end, remove after submit). After measurement is calculated data will be submitted immediately.
HeimdallrService.measure("SomeTitle", 'event1', 'event2', true);
Enabling debug will enable console error messages.
myApp.run(['HeimdallrService', function(HeimdallrService){
HeimdallrService.init({
debug: true,
url: '/monitoring/perf',
customProperties: {
app: appConstant
}
});
}]);