2013-03-21 29 views
8

Tôi có một ứng dụng nút mà tôi muốn cấu hình bằng cách sử dụng trình thu thập nút.Nút chụp hồ sơ với v8

Vì vậy, đầu tiên tôi chạy:

node --prof v8test.js 

Sau đó, tôi đã tải về các công cụ v8

svn checkout http://v8.googlecode.com/svn/trunk/ v8; 
make dependencies; 
make native; 

Sau đó cố gắng để phân tích các tập tin được tạo ra (v8.log)

tools/linux-tick-processor ../v8.log 

Nhưng tôi nhận được rất nhiều:

Code move event for unknown code: 0x289dd8475560 
Code move event for unknown code: 0x289dd84758e0 
Code move event for unknown code: 0x289dd8479280 
Code move event for unknown code: 0x289dd8482980 
Code move event for unknown code: 0x289dd84c2a80 
line 718730: unknown code state: undefined 
line 718731: unknown code state: undefined 
line 739575: unknown code state: undefined 
line 739577: unknown code state: undefined 

Ai đó có thể giúp tôi tìm ra điều gì đang diễn ra không?

+1

Không phải là câu trả lời, nhưng Ben Noordhuis đang giúp tôi sắp xếp cùng một vấn đề: https://groups.google.com/forum/?fromgroups=#!topic/nodejs/4NMoiPd2K6s – jcollum

Trả lời

5

Định dạng tệp nhật ký dường như thay đổi khá thường xuyên, vì vậy bạn cần đảm bảo rằng bạn đang sử dụng đúng phiên bản v8. Ví dụ: nếu nhật ký hồ sơ được tạo bằng nút v0.10.18, bạn phải phân tích nó bằng bộ xử lý đánh dấu cho phiên bản v8 3.14.5. Để biết phiên bản nào của v8 là phiên bản cho sẵn của nút được xây dựng, bạn có thể kiểm tra deps/v8/ChangeLog trong phân phối nguồn nút (nút thay đổi của nút có vẻ không đáng tin cậy đối với khía cạnh này).

0

Đảm bảo rằng bạn không chạy phiên bản 64 bit của nút với phiên bản 32 bit của công cụ lược tả hoặc ngược lại tôi gặp phải sự cố tương tự khi tôi vô tình làm điều đó.

+0

cách, dude, như thế nào? ??????? * thở dài * – MaiaVictor

+0

@Viclib - Từ trang tải xuống nút phiên bản 32 hoặc 64 bit, khi bạn biên dịch các công cụ v8, hãy làm theo hướng dẫn xây dựng của chúng để xây dựng chúng cho môi trường 32 bit hoặc 64 bit. Tôi nhận được 32 bit nút + xây dựng một phiên bản 32 bit của các công cụ lược tả là dễ nhất để làm. – Tim

0

Một tùy chọn khác để cấu hình một ứng dụng nút là sử dụng Bộ khuếch đại VTune thay cho trình biên dịch V8 bên trong được nhúng trong Node.js. Trong trường hợp này, bạn sẽ thấy cách các chỉ số hiệu suất được phân phối thông qua mã nguồn của hàm của bạn. Tiểu sử V8 không thể làm điều đó ngay bây giờ. Hãy xem cái này post để xem cách bạn làm điều đó.