|
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