File tree 3 files changed +15
-4
lines changed
3 files changed +15
-4
lines changed Original file line number Diff line number Diff line change @@ -82,8 +82,8 @@ namespace nodex {
82
82
profile->Set (NanNew<String>(" head" ), head);
83
83
84
84
#if (NODE_MODULE_VERSION > 0x000B)
85
- Local<Value> start_time = NanNew<Number>(node->GetStartTime ()/1000000 );
86
- Local<Value> end_time = NanNew<Number>(node->GetEndTime ()/1000000 );
85
+ Local<Value> start_time = NanNew<Number>(( double ) node->GetStartTime ()/1000000.00 );
86
+ Local<Value> end_time = NanNew<Number>(( double ) node->GetEndTime ()/1000000.00 );
87
87
Local<Array> samples = NanNew<Array>();
88
88
89
89
uint32_t count = node->GetSamplesCount ();
Original file line number Diff line number Diff line change @@ -67,6 +67,17 @@ describe('CPU', function() {
67
67
expect ( profile . samples . length > 0 ) . to . equal ( true ) ;
68
68
} ) ;
69
69
70
+ it ( 'should record startTime and endTime with subsecond precision' , function ( done ) {
71
+ profiler . startProfiling ( 'P' ) ;
72
+ var delayInMilliseconds = 150 ;
73
+ setTimeout ( function ( ) {
74
+ var profile = profiler . stopProfiling ( ) ;
75
+ var elapsedTime = profile . endTime - profile . startTime ;
76
+ expect ( elapsedTime ) . to . be . at . least ( delayInMilliseconds / 1000 ) ;
77
+ expect ( elapsedTime ) . to . be . at . below ( 3 * delayInMilliseconds / 1000 ) ;
78
+ done ( ) ;
79
+ } , delayInMilliseconds ) ;
80
+ } ) ;
70
81
} ) ;
71
82
72
83
describe ( 'Profile' , function ( ) {
Original file line number Diff line number Diff line change @@ -111,13 +111,13 @@ var profiler = {
111
111
get profiles ( ) { return binding . cpu . profiles ; } ,
112
112
113
113
startProfiling : function ( name , recsamples ) {
114
- startTime = Date . now ( ) ;
114
+ startTime = Date . now ( ) / 1000 ;
115
115
binding . cpu . startProfiling ( name , recsamples ) ;
116
116
} ,
117
117
118
118
stopProfiling : function ( name ) {
119
119
var profile = binding . cpu . stopProfiling ( name ) ;
120
- endTime = Date . now ( ) ;
120
+ endTime = Date . now ( ) / 1000 ;
121
121
profile . __proto__ = CpuProfile . prototype ;
122
122
if ( ! profile . startTime ) profile . startTime = startTime ;
123
123
if ( ! profile . endTime ) profile . endTime = endTime ;
You can’t perform that action at this time.
0 commit comments