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