|
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