All Projects → Biswa96 → TraceEvent

Biswa96 / TraceEvent

Licence: GPL-3.0 license
Trace events in real time sessions

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to TraceEvent

Applicationinsights Python
Application Insights SDK for Python
Stars: ✭ 114 (+338.46%)
Mutual labels:  telemetry, trace
ApplicationInsights-Ruby
Microsoft Application Insights SDK for Ruby
Stars: ✭ 30 (+15.38%)
Mutual labels:  telemetry, trace
tracelog
TraceLog is a highly configurable, flexible, portable, and simple to use debug logging system for Swift and Objective-C applications running on Linux, macOS, iOS, watchOS, and tvOS.
Stars: ✭ 52 (+100%)
Mutual labels:  trace, tracelog
Apex-Legends-SDK
Open Source Cheat for Apex Legends, designed for ease of use. Made to understand reversing of Apex Legends and respawn's modified source engine as well as their Easy Anti Cheat Implementation.
Stars: ✭ 101 (+288.46%)
Mutual labels:  reversing
HPR-Rocket-Flight-Computer
A flight computer for high-powered rockets based on the Teensy platform. 4 programmable pyro outputs, Mach immune flight events, air-start & two-stage capable w/ tilt-sensing safety features, GPS & live telemetry. High-rate data logging at 1000 samples per second. 4.0in x 1.25in x 0.5in fits in a 38mm tube coupler.
Stars: ✭ 33 (+26.92%)
Mutual labels:  telemetry
PerfSpect
system performance characterization tool based on linux perf
Stars: ✭ 45 (+73.08%)
Mutual labels:  telemetry
telemetry collector
build telemetry software stack for Cisco nx-os, support both telemetry dial-out and gNMI dial-in
Stars: ✭ 39 (+50%)
Mutual labels:  telemetry
micrometer-registry-newrelic
Micrometer registry implementation that sends data to New Relic as dimensional metrics.
Stars: ✭ 27 (+3.85%)
Mutual labels:  telemetry
smram parse
System Management RAM analysis tool
Stars: ✭ 50 (+92.31%)
Mutual labels:  reversing
barectf
Generator of ANSI C tracers which output CTF data streams
Stars: ✭ 50 (+92.31%)
Mutual labels:  trace
MsFontsFuzz
OpenType font file format fuzzer for Windows
Stars: ✭ 49 (+88.46%)
Mutual labels:  reversing
white-vest
White Vest is a project for collecting, logging, emitting, and visualizing telemetry from a model rocket containing an inboard Raspberry Pi Zero with an Arduino receiving telemetry.
Stars: ✭ 28 (+7.69%)
Mutual labels:  telemetry
radare2-book
Radare2 official book
Stars: ✭ 628 (+2315.38%)
Mutual labels:  reversing
peekaboo
An standalone execution trace library built on DynamoRIO.
Stars: ✭ 17 (-34.62%)
Mutual labels:  trace
QGISFMV
QGIS Full Motion Video (FMV)
Stars: ✭ 104 (+300%)
Mutual labels:  telemetry
chrome-trace
Process Chrome trace logs in Node.
Stars: ✭ 15 (-42.31%)
Mutual labels:  tracelog
Post-Tweaks
A post-installation batch script for Windows
Stars: ✭ 136 (+423.08%)
Mutual labels:  telemetry
ets2-dashboard-skin
Packaged application in VueJs to run on a Windows computer It allows to deport some information of the video games Eurotruck simulator and Americantruck simulator on another device (via the web browser). And thus have an increased immersion in these games.
Stars: ✭ 37 (+42.31%)
Mutual labels:  telemetry
opentelemetry-ruby
OpenTelemetry Ruby API & SDK, and related gems
Stars: ✭ 332 (+1176.92%)
Mutual labels:  telemetry
opencensus-go-exporter-stackdriver
OpenCensus Go exporter for Stackdriver Monitoring and Trace
Stars: ✭ 65 (+150%)
Mutual labels:  trace

TraceEvent

Licence Top Language Code size

Trace Events with real time sessions using (un)documented Windows APIs and NT APIs.

What is Event Tracing

See this Microsoft Documentation: Event Tracing

How to build

Clone this repository. Open the solution (.sln) or project (.vcxproj) file in Visual Studio and build it. Alternatively, run Visual Studio developer command prompt, go to the cloned folder and run msbuild command. You can also build with mingw-w64 toolchain. Go to the folder in terminal run make command for mingw-w64/msys2.

How to use

Download the executable from Release Page. Run this program as administrator every time. Here are the options.

Usage: TraceEvent.exe [--] [option] [argument]
Options:

    -E,  --enumguidinfo                      Enumerate registered trace GUIDs with all PID and Logger ID. 
    -e,  --enumguid                          Enumerate registered trace GUIDs. 
    -g,  --guid        <ProviderGUID>        Add Event Provider GUID with trace session. 
    -L,  --list                              List all registered trace sessions with details. 
    -l,  --log         <LoggerName>          Log events in real time. 
    -q,  --query       <LoggerName>          Query status of <LoggerName> trace session. 
    -S,  --start       <LoggerName>          Starts the <LoggerName> trace session. 
    -s,  --stop        <LoggerName>          Stops the <LoggerName> trace session. 
    -h,  --help                              Display this usage information. 

Start a session

Run this command as administrator: TraceEvent.exe --start <Session Name> --guid <Event Provider GUID>. Always use an unique session name otherwise this will show error. Event provider GUIDs can be found from this Powershell cmdlet: Get-EtwTraceProvider. Always use curly brackets to specify GUID strings. Find more GUIDs in Event Providers list. For example: TraceEvent.exe --start MyTrace --guid {12345678-1234-1234-1234-123457890ABCD}

Log events

Run this command as administrator: TraceEvent.exe --log <Session Name>. Only use session names which are started previously. If CPU usage becomes high then redirect output to a file. e.g. TraceEvent.exe --log MyTrace > FileName.txt

Stop a session

Run this command as administrator: TraceEvent.exe --stop <Session Name>. Stop only the previously opened tracing session. Using an already stopped session will show error. For example user this command to stop previously opened 'MyTrace' session: TraceEvent.exe --stop MyTrace.

Project Overview

Here are the overview of source files according to their dependencies:

TraceEvent\
    |
    +-- WinInternal: Crafted TRACE_CONTROL_FUNCTION_CLASS and NT API's definitions
    +-- PrintProperties: Display Event session details and it's security properties
    +-- CallBacks: Callback functions to log events messages
        |
        |   +-- Log: Helper functions to Log status and convert GUID to string
        |   +-- Helpers: Helper/Auxiliary functions for SecHost functions
        |   +-- SecHost: Internal functions from SecHost.dll, Advapi32.dll etc.
        |   |
        +-- TraceEvent: Functions to start, stop, log and other tasks
            |
            |    +-- wgetopt: Converted from Cygwin getopt file for wide characters
            |    |
            +-- main: Main function with option processing

Further Readings

Acknowledgments

Thanks to:

License

This project is licensed under GPLv3+. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions.

TraceEvent -- (c) Copyright 2018-19 Biswapriyo Nath

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].