|
14 | 14 | namespace node { |
15 | 15 | namespace performance { |
16 | 16 |
|
| 17 | +using v8::Array; |
17 | 18 | using v8::Context; |
18 | 19 | using v8::DontDelete; |
19 | 20 | using v8::Function; |
@@ -263,26 +264,17 @@ void LoopIdleTime(const FunctionCallbackInfo<Value>& args) { |
263 | 264 |
|
264 | 265 | void UvMetricsInfo(const FunctionCallbackInfo<Value>& args) { |
265 | 266 | Environment* env = Environment::GetCurrent(args); |
| 267 | + Isolate* isolate = env->isolate(); |
266 | 268 | uv_metrics_t metrics; |
267 | | - |
268 | 269 | // uv_metrics_info always return 0 |
269 | 270 | CHECK_EQ(uv_metrics_info(env->event_loop(), &metrics), 0); |
270 | | - |
271 | | - Local<Object> obj = Object::New(env->isolate()); |
272 | | - obj->Set(env->context(), |
273 | | - env->loop_count(), |
274 | | - Integer::NewFromUnsigned(env->isolate(), metrics.loop_count)) |
275 | | - .Check(); |
276 | | - obj->Set(env->context(), |
277 | | - env->events(), |
278 | | - Integer::NewFromUnsigned(env->isolate(), metrics.events)) |
279 | | - .Check(); |
280 | | - obj->Set(env->context(), |
281 | | - env->events_waiting(), |
282 | | - Integer::NewFromUnsigned(env->isolate(), metrics.events_waiting)) |
283 | | - .Check(); |
284 | | - |
285 | | - args.GetReturnValue().Set(obj); |
| 271 | + Local<Value> data[] = { |
| 272 | + Integer::New(isolate, metrics.loop_count), |
| 273 | + Integer::New(isolate, metrics.events), |
| 274 | + Integer::New(isolate, metrics.events_waiting), |
| 275 | + }; |
| 276 | + Local<Array> arr = Array::New(env->isolate(), data, arraysize(data)); |
| 277 | + args.GetReturnValue().Set(arr); |
286 | 278 | } |
287 | 279 |
|
288 | 280 | void CreateELDHistogram(const FunctionCallbackInfo<Value>& args) { |
|
0 commit comments