Giter VIP home page Giter VIP logo

etwprof's Introduction

etwprof

Build Status

etwprof is a lightweight, self-contained sampling profiler for native applications on Windows. It's based on the Event Tracing for Windows (ETW) framework.

This profiler has the following design goals:

  • No installable dependencies of any sort
  • Lightweight
  • Processor architecture and model independent
  • It must be viable to be used as a technical support tool

Unlike Microsoft provided ETW-based performance profilers (such as xperf, Windows Performance Recorder, etc.), etwprof performs filtering, so sampled profile data relevant only to the target process is saved. This results in much smaller .etl output files compared to other ETW-based tools.

Usage

etwprof is a command line tool. To profile an (already running) process, launch etwprof as an Administrator, and pass either the PID or the name of the executable that you'd like to profile. The following example will profile notepad.exe, write the resulting .etl file to the user's home folder, and will also create one minidump at the beginning:

etwprof profile -t=notepad.exe --outdir=%USERPROFILE% -m

While profiling is in progress, you should see a colorful, spinning progress indicator:

Profile feedback

Profiling stops either when you stop it explicitly by pressing CTRL+C, or when the target process exits.

The resulting .etl file can be opened with a tool of your choice, such as Windows Performance Analyzer. If you open the trace with WPA, there's a small quirk: CPU usage not belonging to the target process will show up attributed to "Unknown (0)". This can be worked around easily with filtering:

WPA

For a list of command line options and more examples, see the dedicated documentation page about Usage. If you have any questions, please consult the FAQ page first.

System requirements

etwprof requires no 3rd party installations (no Visual Studio redistributable, no Windows SDK, etc.).

At least Windows 7 is required for this program to operate. On Windows 7 specifically, etwprof will not work if the system is out of date (an update package is required that was released in 2013). There are individual features that might be unavailable or limited on certain OS versions, see Limitations and known issues for details.

Only 64-bit OSes are supported at this time (profiling of 32-bit processes a.k.a. WoW64 is supported, however).

Download

The latest version of etwprof is 0.2 (released 2019-06-30). Binary distributions are available:

For previous versions, see Releases. For a list of fixes and improvements, check CHANGELOG.txt.

Documentation

More detailed documentation is available in the "Documentation" folder:

License

This project is released under the MIT License. Please see LICENSE.txt for details.

etwprof's People

Contributors

donpedro13 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.