@@ -48,23 +48,33 @@ public Task StorePerfCounters(IEnumerable<IPerfCounterData> counters)
4848 // Get customer collection
4949 foreach ( var counter in counters )
5050 {
51- var countersColl = db . GetCollection < PerfCounterValue > ( counter . Name . GetHashCode ( ) . ToString ( ) ) ;
52- var names = db . GetCollection ( "CounterNames" ) ;
51+ try
52+ {
53+ var countersColl = db . GetCollection < PerfCounterValue > ( counter . Name . GetHashCode ( ) . ToString ( ) ) ;
54+ var names = db . GetCollection ( "CounterNames" ) ;
5355
54- // Index document using a document property
55- //countersColl.EnsureIndex("Timestamp", true);
56+ // Index document using a document property
57+ //countersColl.EnsureIndex("Timestamp", true);
5658
57- var id = names . Find ( Query . EQ ( "Name" , counter . Name ) ) . FirstOrDefault ( ) ;
58- if ( id == null )
59- {
60- var doc = new BsonDocument ( ) ;
61- doc . Add ( "Name" , counter . Name ) ;
62- names . Insert ( doc ) ;
63- }
59+ var id = names . Find ( Query . EQ ( "Name" , counter . Name ) ) . FirstOrDefault ( ) ;
60+ if ( id == null )
61+ {
62+ var doc = new BsonDocument ( ) ;
63+ doc . Add ( "Name" , counter . Name ) ;
64+ names . Insert ( doc ) ;
65+ }
6466
65- var item = new PerfCounterValue ( now , counter . Value ) ;
67+ var item = new PerfCounterValue ( now , counter . Value ) ;
6668
67- countersColl . Insert ( item ) ;
69+ countersColl . Insert ( item ) ;
70+ }
71+ catch ( Exception exc )
72+ {
73+ if ( OnError != null )
74+ {
75+ OnError ( new object ( ) , new ErrorEventArgs ( exc . ToString ( ) ) ) ;
76+ }
77+ }
6878 }
6979 }
7080 }
0 commit comments